[dev] The layout of the git repositories

Gunnar Wrobel p at rdus.de
Sun Jan 18 20:15:33 UTC 2009


Hi!

For Horde 4 three git repositories ("horde", "horde-hatchery", and  
"horde-support") have been created. All of these seem to be intended  
as central source repositories where the developers push commits to.

I am by no means an expert in revision control systems but this seems  
to be a very uncommon setup for a distributed revision control system.  
In a distributed system each developer usually has his own branch(es)  
and people do pulls rather than pushes.

Is there a specific reason why this approach of a central repository  
has been chosen?

This is connected to the fact that the different horde modules are  
being stored within one big repository rather than storing them in  
separate repositories. Git does not support partial checkouts so a  
user will always have to checkout the full source tree. As the fact  
that git does not support partial checkouts is definitely not a defect  
in its design I tend to question the current module layout in the new  
repository.

When using distributed developer branches you'd assign maintainers for  
each of the available modules. These maintainers are responsible for  
releases of the modules they manage and usually pull from the people  
they trust. This will not work if all modules exist within one  
repository as you would need to care for things beside the modules you  
maintain.

The current setup gives me the impression as if we were coming from  
CVS - which we did ;) - and wanted to keep the logic behind CVS. But  
of course distributed revision control is pretty far away from CVS and  
uses some radically different concepts. And it feels strange if we try  
to use git for something it was definitely not meant to be used for.

But maybe I'm exaggerating and there are some good reasons for the  
current setup. Maybe somebody can give me a hint.

Cheers,

Gunnar

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



More information about the dev mailing list