view tests/fakemergerecord.py @ 27577:f9e755736b0e

rebase: better error message when rebased changes are all in destination Before this patch, when rebasing a set of obsolete revisions that were plain pruned or already present in the destination, we were displaying: abort: no matching revisions This was not very helpful to understand what was going on, instead we replace the error message by: abort: all requested changesets have equivalents or were marked as obsolete (to force the rebase, set the config experimental.rebaseskipobsolete to False)
author Laurent Charignon <lcharignon@fb.com>
date Tue, 29 Dec 2015 15:32:12 -0800
parents a01ecbcfaf84
children b303b3817d0e
line wrap: on
line source

# 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)