[dev] Splitting the Horde repository without splitting it

Jan Schneider jan at horde.org
Tue Aug 7 12:47:58 UTC 2012


Zitat von Gunnar Wrobel <wrobel at pardus.de>:

> Hi!
>
> A while ago we discussed the merits of splitting the Horde git
> repostiory into its different module. I learned about "git subtree" last
> week and so far my testing indicated that it would allow us to get the
> best of both worlds: having both the monolithic repo (our main
> workspace) and the splitted repositories. Exchanging commits both ways
> should be possible.
>
> I described the approach with a blog post:
>
> http://log.pardus.de/2012/08/modular-git-with-git-subtree.html

I have to admit that I only understood half of it and it pretty much  
sounds like black magic to me. Nonetheless this sounds exciting too,  
and I'm curious whether this approach really holds what it promises.
Is there any precedence for using this or a similar approach in other  
projects? Is this the intended use case for git-subtree?

> In case people would agree to use "git subtree" we should probably add
> another repository on our dev server that will solely be used for the
> splitting. The post-receive hook should not end up in the main repo as
> that would mean that the splitting over 100 repos would occur with each
> an every commit. This would probably slow down the commit process and
> nothing I would like to do without more testing.

Once per commit or once per push? Also, what's the alternative?  
Synchronizing the repos manually or automatically once in a while?
Could we test this with real world data without changing our current  
repo design yet, i.e. is there a way back without breaking commit  
history if we find out this doesn't scale?

> We would also need to add repositories on github that would represent
> the different modules?

That could be done any time later, once we figured if this approach  
really solves our concerns.

> Any comments concerning "git subtree"?

I'm mostly hesitant yet because I really don't understand the  
technical background well enough to foresee any implications. This  
also seems to be a very young technology and I'm not sure if I'm  
really prepared to be an early adopter. All in all this sounds really  
interesting though and I'm glad you've spent some time to evaluate  
this option. We should definitely proceed with the evaluation.

Jan.
-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the dev mailing list