annotate tests/test-rebase-emptycommit.t @ 33590:52f82e7d6a7e stable

rebase: move bookmark to destination for commits becoming empty (issue5627) When rebasing a changeset X and that changeset becomes empty, we should move the bookmark on X to rebase destination. This is a regression caused by the scmutil.cleanupnodes refactoring for rebase. The `adjustdest` function calculates the destination of bookmark movement. It was back-ported from https://phab.mercurial-scm.org/D21. It might be slightly more powerful than the minimal requirement to solve this issue. For example, it's impossible for a merge changeset to become empty while any of its ancestors does not become empty, but the code could handle that case. Since the code is reasonably short and clean, and helps the upcoming D21 series, I'd like to check-in `adjustdest` now. Thanks Martin von Zweigbergk for spotting corner cases (-k and descendant with bookmarks) in this area!
author Jun Wu <quark@fb.com>
date Mon, 24 Jul 2017 23:52:56 -0700
parents
children 4f969b9e0cf5 2f427b57bf90
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33590
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
1 $ cat >> $HGRCPATH<<EOF
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
2 > [extensions]
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
3 > rebase=
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
4 > drawdag=$TESTDIR/drawdag.py
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
5 > EOF
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
6
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
7 $ hg init non-merge
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
8 $ cd non-merge
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
9 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
10 > F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
11 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
12 > E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
13 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
14 > D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
15 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
16 > B C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
17 > |/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
18 > A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
19 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
20
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
21 $ for i in C D E F; do
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
22 > hg bookmark -r $i -i BOOK-$i
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
23 > done
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
24
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
25 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
26 > E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
27 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
28 > D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
29 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
30 > B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
31 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
32
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
33 $ hg log -G -T '{rev} {desc} {bookmarks}'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
34 o 7 E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
35 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
36 o 6 D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
37 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
38 | o 5 F BOOK-F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
39 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
40 | o 4 E BOOK-E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
41 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
42 | o 3 D BOOK-D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
43 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
44 | o 2 C BOOK-C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
45 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
46 o | 1 B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
47 |/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
48 o 0 A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
49
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
50 With --keep, bookmark should not move
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
51
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
52 $ hg rebase -r 3+4 -d E --keep
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
53 rebasing 3:e7b3f00ed42e "D" (BOOK-D)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
54 note: rebase of 3:e7b3f00ed42e created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
55 rebasing 4:69a34c08022a "E" (BOOK-E)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
56 note: rebase of 4:69a34c08022a created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
57 $ hg log -G -T '{rev} {desc} {bookmarks}'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
58 o 7 E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
59 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
60 o 6 D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
61 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
62 | o 5 F BOOK-F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
63 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
64 | o 4 E BOOK-E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
65 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
66 | o 3 D BOOK-D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
67 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
68 | o 2 C BOOK-C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
69 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
70 o | 1 B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
71 |/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
72 o 0 A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
73
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
74 Bookmark is usually an indication of a head. For changes that are introduced by
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
75 an ancestor of bookmark B, after moving B to B-NEW, the changes are ideally
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
76 still introduced by an ancestor of changeset on B-NEW. In the below case,
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
77 "BOOK-D", and "BOOK-E" include changes introduced by "C".
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
78
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
79 $ hg rebase -s 2 -d E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
80 rebasing 2:dc0947a82db8 "C" (C BOOK-C)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
81 rebasing 3:e7b3f00ed42e "D" (BOOK-D)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
82 note: rebase of 3:e7b3f00ed42e created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
83 rebasing 4:69a34c08022a "E" (BOOK-E)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
84 note: rebase of 4:69a34c08022a created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
85 rebasing 5:6b2aeab91270 "F" (F BOOK-F)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
86 saved backup bundle to $TESTTMP/non-merge/.hg/strip-backup/dc0947a82db8-52bb4973-rebase.hg (glob)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
87 $ hg log -G -T '{rev} {desc} {bookmarks}'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
88 o 5 F BOOK-F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
89 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
90 o 4 C BOOK-C BOOK-D BOOK-E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
91 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
92 o 3 E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
93 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
94 o 2 D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
95 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
96 o 1 B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
97 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
98 o 0 A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
99
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
100 Merge and its ancestors all become empty
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
101
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
102 $ hg init $TESTTMP/merge1
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
103 $ cd $TESTTMP/merge1
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
104
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
105 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
106 > E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
107 > /|
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
108 > B C D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
109 > \|/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
110 > A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
111 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
112
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
113 $ for i in C D E; do
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
114 > hg bookmark -r $i -i BOOK-$i
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
115 > done
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
116
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
117 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
118 > H
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
119 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
120 > D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
121 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
122 > C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
123 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
124 > B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
125 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
126
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
127 $ hg rebase -r '(A::)-(B::)-A' -d H
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
128 rebasing 2:dc0947a82db8 "C" (BOOK-C)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
129 note: rebase of 2:dc0947a82db8 created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
130 rebasing 3:b18e25de2cf5 "D" (BOOK-D)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
131 note: rebase of 3:b18e25de2cf5 created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
132 rebasing 4:86a1f6686812 "E" (E BOOK-E)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
133 note: rebase of 4:86a1f6686812 created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
134 saved backup bundle to $TESTTMP/merge1/.hg/strip-backup/b18e25de2cf5-1fd0a4ba-rebase.hg (glob)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
135
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
136 $ hg log -G -T '{rev} {desc} {bookmarks}'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
137 o 4 H BOOK-C BOOK-D BOOK-E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
138 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
139 o 3 D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
140 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
141 o 2 C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
142 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
143 o 1 B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
144 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
145 o 0 A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
146
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
147 Part of ancestors of a merge become empty
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
148
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
149 $ hg init $TESTTMP/merge2
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
150 $ cd $TESTTMP/merge2
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
151
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
152 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
153 > G
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
154 > /|
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
155 > E F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
156 > | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
157 > B C D
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
158 > \|/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
159 > A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
160 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
161
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
162 $ for i in C D E F G; do
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
163 > hg bookmark -r $i -i BOOK-$i
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
164 > done
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
165
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
166 $ hg debugdrawdag<<'EOS'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
167 > H
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
168 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
169 > F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
170 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
171 > C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
172 > |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
173 > B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
174 > EOS
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
175
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
176 $ hg rebase -r '(A::)-(B::)-A' -d H
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
177 rebasing 2:dc0947a82db8 "C" (BOOK-C)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
178 note: rebase of 2:dc0947a82db8 created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
179 rebasing 3:b18e25de2cf5 "D" (D BOOK-D)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
180 rebasing 4:03ca77807e91 "E" (E BOOK-E)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
181 rebasing 5:ad6717a6a58e "F" (BOOK-F)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
182 note: rebase of 5:ad6717a6a58e created no changes to commit
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
183 rebasing 6:c58e8bdac1f4 "G" (G BOOK-G)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
184 saved backup bundle to $TESTTMP/merge2/.hg/strip-backup/b18e25de2cf5-2d487005-rebase.hg (glob)
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
185
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
186 $ hg log -G -T '{rev} {desc} {bookmarks}'
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
187 o 7 G BOOK-G
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
188 |\
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
189 | o 6 E BOOK-E
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
190 | |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
191 o | 5 D BOOK-D BOOK-F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
192 |/
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
193 o 4 H BOOK-C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
194 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
195 o 3 F
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
196 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
197 o 2 C
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
198 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
199 o 1 B
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
200 |
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
201 o 0 A
52f82e7d6a7e rebase: move bookmark to destination for commits becoming empty (issue5627)
Jun Wu <quark@fb.com>
parents:
diff changeset
202