@@ -38,26 +38,26 @@
$ hg log -Gq -T'{rev} {tags}\n'
o 11 l tip
|\
- | o 10 i
+ | o 10 k
| |\
- o \ \ 9 k
- |\ \ \
- +-----o 8 g
- | | |
- | o | 7 j
- | | |
- | | o 6 h
+ | | o 9 j
| | |
- o | | 5 e
- |/ /
- | o 4 f
+ o | | 8 i
+ |\ \ \
+ | o | | 7 h
+ | | | |
+ o---+ | 6 g
+ / / /
+ o | | 5 f
+ | | |
+ | o | 4 e
+ | |/
+ | o 3 d
+ |/|
+ o | 2 c
| |
- o | 3 d
- |\|
- | o 2 c
- | |
- | o 1 b
- |
+ o | 1 b
+ /
o 0 a
@@ -124,98 +124,99 @@
$ cd a
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+i"))}\n' -r 'c+i'
- o 10 i: 2
+ o 8 i: 2
:
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+h+i"))}\n' -r 'c+h+i'
- o 10 i: 6
+ o 8 i: 7
|\
- o : 6 h: 2
+ o : 7 h: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+h+l"))}\n' -r 'c+h+l'
- o 11 l tip: 6
+ o 11 l tip: 7
:\
- : o 6 h: 2
+ : o 7 h: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+f+l"))}\n' -r 'c+f+l'
- o 11 l tip: 4
+ o 11 l tip: 5
:\
- : o 4 f: 2
+ : o 5 f: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+h+i+k"))}\n' -r 'c+h+i+k'
- o 10 i: 6
- |\
- | : o 9 k: 2
- | :/
- o : 6 h: 2
+ o 10 k: 2
+ :
+ : o 8 i: 7
+ :/|
+ : o 7 h: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+d+h+i+k"))}\n' -r 'c+d+h+i+k'
- o 10 i: 6 3
- |\
- | : o 9 k: 3
- | :/
- o : 6 h: 2
+ o 10 k: 3
+ :
+ : o 8 i: 7 3
+ :/|
+ : o 7 h: 2
: :
- : o 3 d: 2
- :/|
- : ~
+ o : 3 d: 2
+ |\:
+ ~ :
+ /
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+j+k+i"))}\n' -r 'c+j+k+i'
- o 10 i: 2
- :
- : o 9 k: 7
- :/|
- : o 7 j: 2
+ o 10 k: 9
+ |\
+ o : 9 j: 2
+ :/
+ : o 8 i: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("c+e+f+j"))}\n' -r 'c+e+f+j'
- o 7 j: 2
+ o 9 j: 2
:
- : o 5 e: 2
+ : o 5 f: 2
:/
- : o 4 f: 2
+ : o 4 e: 2
:/
o 2 c:
|
~
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("b+e+f+j"))}\n' -r 'b+e+f+j'
- o 7 j: 1
+ o 9 j: 1
:
- : o 5 e: 1
+ : o 5 f: 1
:/
- : o 4 f: 1
+ : o 4 e: 1
:/
o 1 b:
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("a+c+f+g+j+l"))}\n' -r 'a+c+f+g+j+l'
- o 11 l tip: 4 8 7
+ o 11 l tip: 5 6 9
:\
: \
: :\
@@ -223,11 +224,11 @@
: : :\
: : : \
: : : :\
- : o---+ : 8 g: 0 2
- : :/ / /
- : +---o 7 j: 0 2
- : : :/
- o---+ 4 f: 2
+ : : +---o 9 j: 0 2
+ : : : :/
+ : o---+ 6 g: 0 2
+ : :/ /
+ o---+ 5 f: 2
/ /
: o 2 c:
: |
@@ -236,21 +237,21 @@
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("b+i+l"))}\n' -r 'b+i+l'
- o 11 l tip: 10
+ o 11 l tip: 8
|\
- o : 10 i: 1
+ o : 8 i: 1
:/
o 1 b:
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("b+i+j+l"))}\n' -r 'b+i+j+l'
- o 11 l tip: 10 7
+ o 11 l tip: 8 9
|\
| \
| :\
- o : : 10 i: 1
- :/ /
- : o 7 j: 1
+ | : o 9 j: 1
+ | :/
+ o : 8 i: 1
:/
o 1 b:
@@ -258,7 +259,7 @@
null in subset:
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("null+a+c+f"))}\n' -r 'null+a+c+f'
- o 4 f: 2
+ o 5 f: 2
|
o 2 c: -1
:
@@ -268,7 +269,7 @@
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("null+a+b+c+f"))}\n' -r 'null+a+b+c+f'
- o 4 f: 2
+ o 5 f: 2
|
o 2 c: 1
|
@@ -284,12 +285,12 @@
$ hg update -qC i
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("f+k+wdir()"))}\n' -r 'f+k+wdir()'
- o 2147483647 : 4
+ o 2147483647 : 5
:
- : o 9 k:
+ : o 10 k:
: |\
: ~ ~
- o 4 f:
+ o 5 f:
|
~
@@ -298,14 +299,14 @@
Revisions not in subset:
$ hg log -T '{rev} {tags}: {subsetparents(rev, revset("a+c+f+g+j+l"))}\n'
- 11 l tip: 4 8 7
- 10 i:
- 9 k:
- 8 g: 0 2
- 7 j: 0 2
- 6 h:
- 5 e:
- 4 f: 2
+ 11 l tip: 5 6 9
+ 10 k:
+ 9 j: 0 2
+ 8 i:
+ 7 h:
+ 6 g: 0 2
+ 5 f: 2
+ 4 e:
3 d:
2 c:
1 b:
@@ -313,13 +314,13 @@
$ hg log -T '{rev} {tags}: {subsetparents(rev, revset("b+c"))}\n'
11 l tip:
- 10 i:
- 9 k:
- 8 g:
- 7 j:
- 6 h:
- 5 e:
- 4 f:
+ 10 k:
+ 9 j:
+ 8 i:
+ 7 h:
+ 6 g:
+ 5 f:
+ 4 e:
3 d:
2 c: 1
1 b:
@@ -335,14 +336,14 @@
$ hg log -T '{rev} {tags}: {subsetparents(rev, revset("null:wdir()"))}\n' -r'reverse(null:wdir())'
2147483647 : -1
- 11 l tip: 10 9
- 10 i: 6 8
- 9 k: 5 7
- 8 g: 5
- 7 j: 3
- 6 h: 4
- 5 e: 3
- 4 f: 2
+ 11 l tip: 8 10
+ 10 k: 4 9
+ 9 j: 3
+ 8 i: 7 6
+ 7 h: 5
+ 6 g: 4
+ 5 f: 2
+ 4 e: 3
3 d: 0 2
2 c: 1
1 b: -1
@@ -354,26 +355,26 @@
$ hg log -Gq -T '{rev} {tags}: {subsetparents(rev, revset("%d:%d", rev, rev - 1))}\n'
o 11 l tip: 10
|\
- | o 10 i:
+ | o 10 k: 9
| |\
- o \ \ 9 k:
- |\ \ \
- +-----o 8 g:
- | | |
- | o | 7 j:
- | | |
- | | o 6 h:
+ | | o 9 j:
| | |
- o | | 5 e:
- |/ /
- | o 4 f:
+ o | | 8 i: 7
+ |\ \ \
+ | o | | 7 h:
+ | | | |
+ o---+ | 6 g:
+ / / /
+ o | | 5 f:
+ | | |
+ | o | 4 e: 3
+ | |/
+ | o 3 d: 2
+ |/|
+ o | 2 c: 1
| |
- o | 3 d: 2
- |\|
- | o 2 c: 1
- | |
- | o 1 b:
- |
+ o | 1 b:
+ /
o 0 a: -1
@@ -1255,18 +1255,18 @@
> EOF
$ hg testdelayedstrip --config extensions.t=$TESTTMP/delayedstrip.py
warning: orphaned descendants detected, not stripping 08ebfeb61bac, 112478962961, 7fb047a69f22
- saved backup bundle to $TESTTMP/delayedstrip/.hg/strip-backup/f585351a92f8-17475721-I.hg
+ saved backup bundle to $TESTTMP/delayedstrip/.hg/strip-backup/48b9aae0607f-17475721-I.hg
$ hg log -G -T '{rev}:{node|short} {desc}' -r 'sort(all(), topo)'
@ 6:2f2d51af6205 J
|
- o 3:08ebfeb61bac I
+ o 5:08ebfeb61bac I
|
- | o 5:64a8289d2492 F
+ | o 4:64a8289d2492 F
| |
- | o 2:7fb047a69f22 E
+ | o 3:7fb047a69f22 E
|/
- | o 4:26805aba1e60 C
+ | o 2:26805aba1e60 C
| |
| o 1:112478962961 B
|/
@@ -1310,35 +1310,35 @@
> EOF
$ hg testnodescleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
warning: orphaned descendants detected, not stripping 112478962961, 1fc8102cda62, 26805aba1e60
- saved backup bundle to $TESTTMP/scmutilcleanup/.hg/strip-backup/f585351a92f8-73fb7c03-replace.hg
+ saved backup bundle to $TESTTMP/scmutilcleanup/.hg/strip-backup/48b9aae0607f-73fb7c03-replace.hg
$ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
- o 8:1473d4b996d1 G2 b-F@divergent3 b-G
+ o 8:d11b3456a873 F2 b-F
|
- | o 7:d11b3456a873 F2 b-F
- | |
- | o 5:5cb05ba470a7 H
- |/|
- | o 3:7fb047a69f22 E b-F@divergent1
+ o 5:5cb05ba470a7 H
+ |\
+ | | o 7:1473d4b996d1 G2 b-F@divergent3 b-G
+ | |/
+ | o 4:1fc8102cda62 G
+ |
+ o 3:7fb047a69f22 E b-F@divergent1
+ |
+ | o 6:7c78f703e465 D2 b-D
| |
- | | o 6:7c78f703e465 D2 b-D
- | | |
- | | o 4:26805aba1e60 C
- | | |
- | | o 2:112478962961 B
- | |/
- o | 1:1fc8102cda62 G
- /
+ | o 2:26805aba1e60 C
+ | |
+ | o 1:112478962961 B
+ |/
o 0:426bada5c675 A b-B b-C b-I
$ hg bookmark
b-B 0:426bada5c675
b-C 0:426bada5c675
b-D 6:7c78f703e465
- b-F 7:d11b3456a873
+ b-F 8:d11b3456a873
b-F@divergent1 3:7fb047a69f22
- b-F@divergent3 8:1473d4b996d1
- b-G 8:1473d4b996d1
+ b-F@divergent3 7:1473d4b996d1
+ b-G 7:1473d4b996d1
b-I 0:426bada5c675
b-Z -1:000000000000
@@ -1357,32 +1357,32 @@
$ rm .hg/localtags
$ hg log -G -T '{rev}:{node|short} {desc} {bookmarks}' -r 'sort(all(), topo)'
- * 12:1473d4b996d1 G2 b-F@divergent3 b-G
+ * 12:d11b3456a873 F2 b-F
|
- | * 11:d11b3456a873 F2 b-F
- | |
- | * 8:5cb05ba470a7 H
- |/|
- | o 4:7fb047a69f22 E b-F@divergent1
+ * 7:5cb05ba470a7 H
+ |\
+ | | * 11:1473d4b996d1 G2 b-F@divergent3 b-G
+ | |/
+ | x 6:1fc8102cda62 G
+ |
+ o 4:7fb047a69f22 E b-F@divergent1
+ |
+ | * 10:7c78f703e465 D2 b-D
| |
- | | * 10:7c78f703e465 D2 b-D
- | | |
- | | x 6:26805aba1e60 C
- | | |
- | | x 3:112478962961 B
- | |/
- x | 1:1fc8102cda62 G
- /
+ | x 2:26805aba1e60 C
+ | |
+ | x 1:112478962961 B
+ |/
o 0:426bada5c675 A b-B b-C b-I
$ hg debugobsolete
- 1fc8102cda6204549f031015641606ccf5513ec3 1473d4b996d1d1b121de6b39fab6a04fbf9d873e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
+ f585351a92f85104bff7c284233c338b10eb1df7 7c78f703e465d73102cc8780667ce269c5208a40 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'replace', 'user': 'test'}
64a8289d249234b9886244d379f15e6b650b28e3 d11b3456a873daec7c7bc53e5622e8df6d741bd2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
- f585351a92f85104bff7c284233c338b10eb1df7 7c78f703e465d73102cc8780667ce269c5208a40 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'replace', 'user': 'test'}
+ 1fc8102cda6204549f031015641606ccf5513ec3 1473d4b996d1d1b121de6b39fab6a04fbf9d873e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'replace', 'user': 'test'}
+ 112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
+ 26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
+ 08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
48b9aae0607f43ff110d84e6883c151942add5ab 0 {0000000000000000000000000000000000000000} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
- 112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
- 08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
- 26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'replace', 'user': 'test'}
$ cd ..
Test that obsmarkers are restored even when not using generaldelta
@@ -1683,8 +1683,8 @@
$ hg log -r 'successors(B+A)-contentdivergent()' -T '{desc}\n'
A
+ B
Z
- B
$ hg log -r 'successors(B+A)-contentdivergent()-obsolete()' -T '{desc}\n'
Z
@@ -1713,19 +1713,19 @@
$ hg log -G -T '{rev} {desc} {phase}' -r 'sort(all(), topo, topo.firstbranch=P5)'
o 8 P5 public
|
- | o 10 S1 secret
+ | o 9 S1 secret
| |
| o 7 D3 draft
|/
- | o 9 S2 secret
+ | o 10 S2 secret
|/
o 6 P4 public
|
o 5 P3 public
|
- o 3 P2 public
+ o 4 P2 public
|
- | o 4 D2 draft
+ | o 3 D2 draft
| |
| o 2 D1 draft
|/
@@ -104,21 +104,21 @@
> EOF
$ hg rebase --collapse -b D -d Z
rebasing 1:112478962961 "B" (B)
- rebasing 3:c26739dbe603 "C" (C)
+ rebasing 2:c26739dbe603 "C" (C)
merging conflict
warning: conflicts while merging conflict! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg tglog
- o 5: D
+ @ 5: Z
|
- | @ 4: Z
+ o 4: Y
+ |
+ | o 3: D
| |
- % | 3: C
+ | % 2: C
| |
- | o 2: Y
- | |
- o | 1: B
+ | o 1: B
|/
o 0: A
@@ -133,8 +133,8 @@
continue: hg rebase --continue
$ hg continue
already rebased 1:112478962961 "B" (B) as 79bc8f4973ce
- rebasing 3:c26739dbe603 "C" (C)
- rebasing 5:d24bb333861c "D" (D tip)
+ rebasing 2:c26739dbe603 "C" (C)
+ rebasing 3:d24bb333861c "D" (D)
saved backup bundle to $TESTTMP/collapse-conflict/.hg/strip-backup/112478962961-b5b34645-rebase.hg
$ hg tglog
o 3: Collapsed revision
@@ -166,29 +166,29 @@
> EOF
$ HGEDITOR=false hg --config ui.interactive=1 rebase --collapse -b D -d Z
rebasing 1:112478962961 "B" (B)
- rebasing 3:26805aba1e60 "C" (C)
- rebasing 5:f585351a92f8 "D" (D tip)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:f585351a92f8 "D" (D)
transaction abort!
rollback completed
abort: edit failed: false exited with status 1
[255]
$ hg tglog
- o 5: D
+ o 5: Z
|
- | o 4: Z
+ o 4: Y
+ |
+ | o 3: D
| |
- o | 3: C
+ | o 2: C
| |
- | o 2: Y
- | |
- o | 1: B
+ | o 1: B
|/
o 0: A
$ hg continue
rebasing 1:112478962961 "B" (B)
- rebasing 3:26805aba1e60 "C" (C)
- rebasing 5:f585351a92f8 "D" (D tip)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:f585351a92f8 "D" (D)
saved backup bundle to $TESTTMP/collapse-cancel-editor/.hg/strip-backup/112478962961-cb2a9b47-rebase.hg
$ hg tglog
o 3: Collapsed revision
@@ -35,13 +35,13 @@
> |/
> A
> EOF
- rebasing 2:b18e25de2cf5 "D" (D)
- already rebased 3:26805aba1e60 "C" (C tip)
+ already rebased 2:26805aba1e60 "C" (C)
+ rebasing 3:b18e25de2cf5 "D" (D tip)
o 4: fe3b4c6498fa D
|
- | o 3: 26805aba1e60 C
- |/
- | x 2: b18e25de2cf5 D
+ | x 3: b18e25de2cf5 D
+ | |
+ +---o 2: 26805aba1e60 C
| |
o | 1: 112478962961 B
|/
@@ -56,14 +56,14 @@
> |/
> A
> EOF
- rebasing 2:b18e25de2cf5 "D" (D)
- rebasing 3:26805aba1e60 "C" (C tip)
- o 4: a2493f4ace65 Collapsed revision
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:b18e25de2cf5 "D" (D tip)
+ o 4: 43ff9c6a4b68 Collapsed revision
+ | * C
| * D
- | * C
- | x 3: 26805aba1e60 C
- |/
- | x 2: b18e25de2cf5 D
+ | x 3: b18e25de2cf5 D
+ | |
+ +---x 2: 26805aba1e60 C
| |
o | 1: 112478962961 B
|/
@@ -81,7 +81,8 @@
> A
> EOF
$ hg rebase -r C+D -d B
- rebasing 2:ef8c0fe0897b "D" (D)
+ already rebased 2:79f6d6ab7b14 "C" (C)
+ rebasing 3:ef8c0fe0897b "D" (D tip)
merging file
warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
@@ -89,11 +90,11 @@
$ hg rebase --abort
rebase aborted
$ hg tglog
- o 3: 79f6d6ab7b14 C
+ o 3: ef8c0fe0897b D
|
- | o 2: ef8c0fe0897b D
+ | o 2: 79f6d6ab7b14 C
| |
- o | 1: 594087dbaf71 B
+ | o 1: 594087dbaf71 B
|/
o 0: 426bada5c675 A
@@ -557,9 +557,9 @@
$ hg rebase -d G -r 'B + D + F'
rebasing 1:112478962961 "B" (B)
- rebasing 2:b18e25de2cf5 "D" (D)
- rebasing 6:f15c3adaf214 "F" (F tip)
- abort: cannot rebase 6:f15c3adaf214 without moving at least one of its parents
+ rebasing 3:b18e25de2cf5 "D" (D)
+ rebasing 5:f15c3adaf214 "F" (F)
+ abort: cannot rebase 5:f15c3adaf214 without moving at least one of its parents
[255]
$ cd ..
@@ -1074,19 +1074,19 @@
> EOF
1 new orphan changesets
$ hg log -G -r 'a'::
- * 7:1143e9adc121 f
+ o 7:630d7c95eff7 x
|
- | o 6:d60ebfa0f1cb e
- | |
- | o 5:027ad6c5830d d'
+ | * 6:1143e9adc121 f
| |
- x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
- |/
- o 3:a82ac2b38757 c
- |
- | o 2:630d7c95eff7 x
+ | | o 5:d60ebfa0f1cb e
+ | | |
+ | | o 4:027ad6c5830d d'
+ | | |
+ | x | 3:76be324c128b d (rewritten using replace as 4:027ad6c5830d)
+ | |/
+ | o 2:a82ac2b38757 c
| |
- o | 1:488e1b7e7341 b
+ | o 1:488e1b7e7341 b
|/
o 0:b173517d0057 a
@@ -1097,10 +1097,10 @@
$ hg rebase -b 'e' -d 'x'
rebasing 1:488e1b7e7341 "b" (b)
- rebasing 3:a82ac2b38757 "c" (c)
- rebasing 5:027ad6c5830d "d'" (d')
- rebasing 6:d60ebfa0f1cb "e" (e)
- note: not rebasing 4:76be324c128b "d" (d) and its descendants as this would cause divergence
+ rebasing 2:a82ac2b38757 "c" (c)
+ rebasing 4:027ad6c5830d "d'" (d')
+ rebasing 5:d60ebfa0f1cb "e" (e)
+ note: not rebasing 3:76be324c128b "d" (d) and its descendants as this would cause divergence
$ hg log -G -r 'a'::
o 11:eb6d63fc4ed5 e
|
@@ -1110,17 +1110,17 @@
|
o 8:67e8f4a16c49 b
|
- | * 7:1143e9adc121 f
+ o 7:630d7c95eff7 x
+ |
+ | * 6:1143e9adc121 f
| |
- | | x 6:d60ebfa0f1cb e (rewritten using rebase as 11:eb6d63fc4ed5)
- | | |
- | | x 5:027ad6c5830d d' (rewritten using rebase as 10:44d8c724a70c)
+ | | x 5:d60ebfa0f1cb e (rewritten using rebase as 11:eb6d63fc4ed5)
| | |
- | x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
+ | | x 4:027ad6c5830d d' (rewritten using rebase as 10:44d8c724a70c)
+ | | |
+ | x | 3:76be324c128b d (rewritten using replace as 4:027ad6c5830d)
| |/
- | x 3:a82ac2b38757 c (rewritten using rebase as 9:d008e6b4d3fd)
- | |
- o | 2:630d7c95eff7 x
+ | x 2:a82ac2b38757 c (rewritten using rebase as 9:d008e6b4d3fd)
| |
| x 1:488e1b7e7341 b (rewritten using rebase as 8:67e8f4a16c49)
|/
@@ -1128,19 +1128,19 @@
$ hg strip -r 8:
$ hg log -G -r 'a'::
- * 7:1143e9adc121 f
+ o 7:630d7c95eff7 x
|
- | o 6:d60ebfa0f1cb e
- | |
- | o 5:027ad6c5830d d'
+ | * 6:1143e9adc121 f
| |
- x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
- |/
- o 3:a82ac2b38757 c
- |
- | o 2:630d7c95eff7 x
+ | | o 5:d60ebfa0f1cb e
+ | | |
+ | | o 4:027ad6c5830d d'
+ | | |
+ | x | 3:76be324c128b d (rewritten using replace as 4:027ad6c5830d)
+ | |/
+ | o 2:a82ac2b38757 c
| |
- o | 1:488e1b7e7341 b
+ | o 1:488e1b7e7341 b
|/
o 0:b173517d0057 a
@@ -1154,9 +1154,9 @@
(to force the rebase please set experimental.evolution.allowdivergence=True)
[255]
$ hg rebase --config experimental.evolution.allowdivergence=true -r 'c'::'f' -d 'x'
- rebasing 3:a82ac2b38757 "c" (c)
- rebasing 4:76be324c128b "d" (d)
- rebasing 7:1143e9adc121 "f" (f tip)
+ rebasing 2:a82ac2b38757 "c" (c)
+ rebasing 3:76be324c128b "d" (d)
+ rebasing 6:1143e9adc121 "f" (f)
1 new orphan changesets
2 new content-divergent changesets
$ hg log -G -r 'a':: -T instabilities
@@ -1166,17 +1166,17 @@
|
o 8:6a0376de376e c
|
- | x 7:1143e9adc121 f
+ o 7:630d7c95eff7 x
+ |
+ | x 6:1143e9adc121 f
| |
- | | * 6:d60ebfa0f1cb e (orphan)
- | | |
- | | * 5:027ad6c5830d d' (orphan content-divergent)
+ | | * 5:d60ebfa0f1cb e (orphan)
| | |
- | x | 4:76be324c128b d
+ | | * 4:027ad6c5830d d' (orphan content-divergent)
+ | | |
+ | x | 3:76be324c128b d
| |/
- | x 3:a82ac2b38757 c
- | |
- o | 2:630d7c95eff7 x
+ | x 2:a82ac2b38757 c
| |
| o 1:488e1b7e7341 b
|/
@@ -1187,9 +1187,9 @@
(Not skipping obsoletes means that divergence is allowed.)
$ hg rebase --config experimental.rebaseskipobsolete=false -r 'c'::'f' -d 'x'
- rebasing 3:a82ac2b38757 "c" (c)
- rebasing 4:76be324c128b "d" (d)
- rebasing 7:1143e9adc121 "f" (f tip)
+ rebasing 2:a82ac2b38757 "c" (c)
+ rebasing 3:76be324c128b "d" (d)
+ rebasing 6:1143e9adc121 "f" (f)
1 new orphan changesets
2 new content-divergent changesets
@@ -1212,31 +1212,31 @@
> EOF
1 new orphan changesets
$ hg log -G -r 'a':
- * 8:2876ce66c6eb g
+ o 8:630d7c95eff7 x
|
- | o 7:3ffec603ab53 f
- | |
- x | 6:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
- | |
- | o 5:63324dc512ea e'
+ | * 7:2876ce66c6eb g
| |
- o | 4:76be324c128b d
- |/
- o 3:a82ac2b38757 c
- |
- | o 2:630d7c95eff7 x
+ | | o 6:3ffec603ab53 f
+ | | |
+ | | o 5:63324dc512ea e'
+ | | |
+ | x | 4:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
+ | | |
+ | o | 3:76be324c128b d
+ | |/
+ | o 2:a82ac2b38757 c
| |
- o | 1:488e1b7e7341 b
+ | o 1:488e1b7e7341 b
|/
o 0:b173517d0057 a
$ hg rebase -b 'f' -d 'x'
rebasing 1:488e1b7e7341 "b" (b)
- rebasing 3:a82ac2b38757 "c" (c)
+ rebasing 2:a82ac2b38757 "c" (c)
rebasing 5:63324dc512ea "e'" (e')
- rebasing 7:3ffec603ab53 "f" (f)
- rebasing 4:76be324c128b "d" (d)
- note: not rebasing 6:e36fae928aec "e" (e) and its descendants as this would cause divergence
+ rebasing 6:3ffec603ab53 "f" (f)
+ rebasing 3:76be324c128b "d" (d)
+ note: not rebasing 4:e36fae928aec "e" (e) and its descendants as this would cause divergence
$ hg log -G -r 'a':
o 13:a1707a5b7c2c d
|
@@ -1248,19 +1248,19 @@
|
o 9:67e8f4a16c49 b
|
- | * 8:2876ce66c6eb g
+ o 8:630d7c95eff7 x
+ |
+ | * 7:2876ce66c6eb g
| |
- | | x 7:3ffec603ab53 f (rewritten using rebase as 12:ef6251596616)
- | | |
- | x | 6:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
+ | | x 6:3ffec603ab53 f (rewritten using rebase as 12:ef6251596616)
| | |
| | x 5:63324dc512ea e' (rewritten using rebase as 11:b6f172e64af9)
| | |
- | x | 4:76be324c128b d (rewritten using rebase as 13:a1707a5b7c2c)
+ | x | 4:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
+ | | |
+ | x | 3:76be324c128b d (rewritten using rebase as 13:a1707a5b7c2c)
| |/
- | x 3:a82ac2b38757 c (rewritten using rebase as 10:d008e6b4d3fd)
- | |
- o | 2:630d7c95eff7 x
+ | x 2:a82ac2b38757 c (rewritten using rebase as 10:d008e6b4d3fd)
| |
| x 1:488e1b7e7341 b (rewritten using rebase as 9:67e8f4a16c49)
|/
@@ -1389,21 +1389,21 @@
1 new orphan changesets
$ hg rebase -d C -s D
- note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B)
+ note: not rebasing 3:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B)
rebasing 5:66f1a38021c9 "F" (F tip)
$ hg log -G
o 6:0913febf6439 F
|\
- +---x 5:66f1a38021c9 F (rewritten using rebase as 6:0913febf6439)
- | | |
- | o | 4:26805aba1e60 C
+ | | x 5:66f1a38021c9 F (rewritten using rebase as 6:0913febf6439)
+ | |/|
+ | o | 4:7fb047a69f22 E
| | |
- o | | 3:7fb047a69f22 E
- | | |
- +---x 2:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
+ | | x 3:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
+ | |/
+ o | 2:26805aba1e60 C
| |
- | o 1:112478962961 B
+ o | 1:112478962961 B
|/
o 0:426bada5c675 A
@@ -1424,20 +1424,20 @@
1 new orphan changesets
$ hg rebase -d C -s E
- note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
+ note: not rebasing 4:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
rebasing 5:66f1a38021c9 "F" (F tip)
$ hg log -G
o 6:c6ab0cc6d220 F
|\
- +---x 5:66f1a38021c9 F (rewritten using rebase as 6:c6ab0cc6d220)
- | | |
- | o | 4:26805aba1e60 C
+ | | x 5:66f1a38021c9 F (rewritten using rebase as 6:c6ab0cc6d220)
+ | |/|
+ | | x 4:7fb047a69f22 E (rewritten using replace as 1:112478962961)
| | |
- | | x 3:7fb047a69f22 E (rewritten using replace as 1:112478962961)
- | | |
- o---+ 2:b18e25de2cf5 D
- / /
- o / 1:112478962961 B
+ | o | 3:b18e25de2cf5 D
+ | |/
+ o | 2:26805aba1e60 C
+ | |
+ o | 1:112478962961 B
|/
o 0:426bada5c675 A
@@ -1458,8 +1458,8 @@
1 new orphan changesets
$ hg rebase -d C -b F
- rebasing 2:b18e25de2cf5 "D" (D)
- note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
+ rebasing 3:b18e25de2cf5 "D" (D)
+ note: not rebasing 4:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
rebasing 5:66f1a38021c9 "F" (F tip)
note: not rebasing 5:66f1a38021c9 "F" (F tip), its destination already has all its changes
$ hg log -G
@@ -1467,13 +1467,13 @@
|
| x 5:66f1a38021c9 F (pruned using rebase)
| |\
- o | | 4:26805aba1e60 C
- | | |
- | | x 3:7fb047a69f22 E (rewritten using replace as 1:112478962961)
+ | | x 4:7fb047a69f22 E (rewritten using replace as 1:112478962961)
| | |
- | x | 2:b18e25de2cf5 D (rewritten using rebase as 6:8f47515dda15)
+ | x | 3:b18e25de2cf5 D (rewritten using rebase as 6:8f47515dda15)
| |/
- o / 1:112478962961 B
+ o | 2:26805aba1e60 C
+ | |
+ o | 1:112478962961 B
|/
o 0:426bada5c675 A
@@ -1494,8 +1494,8 @@
1 new orphan changesets
$ hg rebase -d C -b F
- note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B)
- rebasing 3:7fb047a69f22 "E" (E)
+ note: not rebasing 3:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (B)
+ rebasing 4:7fb047a69f22 "E" (E)
rebasing 5:66f1a38021c9 "F" (F tip)
note: not rebasing 5:66f1a38021c9 "F" (F tip), its destination already has all its changes
@@ -1504,13 +1504,13 @@
|
| x 5:66f1a38021c9 F (pruned using rebase)
| |\
- o | | 4:26805aba1e60 C
- | | |
- | | x 3:7fb047a69f22 E (rewritten using rebase as 6:533690786a86)
+ | | x 4:7fb047a69f22 E (rewritten using rebase as 6:533690786a86)
| | |
- | x | 2:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
+ | x | 3:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
| |/
- o / 1:112478962961 B
+ o | 2:26805aba1e60 C
+ | |
+ o | 1:112478962961 B
|/
o 0:426bada5c675 A
@@ -1532,7 +1532,7 @@
$ hg rebase -d D -s B
rebasing 1:112478962961 "B" (B)
- note: not rebasing 3:26805aba1e60 "C" (C) and its descendants as this would cause divergence
+ note: not rebasing 2:26805aba1e60 "C" (C) and its descendants as this would cause divergence
$ cd ..
@@ -1561,7 +1561,6 @@
This strip seems to be the key to avoid an early divergence warning.
$ hg --config extensions.strip= --hidden strip -qr H
- 1 new orphan changesets
$ hg rebase -b 'desc("D")' -d 'desc("J")'
abort: this rebase will cause divergences from: 112478962961
@@ -1582,9 +1581,9 @@
1 new orphan changesets
$ hg rebase -r A+B+E -d F
note: not rebasing 4:a3d17304151f "A" (A), already in destination as 0:96cc3511f894 "C" (C)
- note: not rebasing 5:b23a2cc00842 "B" (B), already in destination as 1:058c1e1fb10a "D" (D)
+ note: not rebasing 6:b23a2cc00842 "B" (B), already in destination as 1:058c1e1fb10a "D" (D)
rebasing 7:dac5d11c5a7d "E" (E tip)
- abort: rebasing 7:dac5d11c5a7d will include unwanted changes from 3:59c792af609c, 5:b23a2cc00842 or 2:ba2b7fa7166d, 4:a3d17304151f
+ abort: rebasing 7:dac5d11c5a7d will include unwanted changes from 5:59c792af609c, 6:b23a2cc00842 or 3:ba2b7fa7166d, 4:a3d17304151f
[255]
$ cd ..
@@ -1707,19 +1706,19 @@
$ hg bookmark book -i
$ hg rebase -r B+D1 -d E
rebasing 1:112478962961 "B" (B)
- note: not rebasing 5:15ecf15e0114 "D1" (book D1 tip), already in destination as 2:0807738e0be9 "D2" (D2)
+ note: not rebasing 3:15ecf15e0114 "D1" (book D1), already in destination as 4:0807738e0be9 "D2" (D2)
1 new orphan changesets
$ hg log -G -T '{desc} {bookmarks}'
@ B book
|
+ o E
+ |
+ o D2
+ |
| x D1
| |
- o | E
- | |
| * C
| |
- o | D2
- | |
| x B
|/
o A
@@ -1753,10 +1752,10 @@
|\
| o 6:ecc93090a95c E
| |
- | o 4:0dc878468a23 B3
- | |
- o | 1:96cc3511f894 C
+ o | 4:96cc3511f894 C
/
+ o 3:0dc878468a23 B3
+ |
o 0:426bada5c675 A
For some reasons (--hidden, rebaseskipobsolete=0, directaccess, etc.),
@@ -1793,12 +1792,12 @@
$ cp -R . $TESTTMP/hidden-state2
$ hg log -G
- @ 2:b18e25de2cf5 D
+ @ 3:b18e25de2cf5 D
|
o 0:426bada5c675 A
$ hg summary
- parent: 2:b18e25de2cf5 tip
+ parent: 3:b18e25de2cf5 tip
D
branch: default
commit: 1 modified, 1 added, 1 unknown, 1 unresolved
@@ -1817,13 +1816,13 @@
continue: hg rebase --continue
$ hg rebase --continue
rebasing 1:2ec65233581b "B"
- rebasing 3:7829726be4dc "C" (tip)
+ rebasing 2:7829726be4dc "C"
$ hg log -G
@ 5:1964d5d5b547 C
|
o 4:68deb90c12a2 B
|
- o 2:b18e25de2cf5 D
+ o 3:b18e25de2cf5 D
|
o 0:426bada5c675 A
@@ -310,10 +310,10 @@
> R
> EOS
$ hg rebase -r D+E+F -d Z
- rebasing 5:5f2c926dfecf "D" (D)
- rebasing 6:b296604d9846 "E" (E)
- rebasing 7:caa9781e507d "F" (F tip)
- abort: rebasing 7:caa9781e507d will include unwanted changes from 4:d6003a550c2c or 3:c1e6b162678d
+ rebasing 4:5f2c926dfecf "D" (D)
+ rebasing 5:b296604d9846 "E" (E)
+ rebasing 6:caa9781e507d "F" (F)
+ abort: rebasing 6:caa9781e507d will include unwanted changes from 3:d6003a550c2c or 2:c1e6b162678d
[255]
The warning does not get printed if there is no unwanted change detected:
@@ -330,9 +330,9 @@
> R
> EOS
$ hg rebase -r B+C+D -d Z
- rebasing 3:c1e6b162678d "B" (B)
- rebasing 4:d6003a550c2c "C" (C)
- rebasing 5:c8f78076273e "D" (D tip)
+ rebasing 2:c1e6b162678d "B" (B)
+ rebasing 3:d6003a550c2c "C" (C)
+ rebasing 4:c8f78076273e "D" (D)
saved backup bundle to $TESTTMP/dual-merge-base2/.hg/strip-backup/d6003a550c2c-6f1424b6-rebase.hg
$ hg manifest -r 'desc(D)'
B
@@ -352,8 +352,8 @@
> B C Z
> EOS
$ hg rebase -r D+F -d Z
- rebasing 3:004dc1679908 "D" (D)
- rebasing 5:4be4cbf6f206 "F" (F tip)
+ rebasing 2:004dc1679908 "D" (D)
+ rebasing 4:4be4cbf6f206 "F" (F)
saved backup bundle to $TESTTMP/chosen-merge-base1/.hg/strip-backup/004dc1679908-06a66a3c-rebase.hg
$ hg manifest -r 'desc(F)'
C
@@ -373,8 +373,8 @@
> B C Z
> EOS
$ hg rebase -r E+F -d Z
- rebasing 4:974e4943c210 "E" (E)
- rebasing 5:4be4cbf6f206 "F" (F tip)
+ rebasing 3:974e4943c210 "E" (E)
+ rebasing 4:4be4cbf6f206 "F" (F)
saved backup bundle to $TESTTMP/chosen-merge-base2/.hg/strip-backup/974e4943c210-b2874da5-rebase.hg
$ hg manifest -r 'desc(F)'
B
@@ -54,13 +54,13 @@
#endif
$ hg continue
- rebasing 4:c1e6b162678d "B" (B)
- rebasing 8:6f7a236de685 "D" (D)
- rebasing 2:de008c61a447 "E" (E)
+ rebasing 2:c1e6b162678d "B" (B)
+ rebasing 4:6f7a236de685 "D" (D)
+ rebasing 5:de008c61a447 "E" (E)
rebasing 7:d2fa1c02b240 "G" (G)
- rebasing 9:6582e6951a9c "H" (H tip)
+ rebasing 8:6582e6951a9c "H" (H)
warning: orphaned descendants detected, not stripping c1e6b162678d, de008c61a447
- saved backup bundle to $TESTTMP/.hg/strip-backup/6f7a236de685-9880a3dc-rebase.hg
+ saved backup bundle to $TESTTMP/.hg/strip-backup/d2fa1c02b240-9880a3dc-rebase.hg
$ hg log -G -T '{rev}:{node|short} {desc}\n'
o 11:721b8da0a708 H
@@ -73,15 +73,15 @@
| |
| o 7:eac96551b107 B
|/
- | o 6:bd5548558fcf C
+ o 6:f424eb6a8c01 Z
+ |
+ | o 5:aeba276fcb7d F
| |
- | | o 5:aeba276fcb7d F
- | | |
- | o | 4:c1e6b162678d B
- | | |
- o | | 3:f424eb6a8c01 Z
- | | |
- +---o 2:de008c61a447 E
+ | o 4:de008c61a447 E
+ |/
+ | o 3:bd5548558fcf C
+ | |
+ | o 2:c1e6b162678d B
| |
| o 1:21a6c4502885 A
|/
@@ -227,9 +227,9 @@
> | |
> A D
> EOS
- rebasing 2:112478962961 "B" (B)
- rebasing 4:26805aba1e60 "C" (C)
- rebasing 3:cd488e83d208 "E" (E)
+ rebasing 1:112478962961 "B" (B)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 4:cd488e83d208 "E" (E)
rebasing 5:0069ba24938a "F" (F tip)
o 9: d150ff263fc8 F
|
@@ -239,7 +239,7 @@
| |
| o 6: d0071c3b0c88 B
| |
- | o 1: 058c1e1fb10a D
+ | o 3: 058c1e1fb10a D
|
o 0: 426bada5c675 A
@@ -254,18 +254,18 @@
> |\|
> A D
> EOS
- rebasing 3:a4256619d830 "B" (B)
- rebasing 6:8e139e245220 "C" (C tip)
+ rebasing 2:a4256619d830 "B" (B)
+ rebasing 5:8e139e245220 "C" (C)
o 8: d7d1169e9b1c C
|\
| o 7: 2ed0c8546285 B
| |\
- o | | 5: 8fdb2c1feb20 G
+ o | | 6: 8fdb2c1feb20 G
| | |
- | | o 4: cd488e83d208 E
- | | |
- o | | 2: a6661b868de9 F
+ o | | 4: a6661b868de9 F
/ /
+ | o 3: cd488e83d208 E
+ | |
| o 1: 058c1e1fb10a D
|
o 0: 426bada5c675 A
@@ -283,14 +283,14 @@
> |/
> A
> EOS
- rebasing 4:33441538d4aa "F" (F)
+ rebasing 5:33441538d4aa "F" (F)
rebasing 6:cf43ad9da869 "G" (G)
rebasing 7:eef94f3b5f03 "H" (H tip)
o 10: b3d84c6666cf H
|
- | o 5: f585351a92f8 D
+ | o 3: f585351a92f8 D
|/
- o 3: 26805aba1e60 C
+ o 2: 26805aba1e60 C
|
| o 9: f7c28a1a15e2 G
|/
@@ -298,7 +298,7 @@
|
| o 8: 02aa697facf7 F
|/
- | o 2: 7fb047a69f22 E
+ | o 4: 7fb047a69f22 E
|/
o 0: 426bada5c675 A
@@ -380,17 +380,17 @@
> \| |
> A H
> EOS
- rebasing 4:701514e1408d "I" (I)
+ rebasing 8:701514e1408d "I" (I)
rebasing 0:426bada5c675 "A" (A)
- rebasing 1:e7050b6e5048 "H" (H)
- rebasing 5:26805aba1e60 "C" (C)
- rebasing 7:cf89f86b485b "J" (J)
- rebasing 2:112478962961 "B" (B)
- rebasing 3:7fb047a69f22 "E" (E)
- rebasing 8:f585351a92f8 "D" (D)
+ rebasing 7:e7050b6e5048 "H" (H)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 9:cf89f86b485b "J" (J)
+ rebasing 1:112478962961 "B" (B)
+ rebasing 4:7fb047a69f22 "E" (E)
+ rebasing 3:f585351a92f8 "D" (D)
rebasing 10:ae41898d7875 "K" (K tip)
- rebasing 9:711f53bbef0b "G" (G)
- rebasing 6:64a8289d2492 "F" (F)
+ rebasing 6:711f53bbef0b "G" (G)
+ rebasing 5:64a8289d2492 "F" (F)
o 21: 3735afb3713a F
|
o 20: 07698142d7a7 G
@@ -434,11 +434,11 @@
> EOF
6 new orphan changesets
rebasing 16:5c432343bf59 "J" (J tip)
- rebasing 3:26805aba1e60 "C" (C)
- rebasing 6:f585351a92f8 "D" (D)
- rebasing 10:ffebc37c5d0b "E3" (E3)
- rebasing 13:fb184bcfeee8 "F2" (F2)
- rebasing 11:dc838ab4c0da "G" (G)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:f585351a92f8 "D" (D)
+ rebasing 6:ffebc37c5d0b "E3" (E3)
+ rebasing 8:fb184bcfeee8 "F2" (F2)
+ rebasing 9:dc838ab4c0da "G" (G)
o 22: 174f63d574a8 G
|
o 21: c9d9fbe76705 F2
@@ -453,13 +453,13 @@
|
o 15: eb74780f5094 I2
|
- o 12: 78309edd643f H
+ o 13: 78309edd643f H
|
- o 5: 4b4531bd8e1d B2
+ o 12: 4b4531bd8e1d B2
|
- o 4: 337c285c272b N
+ o 11: 337c285c272b N
|
- o 2: 699bc4b6fa22 M
+ o 10: 699bc4b6fa22 M
|
o 0: 426bada5c675 A
@@ -36,8 +36,8 @@
> EOF
$ HGEDITOR="sh $TESTTMP/editor.sh" hg rebase --collapse --keepbranches -e --source B --dest F
rebasing 1:112478962961 "B" (B)
- rebasing 3:26805aba1e60 "C" (C)
- rebasing 5:f585351a92f8 "D" (D tip)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:f585351a92f8 "D" (D)
==== before editing
Collapsed revision
* B
@@ -142,7 +142,7 @@
> EOF
$ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --source B --collapse -m 'custom message' -e --dest D
rebasing 1:112478962961 "B" (B)
- rebasing 3:26805aba1e60 "C" (C tip)
+ rebasing 2:26805aba1e60 "C" (C)
HGEDITFORM=rebase.collapse
saved backup bundle to $TESTTMP/message/.hg/strip-backup/112478962961-f4131707-rebase.hg
@@ -179,15 +179,15 @@
> EOF
$ hg rebase -s C --dest H --collapse
- abort: unable to collapse on top of 3, there is more than one external parent: 1, 6
+ abort: unable to collapse on top of 7, there is more than one external parent: 1, 5
[255]
Rebase and collapse - E onto H:
$ hg rebase -s E --dest H --collapse # root (E) is not a merge
- rebasing 5:49cb92066bfd "E" (E)
- rebasing 6:11abe3fb10b8 "F" (F)
- rebasing 7:64e264db77f0 "G" (G tip)
+ rebasing 4:49cb92066bfd "E" (E)
+ rebasing 5:11abe3fb10b8 "F" (F)
+ rebasing 6:64e264db77f0 "G" (G)
saved backup bundle to $TESTTMP/multiple-external-parents/.hg/strip-backup/49cb92066bfd-ee8a8a79-rebase.hg
$ hg tglog
@@ -195,13 +195,13 @@
|\ * E
| | * F
| | * G'
- | o 4: 4e4f9194f9f1 'D'
- | |\
- o | | 3: 575c4b5ec114 'H'
- | | |
- +---o 2: dc0947a82db8 'C'
+ | o 4: 575c4b5ec114 'H'
| |
- | o 1: 112478962961 'B'
+ o | 3: 4e4f9194f9f1 'D'
+ |\ \
+ | o | 2: dc0947a82db8 'C'
+ | |/
+ o / 1: 112478962961 'B'
|/
o 0: 426bada5c675 'A'
@@ -241,27 +241,25 @@
> EOF
$ hg heads --template="{rev}:{node} {branch}\n"
- 7:64e264db77f061f16d9132b70c5a58e2461fb630 default
- 3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
+ 7:575c4b5ec114d64b681d33f8792853568bfb2b2c default
+ 6:64e264db77f061f16d9132b70c5a58e2461fb630 default
$ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
- 64e264db77f061f16d9132b70c5a58e2461fb630 7
+ 575c4b5ec114d64b681d33f8792853568bfb2b2c 7
+ 64e264db77f061f16d9132b70c5a58e2461fb630 o default
575c4b5ec114d64b681d33f8792853568bfb2b2c o default
- 64e264db77f061f16d9132b70c5a58e2461fb630 o default
$ hg strip 4
- saved backup bundle to $TESTTMP/branch-heads/.hg/strip-backup/4e4f9194f9f1-5ec4b5e6-backup.hg
+ saved backup bundle to $TESTTMP/branch-heads/.hg/strip-backup/49cb92066bfd-ee8a8a79-backup.hg
$ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
- 11abe3fb10b8689b560681094b17fe161871d043 5
- dc0947a82db884575bb76ea10ac97b08536bfa03 o default
+ 575c4b5ec114d64b681d33f8792853568bfb2b2c 4
+ 4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 o default
575c4b5ec114d64b681d33f8792853568bfb2b2c o default
- 11abe3fb10b8689b560681094b17fe161871d043 o default
$ hg heads --template="{rev}:{node} {branch}\n"
- 5:11abe3fb10b8689b560681094b17fe161871d043 default
- 3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
- 2:dc0947a82db884575bb76ea10ac97b08536bfa03 default
+ 4:575c4b5ec114d64b681d33f8792853568bfb2b2c default
+ 3:4e4f9194f9f181c57f62e823e8bdfa46ab9e4ff4 default
$ cd ..
@@ -287,7 +285,7 @@
> EOF
$ hg rebase -s F --dest I --collapse # root (F) is not a merge
- rebasing 6:c82b08f646f1 "F" (F)
+ rebasing 5:c82b08f646f1 "F" (F)
file 'E' was deleted in local [dest] but was modified in other [source].
You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
What do you want to do? u
@@ -299,9 +297,9 @@
(no more unresolved files)
continue: hg rebase --continue
$ hg rebase -c
- rebasing 6:c82b08f646f1 "F" (F)
- rebasing 7:a6db7fa104e1 "G" (G)
- rebasing 8:e1d201b72d91 "H" (H tip)
+ rebasing 5:c82b08f646f1 "F" (F)
+ rebasing 6:a6db7fa104e1 "G" (G)
+ rebasing 7:e1d201b72d91 "H" (H)
saved backup bundle to $TESTTMP/external-parent/.hg/strip-backup/c82b08f646f1-f2721fbf-rebase.hg
$ hg tglog
@@ -309,13 +307,13 @@
|\ * F
| | * G
| | * H'
- | | o 5: 49cb92066bfd 'E'
+ | o 5: 08ebfeb61bac 'I'
+ | |
+ | | o 4: 49cb92066bfd 'E'
| | |
- | o | 4: 09143c0bf13e 'D'
- | |\|
- o | | 3: 08ebfeb61bac 'I'
+ o---+ 3: 09143c0bf13e 'D'
| | |
- | o | 2: dc0947a82db8 'C'
+ o | | 2: dc0947a82db8 'C'
|/ /
| o 1: 112478962961 'B'
|/
@@ -385,7 +383,7 @@
BROKEN: should be allowed
$ hg rebase --collapse -r 'B+D+F' -d G
- abort: unable to collapse on top of 2, there is more than one external parent: 3, 5
+ abort: unable to collapse on top of 6, there is more than one external parent: 2, 4
[255]
$ cd ..
@@ -403,7 +401,7 @@
> EOF
$ hg rebase --collapse -d H -s 'B+F'
- abort: unable to collapse on top of 5, there is more than one external parent: 1, 3
+ abort: unable to collapse on top of 7, there is more than one external parent: 2, 4
[255]
$ cd ..
@@ -425,9 +423,9 @@
$ hg rebase -s B --collapse --dest F
rebasing 1:112478962961 "B" (B)
- rebasing 3:26805aba1e60 "C" (C)
- rebasing 4:be0ef73c17ad "D" (D)
- rebasing 5:02c4367d6973 "E" (E tip)
+ rebasing 2:26805aba1e60 "C" (C)
+ rebasing 3:be0ef73c17ad "D" (D)
+ rebasing 4:02c4367d6973 "E" (E)
saved backup bundle to $TESTTMP/internal-merge/.hg/strip-backup/112478962961-1dfb057b-rebase.hg
$ hg tglog
@@ -708,16 +706,16 @@
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg tglog
- o 3: 63668d570d21 'C'
+ @ 3: 82b8abf9c185 'D'
|
- | @ 2: 82b8abf9c185 'D'
+ | o 2: 63668d570d21 'C'
| |
- % | 1: f899f3910ce7 'B'
+ | % 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ cat A
- <<<<<<< dest: 82b8abf9c185 D - test: D
+ <<<<<<< dest: 82b8abf9c185 D tip - test: D
D
||||||| base
A
@@ -730,47 +728,47 @@
continue: hg rebase --continue
$ hg rebase --continue
rebasing 1:f899f3910ce7 "B" (B)
- rebasing 3:63668d570d21 "C" (C tip)
+ rebasing 2:63668d570d21 "C" (C)
merging A
warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg tglog
- % 3: 63668d570d21 'C'
+ @ 3: 82b8abf9c185 'D'
|
- | @ 2: 82b8abf9c185 'D'
+ | % 2: 63668d570d21 'C'
| |
- o | 1: f899f3910ce7 'B'
+ | o 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ cat A
- <<<<<<< dest: 82b8abf9c185 D - test: D
+ <<<<<<< dest: 82b8abf9c185 D tip - test: D
BC
||||||| base
B
=======
C
- >>>>>>> source: 63668d570d21 C tip - test: C
+ >>>>>>> source: 63668d570d21 C - test: C
$ echo BD > A
$ hg resolve -m
(no more unresolved files)
continue: hg rebase --continue
$ HGEDITOR=false hg rebase --continue --config ui.interactive=1
already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
- rebasing 3:63668d570d21 "C" (C tip)
+ rebasing 2:63668d570d21 "C" (C)
abort: edit failed: false exited with status 1
[255]
$ hg tglog
- % 3: 63668d570d21 'C'
+ @ 3: 82b8abf9c185 'D'
|
- | @ 2: 82b8abf9c185 'D'
+ | % 2: 63668d570d21 'C'
| |
- o | 1: f899f3910ce7 'B'
+ | o 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
$ hg rebase --continue
already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
- already rebased 3:63668d570d21 "C" (C tip) as 82b8abf9c185
+ already rebased 2:63668d570d21 "C" (C) as 82b8abf9c185
saved backup bundle to $TESTTMP/aborted-editor/.hg/strip-backup/f899f3910ce7-7cab5e15-rebase.hg
@@ -24,7 +24,7 @@
A: A':Z
B: B':Z
AB: A':Z B':Z
- C: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
+ C: ABORT: cannot rebase 2:a35c07e8a2a4 without moving at least one of its parents
AC: A':Z C':A'B
BC: B':Z C':B'A
ABC: A':Z B':Z C':A'B'
@@ -32,7 +32,7 @@
AD: A':Z D':Z
BD: B':Z D':B'
ABD: A':Z B':Z D':B'
- CD: ABORT: cannot rebase 3:a35c07e8a2a4 without moving at least one of its parents
+ CD: ABORT: cannot rebase 2:a35c07e8a2a4 without moving at least one of its parents
ACD: A':Z C':A'B D':Z
BCD: B':Z C':B'A D':B'
ABCD: A':Z B':Z C':A'B' D':B'
@@ -37,8 +37,8 @@
> R
> EOS
rebasing 3:d6003a550c2c "C" (C)
- rebasing 5:4526cf523425 "D" (D)
- rebasing 6:b296604d9846 "E" (E tip)
+ rebasing 4:4526cf523425 "D" (D)
+ rebasing 5:b296604d9846 "E" (E)
o 6: 4870f5e7df37 E
|
| o 5: dc999528138a D
@@ -68,7 +68,7 @@
> EOS
rebasing 2:c1e6b162678d "B" (B)
rebasing 3:d6003a550c2c "C" (C)
- rebasing 6:54c8f00cb91c "E" (E tip)
+ rebasing 5:54c8f00cb91c "E" (E)
o 6: 00598421b616 E
|\
| o 5: 6b3e11729672 C
@@ -95,7 +95,7 @@
> R
> EOS
rebasing 2:c1e6b162678d "B" (B)
- rebasing 5:54c8f00cb91c "E" (E tip)
+ rebasing 4:54c8f00cb91c "E" (E)
o 5: e583bf3ff54c E
|\
| o 4: 85260910e847 B
@@ -121,7 +121,7 @@
> EOS
rebasing 2:c1e6b162678d "B" (B)
rebasing 3:d6003a550c2c "C" (C)
- rebasing 5:54c8f00cb91c "E" (E tip)
+ rebasing 4:54c8f00cb91c "E" (E)
o 5: 00598421b616 E
|\
| o 4: 6b3e11729672 C
@@ -168,11 +168,11 @@
> R
> EOS
rebasing 3:a113dbaa660a "B1" (B1)
- rebasing 5:06ce7b1cc8c2 "B2" (B2)
+ rebasing 4:06ce7b1cc8c2 "B2" (B2)
rebasing 6:0ac98cce32d3 "C1" (C1)
- rebasing 8:781512f5e33d "C2" (C2)
+ rebasing 7:781512f5e33d "C2" (C2)
rebasing 9:428d8c18f641 "E1" (E1)
- rebasing 11:e1bf82f6b6df "E2" (E2)
+ rebasing 10:e1bf82f6b6df "E2" (E2)
o 12: e4a37b6fdbd2 E2
|
o 11: 9675bea983df E1
@@ -211,18 +211,18 @@
> A A A
> EOS
rebasing 2:dc0947a82db8 "C" (C)
- rebasing 8:4e4f9194f9f1 "D" (D)
- rebasing 9:03ca77807e91 "E" (E)
- rebasing 10:afc707c82df0 "F" (F)
- rebasing 13:690dfff91e9e "G" (G)
- rebasing 14:2893b886bb10 "H" (H)
- rebasing 3:08ebfeb61bac "I" (I)
- rebasing 4:a0a5005cec67 "J" (J)
- rebasing 5:83780307a7e8 "K" (K)
- rebasing 6:e131637a1cb6 "L" (L)
- rebasing 11:d1f6d0c3c7e4 "M" (M)
- rebasing 12:7aaec6f81888 "N" (N)
- rebasing 15:325bc8f1760d "P" (P tip)
+ rebasing 3:4e4f9194f9f1 "D" (D)
+ rebasing 4:03ca77807e91 "E" (E)
+ rebasing 5:afc707c82df0 "F" (F)
+ rebasing 6:690dfff91e9e "G" (G)
+ rebasing 7:2893b886bb10 "H" (H)
+ rebasing 8:08ebfeb61bac "I" (I)
+ rebasing 9:a0a5005cec67 "J" (J)
+ rebasing 10:83780307a7e8 "K" (K)
+ rebasing 11:e131637a1cb6 "L" (L)
+ rebasing 12:d1f6d0c3c7e4 "M" (M)
+ rebasing 13:7aaec6f81888 "N" (N)
+ rebasing 14:325bc8f1760d "P" (P)
o 15: 6ef6a0ea3b18 P
|\
| o 14: 20ba3610a7e5 N
@@ -269,25 +269,25 @@
> M0
> EOF
rebasing 4:8817fae53c94 "C0" (C0)
- rebasing 6:06ca5dfe3b5b "B2" (B2)
- rebasing 7:73508237b032 "C1" (C1)
- rebasing 9:fdb955e2faed "A2" (A2)
- rebasing 11:4e449bd1a643 "A3" (A3)
- rebasing 10:0a33b0519128 "B1" (B1)
- rebasing 12:209327807c3a "B3" (B3 tip)
+ rebasing 5:73508237b032 "C1" (C1)
+ rebasing 6:fdb955e2faed "A2" (A2)
+ rebasing 7:4e449bd1a643 "A3" (A3)
+ rebasing 8:0a33b0519128 "B1" (B1)
+ rebasing 10:06ca5dfe3b5b "B2" (B2)
+ rebasing 11:209327807c3a "B3" (B3)
o 12: ceb984566332 B3
|\
- | o 11: 19d93caac497 B1
+ | o 11: 74275896650e B2
+ | |
+ o | 10: 19d93caac497 B1
| |
- | | o 10: 058e73d3916b A3
+ | | o 9: 058e73d3916b A3
| | |\
- | +---o 9: 0ba13ad72234 A2
+ +-----o 8: 0ba13ad72234 A2
| | |
- | o | 8: c122c2af10c6 C1
+ o | | 7: c122c2af10c6 C1
| | |
- o | | 7: 74275896650e B2
- | | |
- | o | 6: 455ba9bd3ea2 C0
+ o | | 6: 455ba9bd3ea2 C0
|/ /
o | 5: b3d7d2fda53b Z
| |
@@ -318,7 +318,7 @@
> \|\|
> C A
> EOF
- rebasing 2:112478962961 "B" (B)
+ rebasing 1:112478962961 "B" (B)
rebasing 3:b70f76719894 "D" (D)
o 4: 511efad7bf13 D
|
@@ -350,7 +350,7 @@
> A C
> EOF
rebasing 2:f675d5a1c6a4 "B" (B)
- rebasing 5:f68696fe6af8 "E" (E tip)
+ rebasing 4:f68696fe6af8 "E" (E)
o 5: f6e6f5081554 E
|\
| o 4: 30cabcba27be B
@@ -1422,7 +1422,7 @@
test-debug-phase: move rev 0: 1 -> 0
test-debug-phase: move rev 1: 1 -> 0
test-debug-phase: move rev 2: 1 -> 0
- test-debug-phase: move rev 4: 1 -> 0
+ test-debug-phase: move rev 3: 1 -> 0
$ hg log -G -T '{shortest(node, 5)} {phase}'
o bb947 draft
@@ -1431,9 +1431,9 @@
|/|
o | 13b7b draft
| |
- | o f5853 public
+ o | c67c4 draft
| |
- o | c67c4 draft
+ | o f5853 public
| |
| o 26805 public
|/
@@ -1458,8 +1458,8 @@
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
- test-debug-phase: new rev 3: x -> 1
- test-debug-phase: new rev 4: x -> 0
+ test-debug-phase: new rev 3: x -> 0
+ test-debug-phase: new rev 4: x -> 1
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
@@ -1471,9 +1471,9 @@
|/|
o | 13b7b draft
| |
- | o f5853 public
+ o | c67c4 draft
| |
- o | c67c4 draft
+ | o f5853 public
| |
| o 26805 public
|/
@@ -1500,8 +1500,8 @@
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
- test-debug-phase: new rev 3: x -> 1
- test-debug-phase: new rev 4: x -> 0
+ test-debug-phase: new rev 3: x -> 0
+ test-debug-phase: new rev 4: x -> 1
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
@@ -1513,9 +1513,9 @@
|/|
o | 13b7b draft
| |
- | o f5853 public
+ o | c67c4 draft
| |
- o | c67c4 draft
+ | o f5853 public
| |
| o 26805 public
|/
@@ -1542,8 +1542,8 @@
test-debug-phase: new rev 0: x -> 0
test-debug-phase: new rev 1: x -> 0
test-debug-phase: new rev 2: x -> 0
- test-debug-phase: new rev 3: x -> 1
- test-debug-phase: new rev 4: x -> 0
+ test-debug-phase: new rev 3: x -> 0
+ test-debug-phase: new rev 4: x -> 1
test-debug-phase: new rev 5: x -> 1
test-debug-phase: new rev 6: x -> 1
test-debug-phase: new rev 7: x -> 1
@@ -1555,9 +1555,9 @@
|/|
o | 13b7b draft
| |
- | o f5853 public
+ o | c67c4 draft
| |
- o | c67c4 draft
+ | o f5853 public
| |
| o 26805 public
|/
@@ -756,7 +756,7 @@
|
| * 4:70d5a63ca112 B4 content-divergent
| |
- | o 1:48b9aae0607f Z
+ | o 2:48b9aae0607f Z
|
o 0:426bada5c675 A
@@ -39,10 +39,10 @@
$ hg log -G -T '{desc}'
o foo
|\
- +---o bar
- | | |
- | o | baz
- | /
+ | o baz
+ |
+ | o bar
+ |/|
+---o d
| |
+---o c
@@ -72,16 +72,16 @@
$ hg log -G -T '{desc}'
o foo
|\
- | | o d
- | |/
- | | o c
- | |/
- | | o bar
- | |/|
- | o | b
- | |/
- o / baz
- /
+ +---o d
+ | |
+ +---o c
+ | |
+ | o baz
+ |
+ | o bar
+ |/|
+ o | b
+ |/
o a
$ reinit
@@ -105,16 +105,16 @@
$ hg log -G -T '{desc}'
o foo
|\
- | | o d
- | |/
- | | o c
- | |/
- | | o bar
- | |/|
- | o | b
- | |/
- o / baz
- /
+ +---o d
+ | |
+ +---o c
+ | |
+ | o baz
+ |
+ | o bar
+ |/|
+ o | b
+ |/
o a
$ hg manifest -r a
@@ -209,22 +209,22 @@
1 new orphan changesets
$ hg log -r 'sort(all(), topo)' -G --hidden -T '{desc} {node}'
- * G 711f53bbef0bebd12eb6f0511d5e2e998b984846
+ x I 58e6b987bf7045fcd9c54f496396ca1d1fc81047
+ |
+ o H 575c4b5ec114d64b681d33f8792853568bfb2b2c
|
- x F 64a8289d249234b9886244d379f15e6b650b28e3
- |
- o E 7fb047a69f220c21711122dfd94305a9efb60cba
- |
+ | * G 711f53bbef0bebd12eb6f0511d5e2e998b984846
+ | |
+ | x F 64a8289d249234b9886244d379f15e6b650b28e3
+ | |
+ | o E 7fb047a69f220c21711122dfd94305a9efb60cba
+ |/
| x D be0ef73c17ade3fc89dc41701eb9fc3a91b58282
| |
| | x C 26805aba1e600a82e93661149f2313866a221a7b
| |/
| x B 112478962961147124edd43549aedd1a335e44bf
|/
- | x I 58e6b987bf7045fcd9c54f496396ca1d1fc81047
- | |
- | o H 575c4b5ec114d64b681d33f8792853568bfb2b2c
- |/
o A 426bada5c67598ca65036d57d9e4b64b0c1ce7a0
$ hg debugobsolete
@@ -327,13 +327,13 @@
leafs = [k for k, v in remaining.items() if not v]
if not leafs:
raise error.Abort(_('the graph has cycles'))
- for leaf in sorted(leafs):
- if leaf in visible:
- yield leaf, edges[leaf]
- del remaining[leaf]
- for k, v in remaining.items():
- if leaf in v:
- v.remove(leaf)
+ leaf = min(leafs)
+ if leaf in visible:
+ yield leaf, edges[leaf]
+ del remaining[leaf]
+ for k, v in remaining.items():
+ if leaf in v:
+ v.remove(leaf)
def _getcomments(text):