Mercurial > hg
view tests/fakemergerecord.py @ 38625:52f19a840543
revset: add optimization for heads(commonancestors())
Previously, the only way to get these commits were (tested on
mozilla-central):
hg perfrevset 'heads(::a7cf55 and ::d8b15)'
! wall 4.988366 comb 4.960000 user 4.780000 sys 0.180000 (best of 3)
After this patch:
(python)
hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))'
! wall 0.002155 comb 0.000000 user 0.000000 sys 0.000000 (best of 1107)
(C)
hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))'
! wall 0.000568 comb 0.000000 user 0.000000 sys 0.000000 (best of 4646)
author | Sean Farley <sean@farley.io> |
---|---|
date | Tue, 26 Jun 2018 15:26:21 -0700 |
parents | 4dc6f0905722 |
children | 2372284d9457 |
line wrap: on
line source
# 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(b'fakemergerecord', [(b'X', b'mandatory', None, b'add a fake mandatory record'), (b'x', b'advisory', None, b'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((b'X', b'mandatory record')) if opts.get('advisory'): records.append((b'x', b'advisory record')) ms._writerecords(records)