annotate tests/test-rebase-obsolete3.t @ 49603:3eda36e9b3d6 stable

matcher: fix issues regex flag contained in pattern (issue6759) Python 3.11 is now enforcing that flag must be at the beginning of the regex This creates a serious regression for people using Python 3.11 with an hgignore using flag in a "relre" pattern. We now detect any flags in such pattern and "prepend" our ".*" pattern after them. In addition, we now insert the flag in the regexp to only affect the pattern we are rewriting. Otherwise, the regex built from the combined pattern would these flags in the middle of it anyway. As a side effect of this last change, we fix a bug… before this change regex flag in a pattern would affect all combined patterns. That was bad and is not longer the case. The Rust code needs to be updated to fix that very bug, but we will do it in another changeset.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 16 Nov 2022 13:05:01 +0100
parents 535de0e34a79
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ==========================
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Test rebase with obsolete
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ==========================
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 Enable obsolete
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 $ cat >> $HGRCPATH << EOF
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45458
diff changeset
8 > [command-templates]
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45458
diff changeset
9 > log= {rev}:{node|short} {desc|firstline}{if(obsolete,' ({obsfate})')}
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22260
diff changeset
10 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34865
diff changeset
11 > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
12 > evolution.allowunstable=True
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
13 > [phases]
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 > publish=False
27011
53c668dc6b16 rebase: fix a typo in test-rebase-obsolete
Laurent Charignon <lcharignon@fb.com>
parents: 26902
diff changeset
15 > [extensions]
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 > rebase=
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
17 > drawdag=$TESTDIR/drawdag.py
39093
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
18 > strip=
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
19 > EOF
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
21 Divergence cases due to obsolete changesets
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
22 -------------------------------------------
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
23
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
24 We should ignore branches with unstable changesets when they are based on an
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
25 obsolete changeset which successor is in rebase set.
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
26
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
27 $ hg init divergence
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
28 $ cd divergence
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
29 $ cat >> .hg/hgrc << EOF
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
30 > [extensions]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
31 > strip =
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
32 > [alias]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
33 > strip = strip --no-backup --quiet
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
34 > [templates]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
35 > instabilities = '{rev}:{node|short} {desc|firstline}{if(instabilities," ({instabilities})")}\n'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
36 > EOF
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
37
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
38 $ hg debugdrawdag <<EOF
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
39 > e f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
40 > | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
41 > d' d # replace: d -> d'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
42 > \ /
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
43 > c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
44 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
45 > x b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
46 > \|
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
47 > a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
48 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
49 1 new orphan changesets
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
50 $ hg log -G -r 'a'::
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
51 * 7:1143e9adc121 f
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
52 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
53 | o 6:d60ebfa0f1cb e
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
54 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
55 | o 5:027ad6c5830d d'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
56 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
57 x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
58 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
59 o 3:a82ac2b38757 c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
60 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
61 | o 2:630d7c95eff7 x
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
62 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
63 o | 1:488e1b7e7341 b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
64 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
65 o 0:b173517d0057 a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
66
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
67
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
68 Changeset d and its descendants are excluded to avoid divergence of d, which
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
69 would occur because the successor of d (d') is also in rebaseset. As a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
70 consequence f (descendant of d) is left behind.
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
71
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
72 $ hg rebase -b 'e' -d 'x'
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
73 rebasing 1:488e1b7e7341 b "b"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
74 rebasing 3:a82ac2b38757 c "c"
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
75 note: not rebasing 4:76be324c128b d "d" and its descendants as this would cause divergence
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
76 rebasing 5:027ad6c5830d d' "d'"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
77 rebasing 6:d60ebfa0f1cb e "e"
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
78 $ hg log -G -r 'a'::
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
79 o 11:eb6d63fc4ed5 e
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
80 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
81 o 10:44d8c724a70c d'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
82 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
83 o 9:d008e6b4d3fd c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
84 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
85 o 8:67e8f4a16c49 b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
86 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
87 | * 7:1143e9adc121 f
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
88 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
89 | | x 6:d60ebfa0f1cb e (rewritten using rebase as 11:eb6d63fc4ed5)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
90 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
91 | | x 5:027ad6c5830d d' (rewritten using rebase as 10:44d8c724a70c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
92 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
93 | x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
94 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
95 | x 3:a82ac2b38757 c (rewritten using rebase as 9:d008e6b4d3fd)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
96 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
97 o | 2:630d7c95eff7 x
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
98 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
99 | x 1:488e1b7e7341 b (rewritten using rebase as 8:67e8f4a16c49)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
100 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
101 o 0:b173517d0057 a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
102
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
103 $ hg strip -r 8:
39326
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
104 $ hg log -G -r 'a'::
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
105 * 7:1143e9adc121 f
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
106 |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
107 | o 6:d60ebfa0f1cb e
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
108 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
109 | o 5:027ad6c5830d d'
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
110 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
111 x | 4:76be324c128b d (rewritten using replace as 5:027ad6c5830d)
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
112 |/
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
113 o 3:a82ac2b38757 c
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
114 |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
115 | o 2:630d7c95eff7 x
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
116 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
117 o | 1:488e1b7e7341 b
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
118 |/
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
119 o 0:b173517d0057 a
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
120
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
121
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
122 If the rebase set has an obsolete (d) with a successor (d') outside the rebase
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
123 set and none in destination, we still get the divergence warning.
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
124 By allowing divergence, we can perform the rebase.
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
125
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
126 $ hg rebase -r 'c'::'f' -d 'x'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
127 abort: this rebase will cause divergences from: 76be324c128b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
128 (to force the rebase please set experimental.evolution.allowdivergence=True)
46632
9989a276712f errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents: 45840
diff changeset
129 [20]
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
130 $ hg rebase --config experimental.evolution.allowdivergence=true -r 'c'::'f' -d 'x'
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
131 rebasing 3:a82ac2b38757 c "c"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
132 rebasing 4:76be324c128b d "d"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
133 rebasing 7:1143e9adc121 f tip "f"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
134 1 new orphan changesets
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
135 2 new content-divergent changesets
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
136 $ hg log -G -r 'a':: -T instabilities
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
137 o 10:e1744ea07510 f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
138 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
139 * 9:e2b36ea9a0a0 d (content-divergent)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
140 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
141 o 8:6a0376de376e c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
142 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
143 | x 7:1143e9adc121 f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
144 | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
145 | | * 6:d60ebfa0f1cb e (orphan)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
146 | | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
147 | | * 5:027ad6c5830d d' (orphan content-divergent)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
148 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
149 | x | 4:76be324c128b d
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
150 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
151 | x 3:a82ac2b38757 c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
152 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
153 o | 2:630d7c95eff7 x
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
154 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
155 | o 1:488e1b7e7341 b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
156 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
157 o 0:b173517d0057 a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
158
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
159 $ hg strip -r 8:
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
160
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
161 (Not skipping obsoletes means that divergence is allowed.)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
162
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
163 $ hg rebase --config experimental.rebaseskipobsolete=false -r 'c'::'f' -d 'x'
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
164 rebasing 3:a82ac2b38757 c "c"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
165 rebasing 4:76be324c128b d "d"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
166 rebasing 7:1143e9adc121 f tip "f"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
167 1 new orphan changesets
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
168 2 new content-divergent changesets
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
169
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
170 $ hg strip -r 0:
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
171
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
172 Similar test on a more complex graph
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
173
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
174 $ hg debugdrawdag <<EOF
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
175 > g
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
176 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
177 > f e
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
178 > | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
179 > e' d # replace: e -> e'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
180 > \ /
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
181 > c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
182 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
183 > x b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
184 > \|
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
185 > a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
186 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
187 1 new orphan changesets
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
188 $ hg log -G -r 'a':
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
189 * 8:2876ce66c6eb g
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
190 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
191 | o 7:3ffec603ab53 f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
192 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
193 x | 6:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
194 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
195 | o 5:63324dc512ea e'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
196 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
197 o | 4:76be324c128b d
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
198 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
199 o 3:a82ac2b38757 c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
200 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
201 | o 2:630d7c95eff7 x
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
202 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
203 o | 1:488e1b7e7341 b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
204 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
205 o 0:b173517d0057 a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
206
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
207 $ hg rebase -b 'f' -d 'x'
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
208 rebasing 1:488e1b7e7341 b "b"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
209 rebasing 3:a82ac2b38757 c "c"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
210 rebasing 4:76be324c128b d "d"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
211 note: not rebasing 6:e36fae928aec e "e" and its descendants as this would cause divergence
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
212 rebasing 5:63324dc512ea e' "e'"
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
213 rebasing 7:3ffec603ab53 f "f"
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
214 $ hg log -G -r 'a':
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
215 o 13:ef6251596616 f
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
216 |
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
217 o 12:b6f172e64af9 e'
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
218 |
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
219 | o 11:a1707a5b7c2c d
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
220 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
221 o 10:d008e6b4d3fd c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
222 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
223 o 9:67e8f4a16c49 b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
224 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
225 | * 8:2876ce66c6eb g
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
226 | |
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
227 | | x 7:3ffec603ab53 f (rewritten using rebase as 13:ef6251596616)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
228 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
229 | x | 6:e36fae928aec e (rewritten using replace as 5:63324dc512ea)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
230 | | |
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
231 | | x 5:63324dc512ea e' (rewritten using rebase as 12:b6f172e64af9)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
232 | | |
46834
535de0e34a79 rebase: filter out descendants of divergence-causing commits earlier
Martin von Zweigbergk <martinvonz@google.com>
parents: 46830
diff changeset
233 | x | 4:76be324c128b d (rewritten using rebase as 11:a1707a5b7c2c)
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
234 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
235 | x 3:a82ac2b38757 c (rewritten using rebase as 10:d008e6b4d3fd)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
236 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
237 o | 2:630d7c95eff7 x
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
238 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
239 | x 1:488e1b7e7341 b (rewritten using rebase as 9:67e8f4a16c49)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
240 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
241 o 0:b173517d0057 a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
242
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
243
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
244 issue5782
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
245 $ hg strip -r 0:
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
246 $ hg debugdrawdag <<EOF
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
247 > d
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
248 > |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
249 > c1 c # replace: c -> c1
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
250 > \ /
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
251 > b
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
252 > |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
253 > a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
254 > EOF
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
255 1 new orphan changesets
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
256 $ hg debugobsolete `hg log -T "{node}" --hidden -r 'desc("c1")'`
42893
34a46d48d24e debugobsolete: also issue the "new obsmarkers" messsage
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 40865
diff changeset
257 1 new obsolescence markers
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
258 obsoleted 1 changesets
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
259 $ hg log -G -r 'a': --hidden
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
260 * 4:76be324c128b d
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
261 |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
262 | x 3:ef8a456de8fa c1 (pruned)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
263 | |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
264 x | 2:a82ac2b38757 c (rewritten using replace as 3:ef8a456de8fa)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
265 |/
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
266 o 1:488e1b7e7341 b
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
267 |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
268 o 0:b173517d0057 a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
269
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
270 $ hg rebase -d 0 -r 2
46801
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
271 note: not rebasing 2:a82ac2b38757 c "c", it has no successor
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
272 $ hg log -G -r 'a': --hidden
46801
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
273 * 4:76be324c128b d
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
274 |
46801
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
275 | x 3:ef8a456de8fa c1 (pruned)
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
276 | |
46801
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
277 x | 2:a82ac2b38757 c (rewritten using replace as 3:ef8a456de8fa)
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
278 |/
46801
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
279 o 1:488e1b7e7341 b
32399d0813e0 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com>
parents: 46632
diff changeset
280 |
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
281 o 0:b173517d0057 a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
282
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
283 $ cd ..
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
284
46830
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
285 Start a normal rebase. When it runs into conflicts, rewrite one of the
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
286 commits in the rebase set, causing divergence when the rebase continues.
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
287
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
288 $ hg init $TESTTMP/new-divergence-after-conflict
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
289 $ cd $TESTTMP/new-divergence-after-conflict
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
290 $ hg debugdrawdag <<'EOS'
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
291 > C2
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
292 > | C1
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
293 > |/
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
294 > B # B/D=B
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
295 > | D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
296 > |/
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
297 > A
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
298 > EOS
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
299 $ hg rebase -r B::C1 -d D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
300 rebasing 1:2ec65233581b B "B"
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
301 merging D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
302 warning: conflicts while merging D! (edit, then use 'hg resolve --mark')
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
303 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
304 [240]
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
305 $ hg debugobsolete $(hg log -r C1 -T '{node}') $(hg log -r C2 -T '{node}')
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
306 1 new obsolescence markers
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
307 obsoleted 1 changesets
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
308 $ hg log -G
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
309 o 4:fdb9df6b130c C2
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
310 |
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
311 | x 3:7e5bfd3c08f0 C1 (rewritten as 4:fdb9df6b130c)
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
312 |/
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
313 | @ 2:b18e25de2cf5 D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
314 | |
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
315 % | 1:2ec65233581b B
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
316 |/
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
317 o 0:426bada5c675 A
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
318
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
319 $ echo resolved > D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
320 $ hg resolve -m D
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
321 (no more unresolved files)
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
322 continue: hg rebase --continue
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
323 $ hg rebase -c
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
324 rebasing 1:2ec65233581b B "B"
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
325 note: not rebasing 3:7e5bfd3c08f0 C1 "C1" and its descendants as this would cause divergence
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
326 1 new orphan changesets
6648307d4fe8 tests: test divergence created during interrupted rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 46829
diff changeset
327
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
328 Rebase merge where successor of one parent is equal to destination (issue5198)
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
329
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
330 $ hg init p1-succ-is-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
331 $ cd p1-succ-is-dest
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
332
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
333 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
334 > F
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
335 > /|
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
336 > E D B # replace: D -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
337 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
338 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
339 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
340 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
341
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
342 $ hg rebase -d B -s D
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
343 note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
344 rebasing 4:66f1a38021c9 F tip "F"
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
345 $ hg log -G
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
346 o 5:50e9d60b99c6 F
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
347 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
348 | | x 4:66f1a38021c9 F (rewritten using rebase as 5:50e9d60b99c6)
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
349 | |/|
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
350 | o | 3:7fb047a69f22 E
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
351 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
352 | | x 2:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
353 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
354 o | 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
355 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
356 o 0:426bada5c675 A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
357
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
358 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
359
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
360 Rebase merge where successor of other parent is equal to destination
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
361
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
362 $ hg init p2-succ-is-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
363 $ cd p2-succ-is-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
364
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
365 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
366 > F
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
367 > /|
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
368 > E D B # replace: E -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
369 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
370 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
371 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
372 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
373
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
374 $ hg rebase -d B -s E
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
375 note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
376 rebasing 4:66f1a38021c9 F tip "F"
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
377 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
378 o 5:aae1787dacee F
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
379 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
380 | | x 4:66f1a38021c9 F (rewritten using rebase as 5:aae1787dacee)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
381 | |/|
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
382 | | x 3:7fb047a69f22 E (rewritten using replace as 1:112478962961)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
383 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
384 | o | 2:b18e25de2cf5 D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
385 | |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
386 o / 1:112478962961 B
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
387 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
388 o 0:426bada5c675 A
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
389
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
390 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
391
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
392 Rebase merge where successor of one parent is ancestor of destination
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
393
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
394 $ hg init p1-succ-in-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
395 $ cd p1-succ-in-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
396
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
397 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
398 > F C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
399 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
400 > E D B # replace: D -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
401 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
402 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
403 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
404 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
405
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
406 $ hg rebase -d C -s D
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
407 note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
408 rebasing 5:66f1a38021c9 F tip "F"
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
409
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
410 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
411 o 6:0913febf6439 F
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
412 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
413 +---x 5:66f1a38021c9 F (rewritten using rebase as 6:0913febf6439)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
414 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
415 | o | 4:26805aba1e60 C
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
416 | | |
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
417 o | | 3:7fb047a69f22 E
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
418 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
419 +---x 2:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
420 | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
421 | o 1:112478962961 B
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
422 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
423 o 0:426bada5c675 A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
424
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
425 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
426
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
427 Rebase merge where successor of other parent is ancestor of destination
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
428
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
429 $ hg init p2-succ-in-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
430 $ cd p2-succ-in-dest
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
431
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
432 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
433 > F C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
434 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
435 > E D B # replace: E -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
436 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
437 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
438 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
439 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
440
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
441 $ hg rebase -d C -s E
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
442 note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
443 rebasing 5:66f1a38021c9 F tip "F"
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
444 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
445 o 6:c6ab0cc6d220 F
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
446 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
447 +---x 5:66f1a38021c9 F (rewritten using rebase as 6:c6ab0cc6d220)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
448 | | |
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
449 | o | 4:26805aba1e60 C
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
450 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
451 | | x 3:7fb047a69f22 E (rewritten using replace as 1:112478962961)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
452 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
453 o---+ 2:b18e25de2cf5 D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
454 / /
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
455 o / 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
456 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
457 o 0:426bada5c675 A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
458
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
459 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
460
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
461 Rebase merge where successor of one parent is ancestor of destination
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
462
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
463 $ hg init p1-succ-in-dest-b
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
464 $ cd p1-succ-in-dest-b
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
465
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
466 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
467 > F C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
468 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
469 > E D B # replace: E -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
470 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
471 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
472 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
473 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
474
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
475 $ hg rebase -d C -b F
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
476 rebasing 2:b18e25de2cf5 D "D"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
477 note: not rebasing 3:7fb047a69f22 E "E", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
478 rebasing 5:66f1a38021c9 F tip "F"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
479 note: not rebasing 5:66f1a38021c9 F tip "F", its destination already has all its changes
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
480 $ hg log -G
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
481 o 6:8f47515dda15 D
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
482 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
483 | x 5:66f1a38021c9 F (pruned using rebase)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
484 | |\
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
485 o | | 4:26805aba1e60 C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
486 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
487 | | x 3:7fb047a69f22 E (rewritten using replace as 1:112478962961)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
488 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
489 | x | 2:b18e25de2cf5 D (rewritten using rebase as 6:8f47515dda15)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
490 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
491 o / 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
492 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
493 o 0:426bada5c675 A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
494
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
495 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
496
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
497 Rebase merge where successor of other parent is ancestor of destination
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
498
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
499 $ hg init p2-succ-in-dest-b
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
500 $ cd p2-succ-in-dest-b
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
501
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
502 $ hg debugdrawdag <<EOF
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
503 > F C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
504 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
505 > E D B # replace: D -> B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
506 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
507 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
508 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
509 1 new orphan changesets
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
510
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
511 $ hg rebase -d C -b F
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
512 note: not rebasing 2:b18e25de2cf5 D "D", already in destination as 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
513 rebasing 3:7fb047a69f22 E "E"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
514 rebasing 5:66f1a38021c9 F tip "F"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
515 note: not rebasing 5:66f1a38021c9 F tip "F", its destination already has all its changes
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
516
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
517 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
518 o 6:533690786a86 E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
519 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
520 | x 5:66f1a38021c9 F (pruned using rebase)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
521 | |\
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
522 o | | 4:26805aba1e60 C
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
523 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
524 | | x 3:7fb047a69f22 E (rewritten using rebase as 6:533690786a86)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
525 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
526 | x | 2:b18e25de2cf5 D (rewritten using replace as 1:112478962961)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
527 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
528 o / 1:112478962961 B
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
529 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
530 o 0:426bada5c675 A
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
531
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
532 $ cd ..
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
533
39327
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
534 Rebase merge where extinct node has successor that is not an ancestor of
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
535 destination
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
536
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
537 $ hg init extinct-with-succ-not-in-dest
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
538 $ cd extinct-with-succ-not-in-dest
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
539
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
540 $ hg debugdrawdag <<EOF
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
541 > E C # replace: C -> E
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
542 > | |
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
543 > D B
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
544 > |/
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
545 > A
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
546 > EOF
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
547
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
548 $ hg rebase -d D -s B
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
549 rebasing 1:112478962961 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
550 note: not rebasing 3:26805aba1e60 C "C" and its descendants as this would cause divergence
39327
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
551
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
552 $ cd ..
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
553
38183
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
554 $ hg init p2-succ-in-dest-c
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
555 $ cd p2-succ-in-dest-c
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
556
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
557 The scenario here was that B::D were developed on default. B was queued on
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
558 stable, but amended before being push to hg-committed. C was queued on default,
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
559 along with unrelated J.
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
560
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
561 $ hg debugdrawdag <<EOF
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
562 > J
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
563 > |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
564 > F
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
565 > |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
566 > E
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
567 > | D
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
568 > | |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
569 > | C # replace: C -> F
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
570 > | | H I # replace: B -> H -> I
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
571 > | B |/
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
572 > |/ G
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
573 > A
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
574 > EOF
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
575 1 new orphan changesets
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
576
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
577 This strip seems to be the key to avoid an early divergence warning.
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
578 $ hg --config extensions.strip= --hidden strip -qr H
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
579 1 new orphan changesets
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
580
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
581 $ hg rebase -b 'desc("D")' -d 'desc("J")'
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
582 abort: this rebase will cause divergences from: 112478962961
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
583 (to force the rebase please set experimental.evolution.allowdivergence=True)
46632
9989a276712f errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents: 45840
diff changeset
584 [20]
38183
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
585
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
586 Rebase merge where both parents have successors in destination
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
587
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
588 $ hg init p12-succ-in-dest
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
589 $ cd p12-succ-in-dest
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
590 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
591 > E F
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
592 > /| /| # replace: A -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
593 > A B C D # replace: B -> D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
594 > | |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
595 > X Y
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
596 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
597 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
598 $ hg rebase -r A+B+E -d F
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
599 note: not rebasing 4:a3d17304151f A "A", already in destination as 0:96cc3511f894 C "C"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
600 note: not rebasing 5:b23a2cc00842 B "B", already in destination as 1:058c1e1fb10a D "D"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
601 rebasing 7:dac5d11c5a7d E tip "E"
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
602 abort: rebasing 7:dac5d11c5a7d will include unwanted changes from 3:59c792af609c, 5:b23a2cc00842 or 2:ba2b7fa7166d, 4:a3d17304151f
46632
9989a276712f errors: use more specific errors in rebase extension
Martin von Zweigbergk <martinvonz@google.com>
parents: 45840
diff changeset
603 [10]
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
604 $ cd ..
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
605
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
606 Rebase a non-clean merge. One parent has successor in destination, the other
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
607 parent moves as requested.
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
608
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
609 $ hg init p1-succ-p2-move
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
610 $ cd p1-succ-p2-move
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
611 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
612 > D Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
613 > /| | # replace: A -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
614 > A B C # D/D = D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
615 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
616 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
617 $ hg rebase -r A+B+D -d Z
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
618 note: not rebasing 0:426bada5c675 A "A", already in destination as 2:96cc3511f894 C "C"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
619 rebasing 1:fc2b737bb2e5 B "B"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
620 rebasing 3:b8ed089c80ad D "D"
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
621
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
622 $ rm .hg/localtags
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
623 $ hg log -G
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
624 o 6:e4f78693cc88 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
625 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
626 o 5:76840d832e98 B
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
627 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
628 o 4:50e41c1f3950 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
629 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
630 o 2:96cc3511f894 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
631
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
632 $ hg files -r tip
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
633 B
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
634 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
635 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
636 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
637
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
638 $ cd ..
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
639
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
640 $ hg init p1-move-p2-succ
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
641 $ cd p1-move-p2-succ
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
642 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
643 > D Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
644 > /| | # replace: B -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
645 > A B C # D/D = D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
646 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
647 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
648 $ hg rebase -r B+A+D -d Z
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
649 rebasing 0:426bada5c675 A "A"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
650 note: not rebasing 1:fc2b737bb2e5 B "B", already in destination as 2:96cc3511f894 C "C"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
651 rebasing 3:b8ed089c80ad D "D"
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
652
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
653 $ rm .hg/localtags
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
654 $ hg log -G
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
655 o 6:1b355ed94d82 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
656 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
657 o 5:a81a74d764a6 A
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
658 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
659 o 4:50e41c1f3950 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
660 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
661 o 2:96cc3511f894 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
662
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
663 $ hg files -r tip
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
664 A
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
665 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
666 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
667 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
668
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
669 $ cd ..