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.
This commit is contained in:
Jun Wu 2017-07-07 18:51:46 -07:00
parent daadde7a5c
commit 936199e02d
24 changed files with 134 additions and 175 deletions

View File

@ -139,7 +139,6 @@ class rebaseruntime(object):
# dict will be what contains most of the rebase progress state.
self.state = {}
self.activebookmark = None
self.currentbookmarks = None
self.dest = None
self.skipped = set()
self.destancestors = set()
@ -364,8 +363,7 @@ class rebaseruntime(object):
self.destancestors = repo.changelog.ancestors([self.dest],
inclusive=True)
# Keep track of the current bookmarks in order to reset them later
self.currentbookmarks = repo._bookmarks.copy()
# Keep track of the active bookmarks in order to reset them later
self.activebookmark = self.activebookmark or repo._activebookmark
if self.activebookmark:
bookmarks.deactivate(repo)
@ -498,19 +496,6 @@ class rebaseruntime(object):
if 'qtip' in repo.tags():
updatemq(repo, self.state, self.skipped, **opts)
if self.currentbookmarks:
# Nodeids are needed to reset bookmarks
nstate = {}
for k, v in self.state.iteritems():
if v > nullmerge and v != k:
nstate[repo[k].node()] = repo[v].node()
elif v == revprecursor:
succ = self.obsoletenotrebased[k]
nstate[repo[k].node()] = repo[succ].node()
# XXX this is the same as dest.node() for the non-continue path --
# this should probably be cleaned up
destnode = repo[self.dest].node()
# restore original working directory
# (we do this before stripping)
newwd = self.state.get(self.originalwd, self.originalwd)
@ -523,14 +508,6 @@ class rebaseruntime(object):
ui.note(_("update back to initial working directory parent\n"))
hg.updaterepo(repo, newwd, False)
if self.currentbookmarks:
with repo.transaction('bookmark') as tr:
updatebookmarks(repo, destnode, nstate,
self.currentbookmarks, tr)
if self.activebookmark not in repo._bookmarks:
# active bookmark was divergent one and has been deleted
self.activebookmark = None
if not self.keepf:
collapsedas = None
if self.collapsef:
@ -546,7 +523,7 @@ class rebaseruntime(object):
skippedlen = len(self.skipped)
ui.note(_("%d revisions have been skipped\n") % skippedlen)
if (self.activebookmark and
if (self.activebookmark and self.activebookmark in repo._bookmarks and
repo['.'].node() == repo._bookmarks[self.activebookmark]):
bookmarks.activate(repo, self.activebookmark)
@ -1089,16 +1066,6 @@ def updatemq(repo, state, skipped, **opts):
mq.seriesdirty = True
mq.savedirty()
def updatebookmarks(repo, destnode, nstate, originalbookmarks, tr):
'Move bookmarks to their correct changesets, and delete divergent ones'
marks = repo._bookmarks
for k, v in originalbookmarks.iteritems():
if v in nstate:
# update the bookmarks for revs that have moved
marks[k] = nstate[v]
bookmarks.deletedivergent(repo, [destnode], k)
marks.recordchange(tr)
def storecollapsemsg(repo, collapsemsg):
'Store the collapse message to allow recovery'
collapsemsg = collapsemsg or ''
@ -1325,34 +1292,19 @@ def clearrebased(ui, repo, state, skipped, collapsedas=None):
If `collapsedas` is not None, the rebase was a collapse whose result if the
`collapsedas` node."""
if obsolete.isenabled(repo, obsolete.createmarkersopt):
markers = []
tonode = repo.changelog.node
mapping = {}
if True:
for rev, newrev in sorted(state.items()):
if newrev >= 0 and newrev != rev:
if rev in skipped:
succs = ()
elif collapsedas is not None:
succs = (repo[collapsedas],)
succs = (collapsedas,)
else:
succs = (repo[newrev],)
markers.append((repo[rev], succs))
if markers:
obsolete.createmarkers(repo, markers, operation='rebase')
else:
rebased = [rev for rev in state
if state[rev] > nullmerge and state[rev] != rev]
if rebased:
stripped = []
for root in repo.set('roots(%ld)', rebased):
if set(repo.changelog.descendants([root.rev()])) - set(state):
ui.warn(_("warning: new changesets detected "
"on source branch, not stripping\n"))
else:
stripped.append(root.node())
if stripped:
# backup the old csets by default
repair.strip(ui, repo, stripped, "all")
succs = (tonode(newrev),)
mapping[tonode(rev)] = succs
scmutil.cleanupnodes(repo, mapping, 'rebase')
def pullrebase(orig, ui, repo, *args, **opts):
'Call rebase after pull if the latter has been invoked with --rebase'

View File

@ -38,7 +38,7 @@ rebase
$ hg rebase -s two -d one
rebasing 3:2ae46b1d99a7 "3" (tip two)
saved backup bundle to $TESTTMP/.hg/strip-backup/2ae46b1d99a7-e6b057bc-backup.hg (glob)
saved backup bundle to $TESTTMP/.hg/strip-backup/2ae46b1d99a7-e6b057bc-rebase.hg (glob)
$ hg log
changeset: 3:42e5ed2cdcf4

View File

@ -119,7 +119,7 @@ Verify disabling copy tracing still keeps copies from rebase source
$ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.disablecopytrace=True
rebasing 2:6adcf8c12e7d "copy b->x"
saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-backup.hg (glob)
saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-rebase.hg (glob)
$ hg up -q 3
$ hg log -f x -T '{rev} {desc}\n'
3 copy b->x
@ -152,7 +152,7 @@ Verify we duplicate existing copies, instead of detecting them
$ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.disablecopytrace=True
rebasing 3:47e1a9e6273b "copy a->b (2)" (tip)
saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-backup.hg (glob)
saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-rebase.hg (glob)
$ hg log -G -f b
@ changeset: 3:76024fb4b05b

View File

@ -1205,7 +1205,7 @@ rebased or not.
Invoking status precommit hook
M sub/normal4
M sub2/large6
saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-dd1d9f80-backup.hg (glob)
saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg (glob)
0 largefiles cached
$ [ -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
$ hg log --template '{rev}:{node|short} {desc|firstline}\n'
@ -1264,7 +1264,7 @@ rebased or not.
Invoking status precommit hook
M sub/normal4
M sub2/large6
saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-dd1d9f80-backup.hg (glob)
saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg (glob)
$ hg log --template '{rev}:{node|short} {desc|firstline}\n'
9:598410d3eb9a modify normal file largefile in repo d
8:a381d2c8c80e modify normal file and largefile in repo b

View File

@ -75,7 +75,7 @@ Test deleting divergent bookmarks from dest (issue3685)
$ hg rebase -s Y -d 3
rebasing 2:49cb3485fa0c "C" (Y Z)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-126f3e97-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/49cb3485fa0c-126f3e97-rebase.hg (glob)
$ hg tglog
@ 3: 'C' bookmarks: Y Z
@ -97,7 +97,7 @@ Do not try to keep active but deleted divergent bookmark
$ hg rebase -s W -d .
rebasing 3:41acb9dca9eb "D" (tip W)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-b35a6a63-backup.hg (glob)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/41acb9dca9eb-b35a6a63-rebase.hg (glob)
$ hg bookmarks
W 3:0d3554f74897
@ -116,7 +116,7 @@ Keep bookmarks to the correct rebased changeset
$ hg rebase -s 1 -d 3
rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/6c81ed0049f8-a687065f-rebase.hg (glob)
$ hg tglog
@ 3: 'C' bookmarks: Y Z
@ -139,7 +139,7 @@ Keep active bookmark on the correct changeset
$ hg rebase -d W
rebasing 1:6c81ed0049f8 "B" (X)
rebasing 2:49cb3485fa0c "C" (Y Z)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-a687065f-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/6c81ed0049f8-a687065f-rebase.hg (glob)
$ hg tglog
o 3: 'C' bookmarks: Y Z
@ -179,7 +179,7 @@ rebase --continue with bookmarks present (issue3802)
continue: hg rebase --continue
$ hg rebase --continue
rebasing 3:3d5fa227f4b5 "C" (Y Z)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-c6ea2371-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/3d5fa227f4b5-c6ea2371-rebase.hg (glob)
$ hg tglog
@ 4: 'C' bookmarks: Y Z
|
@ -209,4 +209,4 @@ as --rev arguments (issue3950)
rebasing 5:345c90f326a4 "bisect"
rebasing 6:f677a2907404 "bisect2"
rebasing 7:325c16001345 "bisect3" (tip bisect)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-b4840586-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/345c90f326a4-b4840586-rebase.hg (glob)

View File

@ -104,7 +104,7 @@ Rebase part of branch2 (5-6) onto branch3 (8):
$ hg rebase -s 5 -d 8
rebasing 5:635859577d0b "D"
rebasing 6:5097051d331d "E"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/635859577d0b-89160bff-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/635859577d0b-89160bff-rebase.hg (glob)
$ hg branches
branch3 8:466cdfb14b62
@ -166,7 +166,7 @@ Rebase head of branch3 (8) onto branch2 (6):
$ hg rebase -s 8 -d 6
rebasing 8:4666b71e8e32 "F" (tip)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/4666b71e8e32-fc1c4e96-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/4666b71e8e32-fc1c4e96-rebase.hg (glob)
$ hg branches
branch2 8:6b4bdc1b5ac0
@ -233,7 +233,7 @@ Rebase entire branch3 (7-8) onto branch2 (6):
rebasing 7:653b9feb4616 "branch3"
note: rebase of 7:653b9feb4616 created no changes to commit
rebasing 8:4666b71e8e32 "F" (tip)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/653b9feb4616-3c88de16-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/653b9feb4616-3c88de16-rebase.hg (glob)
$ hg branches
branch2 7:6b4bdc1b5ac0
@ -480,4 +480,4 @@ Turn most changeset public
HGEDITFORM=rebase.merge
rebasing 8:326cfedc031c "I" (tip)
HGEDITFORM=rebase.normal
saved backup bundle to $TESTTMP/a3/c4/.hg/strip-backup/361a99976cc9-35e980d0-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/c4/.hg/strip-backup/361a99976cc9-35e980d0-rebase.hg (glob)

View File

@ -138,7 +138,7 @@ Solve the conflict and go on:
continue: hg rebase --continue
$ hg rebase --continue
rebasing 5:01e6ebbd8272 "F" (tip)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/01e6ebbd8272-6fd3a015-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/01e6ebbd8272-6fd3a015-rebase.hg (glob)
$ hg tglog
@ 5:draft 'F' notdefault

View File

@ -78,7 +78,7 @@ Rebasing B onto H and collapsing changesets with different phases:
HG: added C
HG: added D
====
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglogp
@ 5:secret 'Collapsed revision
@ -118,7 +118,7 @@ Rebasing E onto H:
$ hg rebase --source 4 --collapse --dest 7
rebasing 4:9520eea781bc "E"
rebasing 6:eea13746799a "G"
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-fcd8edd4-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
$ hg tglog
o 6: 'Collapsed revision
@ -161,7 +161,7 @@ Rebasing G onto H with custom message:
rebasing 4:9520eea781bc "E"
rebasing 6:eea13746799a "G"
HGEDITFORM=rebase.collapse
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
$ hg tglog
o 6: 'custom message'
@ -271,7 +271,7 @@ Rebase and collapse - E onto H:
rebasing 4:8a5212ebc852 "E"
rebasing 5:7f219660301f "F"
rebasing 6:c772a8b2dc17 "G"
saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-75046b61-backup.hg (glob)
saved backup bundle to $TESTTMP/b1/.hg/strip-backup/8a5212ebc852-75046b61-rebase.hg (glob)
$ hg tglog
o 5: 'Collapsed revision
@ -424,7 +424,7 @@ Rebase and collapse - E onto I:
merging E
rebasing 6:55a44ad28289 "G"
rebasing 7:417d3b648079 "H"
saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-f95d0879-backup.hg (glob)
saved backup bundle to $TESTTMP/c1/.hg/strip-backup/8a5212ebc852-f95d0879-rebase.hg (glob)
$ hg tglog
o 5: 'Collapsed revision
@ -517,7 +517,7 @@ Rebase and collapse - B onto F:
rebasing 2:f838bfaca5c7 "C"
rebasing 3:7bbcd6078bcc "D"
rebasing 4:0a42590ed746 "E"
saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-9a3f7d92-backup.hg (glob)
saved backup bundle to $TESTTMP/d1/.hg/strip-backup/27547f69f254-9a3f7d92-rebase.hg (glob)
$ hg tglog
o 2: 'Collapsed revision
@ -602,7 +602,7 @@ Interactions between collapse and keepbranches
$ hg rebase -s 5 -d 4
rebasing 5:fbfb97b1089a "E" (tip)
note: rebase of 5:fbfb97b1089a created no changes to commit
saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-backup.hg (glob)
saved backup bundle to $TESTTMP/e/.hg/strip-backup/fbfb97b1089a-553e1d85-rebase.hg (glob)
$ hg tglog
@ 4: 'E'
|
@ -660,7 +660,7 @@ Rebase, collapse and copies
rebasing 3:338e84e2e558 "move2" (tip)
merging f and c to c
merging e and g to g
saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-ef8ef003-backup.hg (glob)
saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-ef8ef003-rebase.hg (glob)
$ hg st
$ hg st --copies --change tip
A d
@ -701,7 +701,7 @@ Test collapsing in place
$ hg rebase --collapse -b . -d 0
rebasing 1:1352765a01d4 "change"
rebasing 2:64b456429f67 "Collapsed revision" (tip)
saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-45a352ea-backup.hg (glob)
saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-45a352ea-rebase.hg (glob)
$ hg st --change tip --copies
M a
M c
@ -793,7 +793,7 @@ Test collapsing changes that add then remove a file
$ hg rebase -d 0 -r "1::2" --collapse -m collapsed
rebasing 1:6d8d9f24eec3 "a"
rebasing 2:1cc73eca5ecc "b" (tip foo)
saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-77d3b6e2-backup.hg (glob)
saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-77d3b6e2-rebase.hg (glob)
$ hg log -G --template "{rev}: '{desc}' {bookmarks}"
@ 1: 'collapsed' foo
|
@ -834,7 +834,7 @@ running into merge conflict and invoking rebase --continue.
continue: hg rebase --continue
$ hg rebase --continue
rebasing 2:b8d8db2b242d "a-dev" (tip)
saved backup bundle to $TESTTMP/collapse_remember_message/.hg/strip-backup/b8d8db2b242d-f474c19a-backup.hg (glob)
saved backup bundle to $TESTTMP/collapse_remember_message/.hg/strip-backup/b8d8db2b242d-f474c19a-rebase.hg (glob)
$ hg log
changeset: 2:45ba1d1a8665
tag: tip

View File

@ -87,7 +87,7 @@ Conclude rebase:
already rebased 3:3163e20567cc "L1" as 3e046f2ecedb
rebasing 4:46f0b057b5c0 "L2"
rebasing 5:8029388f38dc "L3" (mybook)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/3163e20567cc-5ca4656e-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/3163e20567cc-5ca4656e-rebase.hg (glob)
$ hg tglog
@ 5:secret 'L3' mybook
@ -287,7 +287,7 @@ Check that the right ancestors is used while rebasing a merge (issue4041)
bundle2-output-bundle: "HG20", (1 params) 2 parts total
bundle2-output-part: "changegroup" (params: 1 mandatory 1 advisory) streamed payload
bundle2-output-part: "phase-heads" 24 bytes payload
saved backup bundle to $TESTTMP/issue4041/.hg/strip-backup/e31216eec445-15f7a814-backup.hg (glob)
saved backup bundle to $TESTTMP/issue4041/.hg/strip-backup/e31216eec445-15f7a814-rebase.hg (glob)
3 changesets found
list of changesets:
4c9fbe56a16f30c0d5dcc40ec1a97bbe3325209c
@ -400,16 +400,20 @@ Test rebase with obsstore turned on and off (issue5606)
rebasing 1:112478962961 "B" (B)
not rebasing ignored 2:26805aba1e60 "C" (C)
rebasing 3:f585351a92f8 "D" (D)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/f585351a92f8-cb2a9b47-backup.hg (glob)
warning: orphaned descendants detected, not stripping 112478962961
saved backup bundle to $TESTTMP/b/.hg/strip-backup/f585351a92f8-e536a9e4-rebase.hg (glob)
$ rm .hg/localtags
$ hg tglog
o 3:draft 'D'
o 5:draft 'D'
|
o 2:draft 'B'
o 4:draft 'B'
|
@ 1:draft 'E'
@ 3:draft 'E'
|
| o 2:draft 'C'
| |
| o 1:draft 'B'
|/
o 0:draft 'A'
Note the above graph is wrong since C got stripped incorrectly.

View File

@ -21,15 +21,15 @@ Require a destination
[255]
$ hg rebase -d 1
rebasing 2:5db65b93a12b "cc" (tip)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5db65b93a12b-4fb789ec-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/5db65b93a12b-4fb789ec-rebase.hg (glob)
$ hg rebase -d 0 -r . -q
$ HGPLAIN=1 hg rebase
rebasing 2:889b0bc6a730 "cc" (tip)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/889b0bc6a730-41ec4f81-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/889b0bc6a730-41ec4f81-rebase.hg (glob)
$ hg rebase -d 0 -r . -q
$ hg --config commands.rebase.requiredest=False rebase
rebasing 2:279de9495438 "cc" (tip)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/279de9495438-ab0a5128-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/279de9495438-ab0a5128-rebase.hg (glob)
Requiring dest should not break continue or other rebase options
$ hg up 1 -q
@ -56,7 +56,7 @@ Requiring dest should not break continue or other rebase options
continue: hg rebase --continue
$ hg rebase --continue
rebasing 3:0537f6b50def "dc" (tip)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0537f6b50def-be4c7386-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0537f6b50def-be4c7386-rebase.hg (glob)
$ cd ..

View File

@ -49,7 +49,7 @@ Rebasing D onto H detaching from C:
$ hg phase --force --secret 3
$ hg rebase -s 3 -d 7
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
$ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
o 7:secret 'D'
@ -102,7 +102,7 @@ Rebasing C onto H detaching from B:
$ hg rebase -s 2 -d 7
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg tglog
o 7: 'D'
@ -157,7 +157,7 @@ Rebasing B onto H using detach (same as not using it):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
o 7: 'D'
@ -213,7 +213,7 @@ Rebasing C onto H detaching from B and collapsing:
$ hg rebase --collapse -s 2 -d 7
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
o 6:secret 'Collapsed revision
@ -275,7 +275,7 @@ Rebasing across null as ancestor
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
o 8: 'D'
@ -300,7 +300,7 @@ Rebasing across null as ancestor
$ hg rebase -d 5 -s 7
rebasing 7:13547172c9c0 "C"
rebasing 8:4e27a76c371a "D" (tip)
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/13547172c9c0-35685ded-backup.hg (glob)
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/13547172c9c0-35685ded-rebase.hg (glob)
$ hg tglog
o 8: 'D'
|
@ -341,7 +341,7 @@ Verify that target is not selected as external rev (issue3085)
rebasing 8:9790e768172d "I"
rebasing 9:5d7b11f5fb97 "Merge"
rebasing 10:9427d4d5af81 "J" (tip)
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/9790e768172d-c2111e9d-backup.hg (glob)
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/9790e768172d-c2111e9d-rebase.hg (glob)
$ hg tglog
@ 8: 'Collapsed revision
@ -395,7 +395,7 @@ Ensure --continue restores a correct state (issue3046) and phase:
$ hg rebase -c
rebasing 8:6215fafa5447 "H2" (tip)
note: rebase of 8:6215fafa5447 created no changes to commit
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6215fafa5447-5804ebd5-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6215fafa5447-5804ebd5-rebase.hg (glob)
$ hg log -G --template "{rev}:{phase} '{desc}' {branches}\n"
@ 7:draft 'H'
|

View File

@ -112,7 +112,7 @@ Solve the conflict and go on:
$ hg rebase --continue
already rebased 1:27547f69f254 "B" as 45396c49d53b
rebasing 2:965c486023db "C"
warning: new changesets detected on source branch, not stripping
warning: orphaned descendants detected, not stripping 27547f69f254, 965c486023db
$ hg tglogp
o 7:draft 'C'
@ -311,7 +311,7 @@ Test rebase interrupted by hooks
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-backup.hg (glob)
saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
$ hg tglogp
@ 6:secret 'F'
|
@ -366,7 +366,7 @@ Test rebase interrupted by hooks
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-backup.hg (glob)
saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
$ hg tglogp
@ 6:secret 'F'
|
@ -416,7 +416,7 @@ Test rebase interrupted by hooks
$ hg rebase --continue
already rebased 2:965c486023db "C" as 401ccec5e39f
rebasing 6:a0b2430ebfb8 "F"
saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-backup.hg (glob)
saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
$ hg tglogp
@ 6:secret 'F'
|
@ -459,7 +459,7 @@ Make sure merge state is cleaned up after a no-op rebase merge (issue5494)
$ hg rebase --continue
rebasing 1:fdaca8533b86 "b"
note: rebase of 1:fdaca8533b86 created no changes to commit
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg (glob)
$ hg resolve --list
$ test -f .hg/merge
[1]

View File

@ -53,7 +53,7 @@ Rebase with no arguments - single revision in source branch:
$ hg rebase
rebasing 2:87c180a611f2 "l1"
saved backup bundle to $TESTTMP/a/.hg/strip-backup/87c180a611f2-a5be192d-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/87c180a611f2-a5be192d-rebase.hg (glob)
$ hg tglog
@ 4: 'l1'
@ -113,7 +113,7 @@ Rebase with no arguments - single revision in target branch:
$ hg rebase
rebasing 2:87c180a611f2 "l1"
rebasing 3:1ac923b736ef "l2"
saved backup bundle to $TESTTMP/b/.hg/strip-backup/87c180a611f2-b980535c-backup.hg (glob)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/87c180a611f2-b980535c-rebase.hg (glob)
$ hg tglog
@ 4: 'l2'

View File

@ -74,7 +74,7 @@ already has one local mq patch
324 (manifests)
129 p0
129 p1
saved backup bundle to $TESTTMP/a/.hg/strip-backup/13a46ce44f60-5da6ecfb-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/13a46ce44f60-5da6ecfb-rebase.hg (glob)
2 changesets found
uncompressed size of bundle content:
403 (changelog)
@ -166,7 +166,7 @@ already has one local mq patch
rebasing 5:681a378595ba "r5" (r5)
rebasing 6:512a1f24768b "r6" (qtip r6)
note: rebase of 6:512a1f24768b created no changes to commit
saved backup bundle to $TESTTMP/b/.hg/strip-backup/b4bffa6e4776-b9bfb84d-backup.hg (glob)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/b4bffa6e4776-b9bfb84d-rebase.hg (glob)
$ hg tglog
@ 8: 'r5' tags: qtip r5 tip

View File

@ -88,7 +88,7 @@ Fix the 2nd conflict:
$ hg rebase -c
already rebased 2:3504f44bffc0 "P0" (f.patch qbase) as ebe9914c0d1c
rebasing 3:929394423cd3 "P1" (f2.patch qtip)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/3504f44bffc0-30595b40-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/3504f44bffc0-30595b40-rebase.hg (glob)
$ hg tglog
@ 3: 'P1' tags: f2.patch qtip tip
@ -205,7 +205,7 @@ Rebase the applied mq patches:
$ hg rebase -s 2 -d 1
rebasing 2:0c587ffcb480 "P0 (git)" (f_git.patch qbase)
rebasing 3:c7f18665e4bc "P1" (f.patch qtip tip)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/0c587ffcb480-0ea5695f-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/0c587ffcb480-0ea5695f-rebase.hg (glob)
$ hg qci -m 'save patch state'

View File

@ -72,7 +72,7 @@ Branch name containing a dash (issue3181)
rebasing 6:eea13746799a "G"
rebasing 7:02de42196ebe "H"
rebasing 9:cb039b7cae8e "dev-two named branch" (tip)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-24cb8001-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/24b6387c8c8c-24cb8001-rebase.hg (glob)
$ hg tglog
@ 9: 'dev-two named branch' dev-two
@ -101,7 +101,7 @@ Branch name containing a dash (issue3181)
rebasing 7:4b988a958030 "G"
rebasing 8:31d0e4ba75e6 "H"
rebasing 9:9e70cd31750f "dev-two named branch" (tip)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-c4ee9ef5-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-c4ee9ef5-rebase.hg (glob)
$ hg tglog
@ 9: 'dev-two named branch' dev-two
@ -161,7 +161,7 @@ Branch name containing a dash (issue3181)
rebasing 7:1a1e6f72ec38 "G"
rebasing 8:904590360559 "H"
rebasing 9:59c2e59309fe "dev-two named branch"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/bc8139ee757c-f11c1080-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/bc8139ee757c-f11c1080-rebase.hg (glob)
$ hg tglog
o 9: 'dev-two named branch' dev-two
@ -190,7 +190,7 @@ Branch name containing a dash (issue3181)
rebasing 7:549f007a9f5f "G"
rebasing 8:12b2bc666e20 "H"
rebasing 9:71325f8bc082 "dev-two named branch" (tip)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-6cdd1a52-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/643fc9128048-6cdd1a52-rebase.hg (glob)
$ hg tglog
o 9: 'dev-two named branch' dev-two
@ -221,7 +221,7 @@ Rebasing descendant onto ancestor across different named branches
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
o 9: 'D'
@ -253,7 +253,7 @@ Rebasing descendant onto ancestor across different named branches
rebasing 7:3bdb949809d9 "B"
rebasing 8:a0d543090fa4 "C"
rebasing 9:e9f862ce8bad "D" (tip)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/3944801ae4ea-fb46ed74-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/3944801ae4ea-fb46ed74-rebase.hg (glob)
$ hg tglog
o 9: 'D'
@ -290,7 +290,7 @@ Reopen branch by rebase
rebasing 7:160b0930ccc6 "B"
rebasing 8:810110211f50 "C"
rebasing 9:e522577ccdbd "D"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/8e279d293175-b023e27c-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/8e279d293175-b023e27c-rebase.hg (glob)
$ cd ..
@ -329,7 +329,7 @@ rebase 'b2' to another lower branch head
$ hg rebase
rebasing 2:792845bb77ee "b2"
note: rebase of 2:792845bb77ee created no changes to commit
saved backup bundle to $TESTTMP/case1/.hg/strip-backup/792845bb77ee-627120ee-backup.hg (glob)
saved backup bundle to $TESTTMP/case1/.hg/strip-backup/792845bb77ee-627120ee-rebase.hg (glob)
$ hg tglog
o 2: 'c1' c
|
@ -344,7 +344,7 @@ rebase 'b1' on top of the tip of the branch ('b2') - ignoring the tip branch ('c
$ hg up -qr 1
$ hg rebase
rebasing 1:40039acb7ca5 "b1"
saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-342b72d1-backup.hg (glob)
saved backup bundle to $TESTTMP/case2/.hg/strip-backup/40039acb7ca5-342b72d1-rebase.hg (glob)
$ hg tglog
@ 3: 'b1' b
|
@ -395,7 +395,7 @@ rebase 'c1' to the branch head 'c2' that is closed
rebasing 3:76abc1c6f8c7 "b1"
rebasing 4:8427af5d86f2 "c2 closed" (tip)
note: rebase of 4:8427af5d86f2 created no changes to commit
saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-backup.hg (glob)
saved backup bundle to $TESTTMP/case2/.hg/strip-backup/76abc1c6f8c7-cd698d13-rebase.hg (glob)
$ hg tglog
o 3: 'b1' x
|

View File

@ -44,7 +44,7 @@
merging a
rebasing 2:30ae917c0e4f "C"
merging a
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0f4f7cb4f549-82b3b163-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/0f4f7cb4f549-82b3b163-rebase.hg (glob)
$ hg tglog
o 3: 'C'
@ -138,7 +138,7 @@ Full rebase all the way back from branching point:
other [source] changed f-default which local [dest] deleted
use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
rebasing 6:9455ee510502 "dev: merge default"
saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-43e9e04b-backup.hg (glob)
saved backup bundle to $TESTTMP/ancestor-merge/.hg/strip-backup/1d1a643d390e-43e9e04b-rebase.hg (glob)
$ hg tglog
o 6: 'dev: merge default'
|
@ -167,7 +167,7 @@ Grafty cherry picking rebasing:
other [source] changed f-default which local [dest] deleted
use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
rebasing 6:9455ee510502 "dev: merge default"
saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-62d0b222-backup.hg (glob)
saved backup bundle to $TESTTMP/ancestor-merge-2/.hg/strip-backup/ec2c14fb2984-62d0b222-rebase.hg (glob)
$ hg tglog
o 7: 'dev: merge default'
|
@ -239,7 +239,7 @@ Test order of parents of rebased merged with un-rebased changes as p1.
$ hg rebase -r 4 -d 2
rebasing 4:6990226659be "merge p1 3=outside p2 1=ancestor"
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/6990226659be-4d67a0d3-backup.hg (glob)
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/6990226659be-4d67a0d3-rebase.hg (glob)
$ hg tip
changeset: 5:cca50676b1c5
tag: tip
@ -251,7 +251,7 @@ Test order of parents of rebased merged with un-rebased changes as p1.
$ hg rebase -r 4 -d 2
rebasing 4:a57575f79074 "merge p1 1=ancestor p2 3=outside"
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/a57575f79074-385426e5-backup.hg (glob)
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/a57575f79074-385426e5-rebase.hg (glob)
$ hg tip
changeset: 5:f9daf77ffe76
tag: tip
@ -307,7 +307,7 @@ rebase of merge of ancestors
199 (changelog)
216 (manifests)
182 other
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/4c5f12f25ebe-f46990e5-backup.hg (glob)
saved backup bundle to $TESTTMP/parentorder/.hg/strip-backup/4c5f12f25ebe-f46990e5-rebase.hg (glob)
1 changesets found
uncompressed size of bundle content:
254 (changelog)

View File

@ -974,9 +974,12 @@ during the rebase operation
$ hg log -r .
3:be1832deae9a b (no-eol)
Check that bookmark was moved to rev 3 although rev 2 was skipped
during the rebase operation
Check that bookmark was not moved to rev 3 if rev 2 was skipped during the
rebase operation. This makes sense because if rev 2 has a successor, the
operation generating that successor (ex. rebase) should be responsible for
moving bookmarks. If the bookmark is on a precursor, like rev 2, that means the
user manually moved it back. In that case we should not move it again.
$ hg bookmarks
mybook 3:be1832deae9a
mybook 2:1e9a3c00cbe9
$ hg debugobsolete --rev tip
1e9a3c00cbe90d236ac05ef61efcc5e40b7412bc be1832deae9ac531caa7438b8dcf6055a122cd8e 0 (*) {'user': 'test'} (glob)

View File

@ -134,7 +134,7 @@ Rebase with no arguments (from 3 onto 8):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
@ 6: 'D'
@ -168,7 +168,7 @@ Rebase with base == '.' => same as no arguments (from 3 onto 8):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
@ 6: 'D'
@ -197,7 +197,7 @@ Rebase with dest == branch(.) => same as no arguments (from 3 onto 8):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
@ 8: 'D'
@ -229,7 +229,7 @@ Specify only source (from 2 onto 8):
$ hg rebase --source 'desc("C")'
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg tglog
o 6: 'D'
@ -258,7 +258,7 @@ Specify only dest (from 3 onto 6):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
@ 8: 'D'
@ -291,7 +291,7 @@ Specify only base (from 1 onto 8):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
o 6: 'D'
@ -319,7 +319,7 @@ Specify source and dest (from 2 onto 7):
$ hg rebase --source 2 --dest 7
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg tglog
o 8: 'D'
@ -352,7 +352,7 @@ Specify base and dest (from 1 onto 7):
rebasing 1:42ccdea3bb16 "B"
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a8/.hg/strip-backup/42ccdea3bb16-3cb021d3-backup.hg (glob)
saved backup bundle to $TESTTMP/a8/.hg/strip-backup/42ccdea3bb16-3cb021d3-rebase.hg (glob)
$ hg tglog
o 8: 'D'
@ -384,7 +384,7 @@ Specify only revs (from 2 onto 8)
$ hg rebase --rev 'desc("C")::'
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a9/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a9/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg tglog
o 6: 'D'
@ -410,7 +410,7 @@ Rebasing both a single revision and a merge in one command
$ hg rebase -r 3 -r 6 --dest 8
rebasing 3:32af7686d403 "D"
rebasing 6:eea13746799a "G"
saved backup bundle to $TESTTMP/aX/.hg/strip-backup/eea13746799a-ad273fd6-backup.hg (glob)
saved backup bundle to $TESTTMP/aX/.hg/strip-backup/eea13746799a-ad273fd6-rebase.hg (glob)
$ cd ..
Test --tool parameter:
@ -440,7 +440,7 @@ Test --tool parameter:
$ hg rebase -s 2 -d 1 --tool internal:local
rebasing 2:e4e3f3546619 "c2b" (tip)
note: rebase of 2:e4e3f3546619 created no changes to commit
saved backup bundle to $TESTTMP/b1/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
saved backup bundle to $TESTTMP/b1/.hg/strip-backup/e4e3f3546619-b0841178-rebase.hg (glob)
$ hg cat c2
c2
@ -453,7 +453,7 @@ Test --tool parameter:
$ hg rebase -s 2 -d 1 --tool internal:other
rebasing 2:e4e3f3546619 "c2b" (tip)
saved backup bundle to $TESTTMP/b2/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
saved backup bundle to $TESTTMP/b2/.hg/strip-backup/e4e3f3546619-b0841178-rebase.hg (glob)
$ hg cat c2
c2b
@ -493,7 +493,7 @@ Test --tool parameter:
$ hg rebase -c --tool internal:fail
rebasing 2:e4e3f3546619 "c2b" (tip)
note: rebase of 2:e4e3f3546619 created no changes to commit
saved backup bundle to $TESTTMP/b3/.hg/strip-backup/e4e3f3546619-b0841178-backup.hg (glob)
saved backup bundle to $TESTTMP/b3/.hg/strip-backup/e4e3f3546619-b0841178-rebase.hg (glob)
$ hg rebase -i
abort: interactive history editing is supported by the 'histedit' extension (see "hg --config extensions.histedit= help -e histedit")

View File

@ -55,7 +55,7 @@ Now b has one revision to be pulled from a:
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
rebasing 2:ff8d69a621f9 "L1"
saved backup bundle to $TESTTMP/b/.hg/strip-backup/ff8d69a621f9-160fa373-backup.hg (glob)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/ff8d69a621f9-160fa373-rebase.hg (glob)
$ hg tglog
@ 3: 'L1'
@ -211,7 +211,7 @@ pull --rebase works when a specific revision is pulled (issue3619)
adding file changes
added 2 changesets with 2 changes to 2 files
rebasing 3:ff8d69a621f9 "L1"
saved backup bundle to $TESTTMP/c/.hg/strip-backup/ff8d69a621f9-160fa373-backup.hg (glob)
saved backup bundle to $TESTTMP/c/.hg/strip-backup/ff8d69a621f9-160fa373-rebase.hg (glob)
$ hg tglog
@ 5: 'L1'
|
@ -253,7 +253,7 @@ pull --rebase works with bundle2 turned on
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
rebasing 5:518d153c0ba3 "L1"
saved backup bundle to $TESTTMP/c/.hg/strip-backup/518d153c0ba3-73407f14-backup.hg (glob)
saved backup bundle to $TESTTMP/c/.hg/strip-backup/518d153c0ba3-73407f14-rebase.hg (glob)
$ hg tglog
@ 6: 'L1'
|
@ -306,7 +306,7 @@ pull --rebase only update if there is nothing to rebase
added 1 changesets with 1 changes to 1 files (+1 heads)
rebasing 6:0d0727eb7ce0 "L1"
rebasing 7:c1f58876e3bf "L2"
saved backup bundle to $TESTTMP/c/.hg/strip-backup/0d0727eb7ce0-ef61ccb2-backup.hg (glob)
saved backup bundle to $TESTTMP/c/.hg/strip-backup/0d0727eb7ce0-ef61ccb2-rebase.hg (glob)
$ hg tglog
o 8: 'L2'
|
@ -422,7 +422,7 @@ The second local head should not confuse the `hg pull rebase`.
added 1 changesets with 1 changes to 1 files (+1 heads)
rebasing 7:864e0a2d2614 "L1"
rebasing 8:6dc0ea5dcf55 "L2"
saved backup bundle to $TESTTMP/c/.hg/strip-backup/864e0a2d2614-2f72c89c-backup.hg (glob)
saved backup bundle to $TESTTMP/c/.hg/strip-backup/864e0a2d2614-2f72c89c-rebase.hg (glob)
$ hg tglog
@ 12: 'L2'
|

View File

@ -61,7 +61,7 @@ Rebase the revision containing the rename:
$ hg rebase -s 3 -d 2
rebasing 3:73a3ee40125d "rename A" (tip)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/73a3ee40125d-1d78ebcf-backup.hg (glob)
saved backup bundle to $TESTTMP/a/.hg/strip-backup/73a3ee40125d-1d78ebcf-rebase.hg (glob)
$ hg tglog
@ 3: 'rename A'
@ -152,7 +152,7 @@ Rebase the revision containing the copy:
$ hg rebase -s 3 -d 2
rebasing 3:0a8162ff18a8 "copy A" (tip)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/0a8162ff18a8-dd06302a-backup.hg (glob)
saved backup bundle to $TESTTMP/b/.hg/strip-backup/0a8162ff18a8-dd06302a-rebase.hg (glob)
$ hg tglog
@ 3: 'copy A'
@ -236,7 +236,7 @@ Test rebase across repeating renames:
$ hg rebase -s 4 -d 3
rebasing 4:b918d683b091 "Another unrelated change" (tip)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/b918d683b091-3024bc57-backup.hg (glob)
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/b918d683b091-3024bc57-rebase.hg (glob)
$ hg diff --stat -c .
unrelated.txt | 1 +
@ -287,7 +287,7 @@ Rebase the copies on top of the unrelated change.
rebasing 1:79d255d24ad2 "File b created as copy of a and modified"
rebasing 2:327f772bc074 "File c created as copy of b and modified"
rebasing 3:421b7e82bb85 "File d created as copy of c and modified"
saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/79d255d24ad2-a2265555-backup.hg (glob)
saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/79d255d24ad2-a2265555-rebase.hg (glob)
$ hg update 4
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
@ -314,7 +314,7 @@ copy records collapse correctly.
merging b and c to c
rebasing 4:dbb9ba033561 "File d created as copy of c and modified"
merging c and d to d
saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/68bf06433839-dde37595-backup.hg (glob)
saved backup bundle to $TESTTMP/copy-gets-preserved/.hg/strip-backup/68bf06433839-dde37595-rebase.hg (glob)
$ hg co tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved

View File

@ -65,7 +65,7 @@ can abort or warn for colliding untracked files)
HG: user: Nicolas Dumazet <nicdumz.commits@gmail.com>
HG: branch 'default'
HG: added D
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-backup.hg (glob)
saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
$ cat D.orig
collide
$ rm D.orig
@ -100,7 +100,7 @@ that we can ignore for colliding untracked files)
$ HGEDITOR=cat hg rebase -s 3 -d 5 --config merge.checkunknown=ignore
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/32af7686d403-6f7dface-backup.hg (glob)
saved backup bundle to $TESTTMP/a2/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
$ cat D.orig
collide
$ rm D.orig
@ -138,7 +138,7 @@ if they have the same contents)
rebasing 4:9520eea781bc "E"
rebasing 6:eea13746799a "G"
note: rebase of 6:eea13746799a created no changes to commit
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-backup.hg (glob)
saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
$ f E.orig
E.orig: file not found
@ -170,7 +170,7 @@ F onto E - rebase of a branching point (skip G):
rebasing 6:eea13746799a "G"
note: rebase of 6:eea13746799a created no changes to commit
rebasing 7:02de42196ebe "H" (tip)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/24b6387c8c8c-c3fe765d-backup.hg (glob)
saved backup bundle to $TESTTMP/a4/.hg/strip-backup/24b6387c8c8c-c3fe765d-rebase.hg (glob)
$ hg tglog
@ 6: 'H'
@ -197,7 +197,7 @@ G onto H - merged revision having a parent in ancestors of target:
$ hg rebase -s 6 -d 7
rebasing 6:eea13746799a "G"
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/eea13746799a-883828ed-backup.hg (glob)
saved backup bundle to $TESTTMP/a5/.hg/strip-backup/eea13746799a-883828ed-rebase.hg (glob)
$ hg tglog
o 7: 'G'
@ -228,7 +228,7 @@ F onto B - G maintains E as parent:
rebasing 5:24b6387c8c8c "F"
rebasing 6:eea13746799a "G"
rebasing 7:02de42196ebe "H" (tip)
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/24b6387c8c8c-c3fe765d-backup.hg (glob)
saved backup bundle to $TESTTMP/a6/.hg/strip-backup/24b6387c8c8c-c3fe765d-rebase.hg (glob)
$ hg tglog
@ 7: 'H'
@ -301,7 +301,7 @@ C onto A - rebase onto an ancestor:
$ hg rebase -d 0 -s 2
rebasing 2:5fddd98957c8 "C"
rebasing 3:32af7686d403 "D"
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
$ hg tglog
o 7: 'D'
|
@ -345,31 +345,31 @@ Source phase greater or equal to destination phase: new changeset get the phase
5
$ hg rebase -s9 -d0
rebasing 9:2b23e52411f4 "D" (tip)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2b23e52411f4-f942decf-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2b23e52411f4-f942decf-rebase.hg (glob)
$ hg id -n # check we updated back to parent
5
$ hg log --template "{phase}\n" -r 9
draft
$ hg rebase -s9 -d1
rebasing 9:2cb10d0cfc6c "D" (tip)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2cb10d0cfc6c-ddb0f256-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2cb10d0cfc6c-ddb0f256-rebase.hg (glob)
$ hg log --template "{phase}\n" -r 9
draft
$ hg phase --force --secret 9
$ hg rebase -s9 -d0
rebasing 9:c5b12b67163a "D" (tip)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/c5b12b67163a-4e372053-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/c5b12b67163a-4e372053-rebase.hg (glob)
$ hg log --template "{phase}\n" -r 9
secret
$ hg rebase -s9 -d1
rebasing 9:2a0524f868ac "D" (tip)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2a0524f868ac-cefd8574-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2a0524f868ac-cefd8574-rebase.hg (glob)
$ hg log --template "{phase}\n" -r 9
secret
Source phase lower than destination phase: new changeset get the phase of destination:
$ hg rebase -s8 -d9
rebasing 8:6d4f22462821 "C"
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6d4f22462821-3441f70b-backup.hg (glob)
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6d4f22462821-3441f70b-rebase.hg (glob)
$ hg log --template "{phase}\n" -r 'rev(9)'
secret
@ -597,7 +597,7 @@ rebase on ancestor with revset
rebasing 6:3d8a618087a7 "G"
rebasing 7:72434a4e60b0 "H"
rebasing 8:479ddb54a924 "I" (tip)
saved backup bundle to $TESTTMP/ah5/.hg/strip-backup/3d8a618087a7-b4f73f31-backup.hg (glob)
saved backup bundle to $TESTTMP/ah5/.hg/strip-backup/3d8a618087a7-b4f73f31-rebase.hg (glob)
$ hg tglog
o 8: 'I'
|
@ -632,7 +632,7 @@ We would expect heads are I, F if it was supported
rebasing 6:3d8a618087a7 "G"
rebasing 7:72434a4e60b0 "H"
rebasing 8:479ddb54a924 "I" (tip)
saved backup bundle to $TESTTMP/ah6/.hg/strip-backup/3d8a618087a7-aae93a24-backup.hg (glob)
saved backup bundle to $TESTTMP/ah6/.hg/strip-backup/3d8a618087a7-aae93a24-rebase.hg (glob)
$ hg tglog
o 8: 'I'
|
@ -701,7 +701,7 @@ each root have a different common ancestor with the destination and this is a de
$ hg rebase --dest 'desc(G)' --rev 'desc(K) + desc(I)'
rebasing 8:e7ec4e813ba6 "I"
rebasing 10:23a4ace37988 "K" (tip)
saved backup bundle to $TESTTMP/a8/.hg/strip-backup/23a4ace37988-b06984b3-backup.hg (glob)
saved backup bundle to $TESTTMP/a8/.hg/strip-backup/23a4ace37988-b06984b3-rebase.hg (glob)
$ hg log --rev 'children(desc(G))'
changeset: 9:adb617877056
parent: 6:eea13746799a
@ -768,7 +768,7 @@ Test that rebase is not confused by $CWD disappearing during rebase (issue4121)
current directory was removed
(consider changing to repo root: $TESTTMP/cwd-vanish)
rebasing 3:a7d6f3a00bf3 "second source with subdir" (tip)
saved backup bundle to $TESTTMP/cwd-vanish/.hg/strip-backup/779a07b1b7a0-853e0073-backup.hg (glob)
saved backup bundle to $TESTTMP/cwd-vanish/.hg/strip-backup/779a07b1b7a0-853e0073-rebase.hg (glob)
#else
$ hg rebase -b . -d 1 --traceback
rebasing 2:779a07b1b7a0 "first source commit"
@ -825,7 +825,7 @@ Test that rebase is done in topo order (issue5370)
rebasing 4:82ae8dc7a9b7 "E"
rebasing 3:ab709c9f7171 "D"
rebasing 5:412b391de760 "F"
saved backup bundle to $TESTTMP/order/.hg/strip-backup/76035bbd54bd-e341bc99-backup.hg (glob)
saved backup bundle to $TESTTMP/order/.hg/strip-backup/76035bbd54bd-e341bc99-rebase.hg (glob)
$ hg tglog
o 6: 'F'

View File

@ -626,7 +626,7 @@ shelve should leave dirstate clean (issue4055)
$ hg rebase -d 1 --config extensions.rebase=
rebasing 2:323bfa07f744 "xyz" (tip)
merging x
saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-backup.hg (glob)
saved backup bundle to $TESTTMP/shelverebase/.hg/strip-backup/323bfa07f744-78114325-rebase.hg (glob)
$ hg unshelve
unshelving change 'default'
rebasing shelved changes

View File

@ -223,7 +223,7 @@ Verify rebase succeeds if all changed files are in sparse checkout
$ hg commit -Aqm "add show2"
$ hg rebase -d 1 --config extensions.rebase=
rebasing 2:bdde55290160 "add show2" (tip)
saved backup bundle to $TESTTMP/myrepo/.hg/strip-backup/bdde55290160-216ed9c6-backup.hg (glob)
saved backup bundle to $TESTTMP/myrepo/.hg/strip-backup/bdde55290160-216ed9c6-rebase.hg (glob)
Verify log --sparse only shows commits that affect the sparse checkout