sapling/hgext
Jun Wu 936199e02d rebase: use scmutil.cleanupnodes (issue5606) (BC)
This patch migrates rebase to use scmutil.cleanupnodes API. It simplifies
the code and makes rebase code reusable inside a transaction.

This is a BC because the backup file is no longer strip-backup/*-backup.hg,
but strip-backup/*-rebase.hg. The latter looks more reasonable since the
directory name is "strip-backup" so there is no need to repeat "backup".

I think the backup file name change is probably fine as a BC, since we have
changed it before (2e51c9a7a08f) and didn't get complains. The end result
of this series will be a much more consistent and unified backup names:

  command  | old backup file suffix       | new backup file suffix
  -------------------------------------------------------------------
  amend    | amend-backup.hg              | amend.hg
  histedit | backup.hg (could be 2 files) | histedit.hg (single file)
  rebase   | backup.hg                    | rebase.hg
  strip    | backup.hg                    | backup.hg

(note: backup files are under .hg/strip-backup)

It also fixes issue5606 as a side effect because the new "delayedstrip" code
path will carefully examine nodes (safestriproots) to make sure orphaned
changesets won't get stripped by accident.

Some warning messages are changed to the new "warning: orphaned descendants
detected, not stripping HASHES", which provides more information about
exactly what changesets are left behind.

Another minor behavior change is when there is an obsoleted changeset with a
successor in the destination branch, bookmarks pointing to that obsoleted
changeset will not be moved. I have commented in test-rebase-obsolete.t
explaining why that is more desirable.
2017-07-07 18:51:46 -07:00
..
convert convert: correct the documentation about whitespace in branchmap branches 2017-06-10 02:20:14 -04:00
fsmonitor fsmonitor: don't write out state if identity has changed (issue5581) 2017-06-12 15:34:31 -07:00
highlight highlight: put pygments import inside demandimport.deactivated 2017-06-18 23:05:54 -04:00
largefiles merge with stable 2017-06-20 16:33:46 -04:00
zeroconf zeroconf: blindly forward extra argument to the core config method 2017-07-01 21:57:17 +02:00
__init__.py hgext: officially turn 'hgext' into a namespace package 2016-02-27 12:56:26 +01:00
acl.py configitem: create a new list of each 'acl.sources' access 2017-07-02 23:10:33 +02:00
automv.py configitems: register the 'automv.similarity' config 2017-06-30 03:27:24 +02:00
blackbox.py configitems: register the 'blackbox.logsource' config 2017-06-30 03:28:18 +02:00
bugzilla.py bugzilla: fix typo in help text 2017-05-31 19:24:00 -03:00
censor.py revlog: rename constants (API) 2017-05-17 19:52:18 -07:00
children.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
churn.py cmdutil: factor out helper to create changeset_templater with literal template 2017-04-22 18:42:03 +09:00
clonebundles.py clonebundles: reference correct config option 2017-06-10 11:33:57 -07:00
color.py color: fix grammar in help text 2017-03-25 13:29:23 -04:00
eol.py eol: import 'error' as 'errormod' 2017-06-23 13:24:45 +02:00
extdiff.py cmdutil: rename template param to export to fntemplate 2017-05-20 20:15:05 -04:00
factotum.py configitems: register the 'factotum.service' config 2017-06-30 03:42:15 +02:00
fetch.py fetch: remove shorthand of --edit colliding against -e/-ssh in remoteopts (BC) 2017-06-24 02:39:13 +09:00
gpg.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
graphlog.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
hgk.py registrar: move cmdutil.command to registrar module (API) 2016-01-09 23:07:20 +09:00
histedit.py bundle: make applybundle() delegate v1 bundles to applybundle1() 2017-06-22 15:00:19 -07:00
journal.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
keyword.py keyword: wrap functions only once at loading keyword extension 2017-06-26 03:47:11 +09:00
logtoprocess.py logtoprocess: use lowercase for docstring title 2017-03-23 21:16:55 -07:00
mq.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
notify.py cmdutil: pass templatespec tuple directly to changeset_templater (API) 2017-04-22 19:02:47 +09:00
pager.py pager: if old pager extensions is enabled, respect pager.attend 2017-03-13 21:43:17 -07:00
patchbomb.py patchbomb: make getaddrs function easier to work with 2017-06-13 17:43:33 -04:00
purge.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
rebase.py rebase: use scmutil.cleanupnodes (issue5606) (BC) 2017-07-07 18:51:46 -07:00
record.py commands: move templates of common command options to cmdutil (API) 2017-05-14 16:19:47 +09:00
releasenotes.py releasenotes: improve parsing around bullet points 2017-06-23 17:15:53 +02:00
relink.py registrar: move cmdutil.command to registrar module (API) 2016-01-09 23:07:20 +09:00
schemes.py registrar: move cmdutil.command to registrar module (API) 2016-01-09 23:07:20 +09:00
share.py share: use dict literal instead of dict(key=value) 2017-06-24 13:20:30 +09:00
shelve.py shelve: don't reimplement mergestate.unresolved() 2015-12-01 09:19:54 -08:00
show.py show: document why accidentally quadratic is (probably) acceptable 2017-07-03 21:26:39 -07:00
sparse.py sparse: refactor update actions filtering and call from core 2017-07-06 16:29:31 -07:00
strip.py strip: use context manager for locking and transaction in stripcmd() 2017-06-19 11:20:29 -07:00
transplant.py registrar: move cmdutil.command to registrar module (API) 2016-01-09 23:07:20 +09:00
win32mbcs.py merge with stable 2017-06-03 16:33:28 -04:00
win32text.py win32text: directly use repo.vfs.join 2017-03-08 16:52:57 -08:00