[Kde-scm-interest] Package splitting

Oswald Buddenhagen ossi at kde.org
Thu Jan 28 09:23:41 CET 2010


On Thu, Jan 28, 2010 at 02:22:20AM +0100, Pau Garcia i Quiles wrote:
> - automagically clone submodules when I clone the repository
> containing submodules (i. e. no need for git submodule init)
>
git clone recently gained the --recursive option.

> - be able to stick to the tip (HEAD, instead of a certain revision
> which I have to manually update)
>
this sounds like just specifying a ref instead of a sha1. doesn't it
already work?

anyway, the problem with this is that it is basically impossible to get
a consistent untagged checkout from the past then, i.e., one cannot get
even pseudo-atomicity. this is a real problem; i've experienced it
myself with the xorg repo (which has no meta structure at all, afaik).

this should be solvable by using the remote reflog by timestamp, but
afaik this is currently impossible, and keeping an indefinite reflog in
its current form wouldn't scale at all anyway (it's just a flat text
file).

the theoretically right solution would be actually locking the affected
repositories between the final pull [--rebase] and the push and
auto-updating the supermodules up to the top level. however, this
wouldn't scale too well, as the higher-up modules would be pretty
contended. maybe it would work if multi-repo commits would record their
requirement for an atomic push up to a certain level explicitly, and the
higher-up modules would be updated non-atomically.
of course, this would require a whole new infrastructure in git,
involving persistent connections for multiple operations, etc. ...



More information about the Kde-scm-interest mailing list