sapling/hgext3rd
Phil Cohen 948d47064a pushrebase: avoid diff'ing manifests for conflict detection
Summary:
Previously, pushrebase detected if it was ok to rebase a commit by diff'ing the
original common ancestor of the bundle and master with the new master. This
required reading both manifests. To improve performance, let's read the
changelog files list instead, which is much, much faster.

Merge commits don't have a files list that is representative of the actual diff,
so fall back to manifest diff in that case.

Test Plan: ran tests

Reviewers: #mercurial, stash, durham

Reviewed By: stash, durham

Subscribers: stash, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4774694

Signature: t1:4774694:1490601056:18f78ab7c3e35a1beb2a7775160271a3311e38bb
2017-03-28 17:18:59 -07:00
..
lfs lfs: fix a pyflakes issue 2017-03-28 15:43:52 -07:00
__init__.py debian: Do not package hgext3rd/__init__.py 2016-12-19 16:34:49 -08:00
absorb.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
allowunstable.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
arcdiff.py arcdiff: use absolute paths 2017-01-20 00:24:45 -08:00
backups.py codemod: replace repo.join to repo.vfs.join 2017-03-13 20:51:37 -07:00
bundle2hooks.py hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
catnotate.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
checkmessagehook.py checkmessagehook: use reposetup to setup a hook 2017-03-02 01:05:19 -08:00
chistedit.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
commitextras.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
debugcommitmessage.py extension to print commit message that would be supplied to editor 2016-10-03 04:39:51 -07:00
debuginhibit.py debuginhibit: remove warning if inhibit is not enabled 2017-02-25 15:28:15 -08:00
dialect.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
dirsync.py dirsync: rename in-repo config file to .hgdirsync 2017-03-20 10:55:43 -07:00
edrecord.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
errorredirect.py unit-tests: fixes 2017-01-03 05:59:55 -08:00
extorder.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
extutil.py extutil: create new package and move runshellfast here 2016-11-21 00:52:30 -08:00
fastlog.py codemod: fix compatibility with the upstream revset refactoring 2017-02-23 13:09:59 -08:00
fastpartialmatch.py fastpartialmatch: add amended commits to the index 2017-03-02 01:14:09 -08:00
fbamend.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
fbconduit.py fbconduit: fix error handling in gitnode() revset 2017-02-15 12:35:06 -08:00
fbhistedit.py codemod: replace repo.join to repo.vfs.join 2017-03-13 20:51:37 -07:00
fbmetaedit.py fbmetaedit: intoduce the extension 2017-03-15 07:40:26 -07:00
generic_bisect.py fastpartialmatch: use bisect to quickly find matching revisions 2017-02-02 05:12:10 -08:00
githelp.py hgext: githelp support for commit -C 2016-12-02 10:41:54 +00:00
gitlookup.py opener: replace repo.*opener with repo.*vfs 2017-03-07 10:27:05 -08:00
gitrevset.py templates: fix help messages for template keywords 2017-01-19 12:52:54 -08:00
grepdiff.py grepdiff: fix to match upstream 2017-03-12 12:49:18 -07:00
grpcheck.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
hiddenerror.py hiddenerror: fix out of bounds error 2017-02-25 15:26:19 -08:00
inhibitwarn.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
linkrevcache.py linkrevcache: update documentation 2016-12-02 00:59:48 +00:00
logginghelper.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
mergedriver.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
morestatus.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
myparent.py templates: fix help messages for template keywords 2017-01-19 12:52:54 -08:00
nointerrupt.py hgext: move single file extensions to hgext3rd 2016-07-08 13:15:42 +01:00
ownercheck.py ownercheck: new extension to prevent operations on repos not owned 2016-07-26 13:10:15 +01:00
patchpython.py patchpython: fix test-check tests 2016-10-20 16:03:31 +01:00
patchrmdir.pyx patchrmdir: new extension to workaround rmdir kernel issues 2017-03-15 18:55:48 -07:00
perftweaks.py perftweaks: remove hardlink tweak 2017-03-27 10:43:01 -07:00
phabdiff.py templates: fix help messages for template keywords 2017-01-19 12:52:54 -08:00
phabstatus.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
phrevset.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
pullcreatemarkers.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
pushrebase.py pushrebase: avoid diff'ing manifests for conflict detection 2017-03-28 17:18:59 -07:00
pushvars.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
rage.py rage: fix and update 'hg rage' output 2017-03-07 01:27:12 -08:00
reset.py codemod: replace repo.join to repo.vfs.join 2017-03-13 20:51:37 -07:00
sampling.py sampling: fix comment 2017-02-07 00:39:26 -08:00
show.py fb-hgext: fix test-check-code.t failures 2017-03-24 15:22:31 -07:00
sigtrace.py sigtrace: new extension provides stack traces on signal 2017-03-07 17:25:40 -08:00
simplecache.py testedwith: change testedwith to "ships-with-fb-hgext" 2016-11-29 13:24:07 +00:00
smartlog.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
sparse.py sparse: update hg.updaterepo wrapper to match upstream 2017-03-07 10:27:05 -08:00
sshaskpass.py sshaskpass: do not import mercurial 2017-01-05 17:04:34 +00:00
tweakdefaults.py codemod: get rid of ui.backupconfig 2017-03-17 19:42:50 -07:00
uncommit.py uncommit: don't lose copy information of remaining files (issue5403) 2017-02-01 02:17:40 -08:00
upgradegeneraldelta.py pyflakes: fix all pyflakes issues 2016-11-25 00:23:21 +00:00
whereami.py whereami: add extension 2017-02-17 16:01:02 +00:00