Local vs. non local commands

Alpar Juttner ajuttner.list at googlemail.com
Thu Aug 26 04:54:40 UTC 2010


> > Please reassure me that this is only a temporary behavior due to the
> > experimental status of subrepo and will eventually be fixed.
> 
> It is only when you do 'hg update' in the outer repository that it
> becomes known which changeset we need to update to in the subrepository.
> The pull is delayed until this time in order to not fetch unneeded
> changesets, branches, etc.

This is exactly what I complain about. Using 'pull', I get an
inconsistent repository for I cannot update to an arbitrary revision
offline, even if the subrepos are defined like 'sub = sub'.

In my opinion the 'pull' command should pull the new changesets, examine
the .hgsubstate in _all_ new changesets and then recursively pull all of
those changesets ids in the subrepos. If this process fails at some
subrepo, everything should be rolled back.

This is the only way that ensures a consistent repo structure at the end
of the process.

One again, I would love to see 'update' operation purely local in
mercurial (AKA the best _distributed_ VCS). c.f. Matt's recent arguments
why 'log', 'manifest' and similar commands do not and will not support
remote repositories.




More information about the Mercurial mailing list