chmod: create a new file when flags are set on a hardlinked file
For performance reasons we have several repositories where the files in the working
directory of 1 repo are hardlinks to the files of the other repo
When an update in one repo results in a chmod of a such a file, the hardlink
has to be deleted and replaced by a regular file to make sure that the change
does not happen in the other repo
# Extension to write out fake unsupported records into the merge state
#
#
from __future__ import absolute_import
from mercurial import (
merge,
registrar,
)
cmdtable = {}
command = registrar.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):
with repo.wlock():
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)