[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