[Kde-scm-interest] atomicity, again

Thiago Macieira thiago at kde.org
Mon Jun 15 22:57:46 CEST 2009


Jeff Mitchell wrote:
>Thomas Capricelli wrote:
>> Hello,
>>
>> I remember that one of the requirements that both git and mercurial
>> could not fulfill 'easily' was atomicity of commits across several
>> repositories.
>>
>> A feature has just been added in mercurial about this, called
>> 'subrepositories':
>>
>> http://www.selenic.com/blog/mercurial/sharedandsubrepos.html
>>
>> I thought that might be worth mentioning here, even if I know the
>> decision to go with git is (although not officially) already taken.
>
>Git has a similar feature (submodules) although I believe there are some
>drawbacks with it (for instance, I doubt it will ever support non-Git
>repos as submodules); Thiago probably knows more.

It will not.

Git submodules work fine for what they're meant to be: tracking the state 
of a sub-module for a given state of its parent module. However, it's not 
meant to serve as an atomic commit.

Reading the link above, it seems that Mercurial's solution is exactly like 
Git's. It does not solve the problem of atomic commits across multiple 
repositories.

However, I don't think that this is a problem per se. We need submodule 
support in KDE only to be able to tag a grand "KDE.git" repository. Aside 
from that, we don't need strict inter-module dependency, since socially 
this has not worked anyway.

We do need a way of maintaining a forest of repositories (cloning them and 
updating them with simple commands). Git has itself no solution for that, 
but an external solution called "repo" (used by Android) would help. I 
think Mercurial's forest extension would solve that, but I don't know it.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-scm-interest/attachments/20090615/da52ee82/attachment.sig 


More information about the Kde-scm-interest mailing list