hg: perform update after pulling during clone with share (
issue5103)
This is a graft of
60adda1a0188 and
a4692267bc2d from the default
branch. Combined, they address a bug with pooled shared storage where
an update may not update to the most recent revision when performing
a `hg clone`.
The patches should have been written against the stable branch in
the beginning. I screwed up.
# Extension to write out fake unsupported records into the merge state
#
#
from __future__ import absolute_import
from mercurial import (
cmdutil,
merge,
)
cmdtable = {}
command = cmdutil.command(cmdtable)
@command('fakemergerecord',
[('X', 'mandatory', None, 'add a fake mandatory record'),
('x', 'advisory', None, 'add a fake advisory record')], '')
def fakemergerecord(ui, repo, *pats, **opts):
ms = merge.mergestate.read(repo)
records = ms._makerecords()
if opts.get('mandatory'):
records.append(('X', 'mandatory record'))
if opts.get('advisory'):
records.append(('x', 'advisory record'))
ms._writerecords(records)