felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Lietz <apa...@oliverlietz.de>
Subject Re: git?
Date Mon, 26 Oct 2015 20:17:06 GMT
On Monday 26 October 2015 11:23:32 Robert Munteanu wrote:
> On Sun, 2015-10-25 at 07:47 +0100, Christian Schneider wrote:
> > I am not sure if one git repo for everything would be a good idea.
> > The
> > main reason is that in git (unlike in subversion) each branch and tag
> > you do contains all the other unrelated projects too.
> > I think it would also be quite difficult to checkout a state of the
> > repo
> > where you need bundle A in branch A1 and bundle B in branch B2.
> > Probably
> > this would mean that you need to checkout two instances of the repo
> > to have both branches visisble at the same time. You would then also
> > have to be really careful to not pick a project from the wrong
> > checkout
> > as it would be in kind of an undefined state there.
> > 
> > The other solution of having one git repo per bundle also seems to be
> > quite difficult to manage as you need to checkout and sync every such
> > checkout in the correct way. I have seen a project that does this at
> > a
> > customer and it is not very easy to work in this structure.
> > 
> > In the Aries project we went for kind of a compromise.
> > 
> > We aim for releases by subproject. So each subproject can go into one
> > git repo.
> > The advantage is that each tag in git really covers the whole
> > subproject. So from the git side this is natural.
> 
> If you have multiple git subprojects you can tie them into one git
> repository without resorting to submodules.
> 
> I've used a tool called gitslave [1] with very good results when
> splitting a large repository into multiple smaller ones ( 94 at the
> moment ).
> 
> gitslave allows you to define a single 'master' repository which
> minimally needs to hold a .gitslave file which points to the child
> repositories. You can then use the 'gits' command to run commands over
> multiple repositories, e.g.
> 
> * gits populate to create the child repositories
> * gits pull to run 'git pull' over all child repositoroes
> * gits push to 'run git push' over all child repositories
> 
> ... I guess you get the idea.

gitslave is no longer maintained, I suggest to look at Google repo[0] at 
least.

Regards,
O.

[0] https://code.google.com/p/git-repo/

> HTH,
> 
> Robert
> 
> 
> [1]: http://gitslave.sourceforge.net/
[...]


Mime
View raw message