annotate tests/test-rebase-obsolete.t @ 40417:49c7b701fdc2 stable

phase: add an archived phase This phase allows for hidden changesets in the "user space". It differs from the "internal" phase which is intended for internal by-product only. There have been discussions at the 4.8 sprint to use such phase to speedup cleanup after history rewriting operation. Shipping it in the same release as the 'internal-phase' groups the associated `requires` entry. The important bit is to have support for this phase in the earliest version of mercurial possible. Adding the UI to manipulate this new phase later seems fine. The current plan for archived usage and user interface are as follow. On a repository with internal-phase on and evolution off: * history rewriting command set rewritten changeset in the archived phase. (This mean updating the cleanupnodes method). * keep `hg unbundle .hg/strip-backup/X.hg` as a way to restore changeset for now (backup bundle need to contains phase data) * [maybe] add a `hg strip --soft` advance flag (a light way to expose the feature without getting in the way of a better UI) Mercurial 4.8 freeze is too close to get the above in by then. We don't introduce a new repository `requirement` as we reuse the one introduced with the 'archived' phase during the 4.8 cycle.
author Boris Feld <boris.feld@octobus.net>
date Wed, 17 Oct 2018 14:47:01 +0200
parents 208303a8172c
children 09680349cc2d
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
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8 > [ui]
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
9 > logtemplate= {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
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 Setup rebase canonical repo
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
23 $ hg init base
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 $ cd base
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 adding changesets
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
27 adding manifests
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
28 adding file changes
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 added 8 changesets with 7 changes to 7 files (+2 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 39328
diff changeset
30 new changesets cd010b8cd998:02de42196ebe (8 drafts)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 (run 'hg heads' to see heads, 'hg merge' to merge)
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 $ hg up tip
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
34 $ hg log -G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 @ 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
36 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 | o 6:eea13746799a G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
38 |/|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 o | 5:24b6387c8c8c F
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
40 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 | o 4:9520eea781bc E
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
42 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 | o 3:32af7686d403 D
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
44 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 | o 2:5fddd98957c8 C
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
46 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 | o 1:42ccdea3bb16 B
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 o 0:cd010b8cd998 A
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
53 simple rebase
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
54 ---------------------------------
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
55
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 $ hg clone base simple
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 updating to branch default
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
58 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
59 $ cd simple
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
60 $ hg up 32af7686d403
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
61 3 files updated, 0 files merged, 2 files removed, 0 files unresolved
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
62 $ hg rebase -d eea13746799a
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
63 rebasing 1:42ccdea3bb16 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
64 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
65 rebasing 3:32af7686d403 "D"
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
66 $ hg log -G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 @ 10:8eeb3c33ad33 D
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
68 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 o 9:2327fea05063 C
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
70 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 o 8:e4e5be0395b2 B
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
72 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 | o 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
74 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 o | 6:eea13746799a G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
76 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 | o 5:24b6387c8c8c F
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
78 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 o | 4:9520eea781bc E
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
80 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 o 0:cd010b8cd998 A
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
83 $ hg log --hidden -G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 @ 10:8eeb3c33ad33 D
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
85 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 o 9:2327fea05063 C
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
87 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 o 8:e4e5be0395b2 B
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
89 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 | o 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
91 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 o | 6:eea13746799a G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
93 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 | o 5:24b6387c8c8c F
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
95 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 o | 4:9520eea781bc E
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
97 |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
98 | x 3:32af7686d403 D (rewritten using rebase as 10:8eeb3c33ad33)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
99 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
100 | x 2:5fddd98957c8 C (rewritten using rebase as 9:2327fea05063)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
101 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
102 | x 1:42ccdea3bb16 B (rewritten using rebase as 8:e4e5be0395b2)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
103 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
104 o 0:cd010b8cd998 A
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
105
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
106 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
107 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 e4e5be0395b2cbd471ed22a26b1b6a1a0658a794 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
108 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 2327fea05063f39961b14cb69435a9898dc9a245 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
109 32af7686d403cf45b5d95f2d70cebea587ac806a 8eeb3c33ad33d452c89e5dcf611c347f978fb42b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
110
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
111
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
112 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
113
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
114 empty changeset
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
115 ---------------------------------
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
116
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
117 $ hg clone base empty
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
118 updating to branch default
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
119 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
120 $ cd empty
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
121 $ hg up eea13746799a
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
122 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
123
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
124 We make a copy of both the first changeset in the rebased and some other in the
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
125 set.
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
126
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
127 $ hg graft 42ccdea3bb16 32af7686d403
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 22955
diff changeset
128 grafting 1:42ccdea3bb16 "B"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 22955
diff changeset
129 grafting 3:32af7686d403 "D"
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
130 $ hg rebase -s 42ccdea3bb16 -d .
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
131 rebasing 1:42ccdea3bb16 "B"
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
132 note: rebase of 1:42ccdea3bb16 created no changes to commit
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
133 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
134 rebasing 3:32af7686d403 "D"
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
135 note: rebase of 3:32af7686d403 created no changes to commit
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
136 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
137 o 10:5ae4c968c6ac C
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
138 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
139 @ 9:08483444fef9 D
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
140 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
141 o 8:8877864f1edb B
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
142 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
143 | o 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
144 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
145 o | 6:eea13746799a G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
146 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
147 | o 5:24b6387c8c8c F
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
148 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
149 o | 4:9520eea781bc E
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
150 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
151 o 0:cd010b8cd998 A
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
152
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
153 $ hg log --hidden -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
154 o 10:5ae4c968c6ac C
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
155 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
156 @ 9:08483444fef9 D
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
157 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
158 o 8:8877864f1edb B
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
159 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
160 | o 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
161 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
162 o | 6:eea13746799a G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
163 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
164 | o 5:24b6387c8c8c F
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
165 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
166 o | 4:9520eea781bc E
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
167 |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
168 | x 3:32af7686d403 D (pruned using rebase)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
169 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
170 | x 2:5fddd98957c8 C (rewritten using rebase as 10:5ae4c968c6ac)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
171 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
172 | x 1:42ccdea3bb16 B (pruned using rebase)
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
173 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
174 o 0:cd010b8cd998 A
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
175
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
176 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
177 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
178 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
179 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
180
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
181
31295
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
182 More complex case where part of the rebase set were already rebased
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
183
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
184 $ hg rebase --rev 'desc(D)' --dest 'desc(H)'
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
185 rebasing 9:08483444fef9 "D"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
186 1 new orphan changesets
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
187 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
188 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
189 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
190 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
191 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
192 $ hg log -G
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
193 @ 11:4596109a6a43 D
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
194 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
195 | * 10:5ae4c968c6ac C
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
196 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
197 | x 9:08483444fef9 D (rewritten using rebase as 11:4596109a6a43)
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
198 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
199 | o 8:8877864f1edb B
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
200 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
201 o | 7:02de42196ebe H
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
202 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
203 | o 6:eea13746799a G
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
204 |/|
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
205 o | 5:24b6387c8c8c F
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
206 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
207 | o 4:9520eea781bc E
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
208 |/
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
209 o 0:cd010b8cd998 A
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
210
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
211 $ hg rebase --source 'desc(B)' --dest 'tip' --config experimental.rebaseskipobsolete=True
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
212 rebasing 8:8877864f1edb "B"
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
213 note: not rebasing 9:08483444fef9 "D", already in destination as 11:4596109a6a43 "D" (tip)
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
214 rebasing 10:5ae4c968c6ac "C"
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
215 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
216 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
217 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
218 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
219 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
220 8877864f1edb05d0e07dc4ba77b67a80a7b86672 462a34d07e599b87ea08676a449373fe4e2e1347 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
221 5ae4c968c6aca831df823664e706c9d4aa34473d 98f6af4ee9539e14da4465128f894c274900b6e5 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
33775
f078d7358e90 revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents: 33773
diff changeset
222 $ hg log --rev 'contentdivergent()'
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
223 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
224 o 13:98f6af4ee953 C
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
225 |
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
226 o 12:462a34d07e59 B
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
227 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
228 @ 11:4596109a6a43 D
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
229 |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
230 o 7:02de42196ebe H
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
231 |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
232 | o 6:eea13746799a G
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
233 |/|
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
234 o | 5:24b6387c8c8c F
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
235 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
236 | o 4:9520eea781bc E
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
237 |/
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
238 o 0:cd010b8cd998 A
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
239
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
240 $ hg log --style default --debug -r 4596109a6a4328c398bde3a4a3b6737cfade3003
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
241 changeset: 11:4596109a6a4328c398bde3a4a3b6737cfade3003
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
242 phase: draft
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
243 parent: 7:02de42196ebee42ef284b6780a87cdc96e8eaab6
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
244 parent: -1:0000000000000000000000000000000000000000
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
245 manifest: 11:a91006e3a02f1edf631f7018e6e5684cf27dd905
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
246 user: Nicolas Dumazet <nicdumz.commits@gmail.com>
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
247 date: Sat Apr 30 15:24:48 2011 +0200
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
248 files+: D
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
249 extra: branch=default
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
250 extra: rebase_source=08483444fef91d6224f6655ee586a65d263ad34c
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
251 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
252 description:
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
253 D
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
254
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
255
26902
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
256 $ hg up -qr 'desc(G)'
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
257 $ hg graft 4596109a6a4328c398bde3a4a3b6737cfade3003
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
258 grafting 11:4596109a6a43 "D"
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
259 $ hg up -qr 'desc(E)'
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
260 $ hg rebase -s tip -d .
27974
bb14a81ce647 graft: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27746
diff changeset
261 rebasing 14:9e36056a46e3 "D" (tip)
26902
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
262 $ hg log --style default --debug -r tip
27974
bb14a81ce647 graft: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27746
diff changeset
263 changeset: 15:627d4614809036ba22b9e7cb31638ddc06ab99ab
26902
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
264 tag: tip
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
265 phase: draft
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
266 parent: 4:9520eea781bcca16c1e15acc0ba14335a0e8e5ba
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
267 parent: -1:0000000000000000000000000000000000000000
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
268 manifest: 15:648e8ede73ae3e497d093d3a4c8fcc2daa864f42
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
269 user: Nicolas Dumazet <nicdumz.commits@gmail.com>
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
270 date: Sat Apr 30 15:24:48 2011 +0200
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
271 files+: D
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
272 extra: branch=default
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
273 extra: intermediate-source=4596109a6a4328c398bde3a4a3b6737cfade3003
27974
bb14a81ce647 graft: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents: 27746
diff changeset
274 extra: rebase_source=9e36056a46e37c9776168c7375734eebc70e294f
26902
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
275 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
276 description:
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
277 D
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
278
7ffebbdcb371 rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents: 26811
diff changeset
279
31295
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
280 Start rebase from a commit that is obsolete but not hidden only because it's
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
281 a working copy parent. We should be moved back to the starting commit as usual
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
282 even though it is hidden (until we're moved there).
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
283
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
284 $ hg --hidden up -qr 'first(hidden())'
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
285 updated to hidden changeset 42ccdea3bb16
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
286 (hidden revision '42ccdea3bb16' is pruned)
31295
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
287 $ hg rebase --rev 13 --dest 15
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
288 rebasing 13:98f6af4ee953 "C"
31297
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
289 $ hg log -G
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
290 o 16:294a2b93eb4d C
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
291 |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
292 o 15:627d46148090 D
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
293 |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
294 | o 12:462a34d07e59 B
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
295 | |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
296 | o 11:4596109a6a43 D
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
297 | |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
298 | o 7:02de42196ebe H
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
299 | |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
300 +---o 6:eea13746799a G
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
301 | |/
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
302 | o 5:24b6387c8c8c F
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
303 | |
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
304 o | 4:9520eea781bc E
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
305 |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
306 | @ 1:42ccdea3bb16 B (pruned using rebase)
31297
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
307 |/
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
308 o 0:cd010b8cd998 A
f5c71e98f0f7 rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents: 31295
diff changeset
309
31295
7f869d81ab54 tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 30715
diff changeset
310
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
311 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
312
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
313 collapse rebase
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
314 ---------------------------------
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
315
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
316 $ hg clone base collapse
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
317 updating to branch default
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
318 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
319 $ cd collapse
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
320 $ hg rebase -s 42ccdea3bb16 -d eea13746799a --collapse
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
321 rebasing 1:42ccdea3bb16 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
322 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
323 rebasing 3:32af7686d403 "D"
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
324 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
325 o 8:4dc2197e807b Collapsed revision
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
326 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
327 | @ 7:02de42196ebe H
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
328 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
329 o | 6:eea13746799a G
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
330 |\|
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
331 | o 5:24b6387c8c8c F
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
332 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
333 o | 4:9520eea781bc E
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
334 |/
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
335 o 0:cd010b8cd998 A
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
336
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
337 $ hg log --hidden -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
338 o 8:4dc2197e807b Collapsed revision
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
339 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
340 | @ 7:02de42196ebe H
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
341 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
342 o | 6:eea13746799a G
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
343 |\|
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
344 | o 5:24b6387c8c8c F
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
345 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
346 o | 4:9520eea781bc E
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
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 3:32af7686d403 D (rewritten using rebase as 8:4dc2197e807b)
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
349 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
350 | x 2:5fddd98957c8 C (rewritten using rebase as 8:4dc2197e807b)
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
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 1:42ccdea3bb16 B (rewritten using rebase as 8:4dc2197e807b)
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
353 |/
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
354 o 0:cd010b8cd998 A
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
355
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19861
diff changeset
356 $ hg id --debug -r tip
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
357 4dc2197e807bae9817f09905b50ab288be2dbbcf tip
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
358 $ hg debugobsolete
40042
208303a8172c obsolete: explicitly track folds inside the markers
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
359 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '1', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
208303a8172c obsolete: explicitly track folds inside the markers
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
360 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '2', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
208303a8172c obsolete: explicitly track folds inside the markers
Boris Feld <boris.feld@octobus.net>
parents: 39480
diff changeset
361 32af7686d403cf45b5d95f2d70cebea587ac806a 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '6fb65cdc', 'fold-idx': '3', 'fold-size': '3', 'operation': 'rebase', 'user': 'test'}
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
362
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
363 $ cd ..
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
364
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
365 Rebase set has hidden descendants
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
366 ---------------------------------
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
367
35055
852620fe4ca7 tests: clarify a comment in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 34961
diff changeset
368 We rebase a changeset which has hidden descendants. Hidden changesets must not
852620fe4ca7 tests: clarify a comment in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 34961
diff changeset
369 be rebased.
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
370
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
371 $ hg clone base hidden
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
372 updating to branch default
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
373 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
374 $ cd hidden
35057
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
375 $ hg log -G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
376 @ 7:02de42196ebe H
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
377 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
378 | o 6:eea13746799a G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
379 |/|
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
380 o | 5:24b6387c8c8c F
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
381 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
382 | o 4:9520eea781bc E
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
383 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
384 | o 3:32af7686d403 D
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
385 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
386 | o 2:5fddd98957c8 C
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
387 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
388 | o 1:42ccdea3bb16 B
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
389 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
390 o 0:cd010b8cd998 A
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
391
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
392 $ hg rebase -s 5fddd98957c8 -d eea13746799a
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
393 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
394 rebasing 3:32af7686d403 "D"
35057
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
395 $ hg log -G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
396 o 9:cf44d2f5a9f4 D
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
397 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
398 o 8:e273c5e7d2d2 C
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
399 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
400 | @ 7:02de42196ebe H
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
401 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
402 o | 6:eea13746799a G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
403 |\|
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
404 | o 5:24b6387c8c8c F
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
405 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
406 o | 4:9520eea781bc E
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
407 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
408 | o 1:42ccdea3bb16 B
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
409 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
410 o 0:cd010b8cd998 A
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
411
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
412 $ hg rebase -s 42ccdea3bb16 -d 02de42196ebe
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
413 rebasing 1:42ccdea3bb16 "B"
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
414 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
415 o 10:7c6027df6a99 B
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
416 |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
417 | o 9:cf44d2f5a9f4 D
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
418 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
419 | o 8:e273c5e7d2d2 C
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
420 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
421 @ | 7:02de42196ebe H
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
422 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
423 | o 6:eea13746799a G
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
424 |/|
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
425 o | 5:24b6387c8c8c F
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
426 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
427 | o 4:9520eea781bc E
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
428 |/
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
429 o 0:cd010b8cd998 A
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
430
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
431 $ hg log --hidden -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
432 o 10:7c6027df6a99 B
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
433 |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
434 | o 9:cf44d2f5a9f4 D
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
435 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
436 | o 8:e273c5e7d2d2 C
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
437 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
438 @ | 7:02de42196ebe H
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
439 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
440 | o 6:eea13746799a G
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
441 |/|
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
442 o | 5:24b6387c8c8c F
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
443 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
444 | o 4:9520eea781bc E
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
445 |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
446 | x 3:32af7686d403 D (rewritten using rebase as 9:cf44d2f5a9f4)
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
447 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
448 | x 2:5fddd98957c8 C (rewritten using rebase as 8:e273c5e7d2d2)
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
449 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
450 | x 1:42ccdea3bb16 B (rewritten using rebase as 10:7c6027df6a99)
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
451 |/
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
452 o 0:cd010b8cd998 A
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
453
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
454 $ hg debugobsolete
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
455 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
456 32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
457 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 7c6027df6a99d93f461868e5433f63bde20b6dfb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
458
18398
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18164
diff changeset
459 Test that rewriting leaving instability behind is allowed
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18164
diff changeset
460 ---------------------------------------------------------------------
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
461
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
462 $ hg log -r 'children(8)'
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
463 9:cf44d2f5a9f4 D (no-eol)
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
464 $ hg rebase -r 8
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
465 rebasing 8:e273c5e7d2d2 "C"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
466 1 new orphan changesets
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
467 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
468 o 11:0d8f238b634c C
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
469 |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
470 o 10:7c6027df6a99 B
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
471 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
472 | * 9:cf44d2f5a9f4 D
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
473 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
474 | x 8:e273c5e7d2d2 C (rewritten using rebase as 11:0d8f238b634c)
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
475 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
476 @ | 7:02de42196ebe H
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
477 | |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
478 | o 6:eea13746799a G
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
479 |/|
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
480 o | 5:24b6387c8c8c F
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
481 | |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
482 | o 4:9520eea781bc E
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
483 |/
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
484 o 0:cd010b8cd998 A
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
485
37787
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
486 $ cd ..
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
487 $ cp -R hidden stabilize
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
488 $ cd stabilize
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
489 $ hg rebase --auto-orphans '0::' -d 10
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
490 abort: --auto-orphans is incompatible with --dest
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
491 [255]
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
492 $ hg rebase --auto-orphans '0::'
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
493 rebasing 9:cf44d2f5a9f4 "D"
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
494 $ hg log -G
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
495 o 12:7e3935feaa68 D
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
496 |
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
497 o 11:0d8f238b634c C
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
498 |
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
499 o 10:7c6027df6a99 B
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
500 |
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
501 @ 7:02de42196ebe H
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
502 |
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
503 | o 6:eea13746799a G
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
504 |/|
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
505 o | 5:24b6387c8c8c F
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
506 | |
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
507 | o 4:9520eea781bc E
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
508 |/
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
509 o 0:cd010b8cd998 A
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
510
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
511
37787
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
512 $ cd ../hidden
92213f6745ed rebase: introduce support for automatically rebasing orphan changes
Augie Fackler <augie@google.com>
parents: 35995
diff changeset
513 $ rm -r ../stabilize
18164
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
514
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
515 Test multiple root handling
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
516 ------------------------------------
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
517
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
518 $ hg rebase --dest 4 --rev '7+11+9'
30007
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29372
diff changeset
519 rebasing 9:cf44d2f5a9f4 "D"
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
520 rebasing 7:02de42196ebe "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
521 rebasing 11:0d8f238b634c "C" (tip)
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
522 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
523 o 14:1e8370e38cca C
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
524 |
30007
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29372
diff changeset
525 @ 13:bfe264faf697 H
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29372
diff changeset
526 |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29372
diff changeset
527 | o 12:102b4c1d889b D
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
528 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
529 | * 10:7c6027df6a99 B
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
530 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
531 | x 7:02de42196ebe H (rewritten using rebase as 13:bfe264faf697)
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
532 | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
533 +---o 6:eea13746799a G
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
534 | |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
535 | o 5:24b6387c8c8c F
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
536 | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
537 o | 4:9520eea781bc E
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
538 |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
539 o 0:cd010b8cd998 A
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
540
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
541 $ cd ..
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
542
33678
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
543 Detach both parents
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
544
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
545 $ hg init double-detach
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
546 $ cd double-detach
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
547
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
548 $ hg debugdrawdag <<EOF
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
549 > F
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
550 > /|
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
551 > C E
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
552 > | |
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
553 > B D G
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
554 > \|/
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
555 > A
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
556 > EOF
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
557
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
558 $ hg rebase -d G -r 'B + D + F'
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
559 rebasing 1:112478962961 "B" (B)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
560 rebasing 2:b18e25de2cf5 "D" (D)
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
561 rebasing 6:f15c3adaf214 "F" (F tip)
33789
19f495fef0a3 rebase: change "result would have 3 parent" error message (BC)
Jun Wu <quark@fb.com>
parents: 33786
diff changeset
562 abort: cannot rebase 6:f15c3adaf214 without moving at least one of its parents
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
563 [255]
33678
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
564
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
565 $ cd ..
855a1856466d tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents: 33677
diff changeset
566
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
567 test on rebase dropping a merge
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
568
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
569 (setup)
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
570
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
571 $ hg init dropmerge
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
572 $ cd dropmerge
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
573 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
574 adding changesets
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
575 adding manifests
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
576 adding file changes
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
577 added 8 changesets with 7 changes to 7 files (+2 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 39328
diff changeset
578 new changesets cd010b8cd998:02de42196ebe (8 drafts)
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
579 (run 'hg heads' to see heads, 'hg merge' to merge)
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
580 $ hg up 3
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
581 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
582 $ hg merge 7
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
583 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
584 (branch merge, don't forget to commit)
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
585 $ hg ci -m 'M'
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
586 $ echo I > I
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
587 $ hg add I
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
588 $ hg ci -m I
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
589 $ hg log -G
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
590 @ 9:4bde274eefcf I
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
591 |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
592 o 8:53a6a128b2b7 M
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
593 |\
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
594 | o 7:02de42196ebe H
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
595 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
596 | | o 6:eea13746799a G
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
597 | |/|
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
598 | o | 5:24b6387c8c8c F
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
599 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
600 | | o 4:9520eea781bc E
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
601 | |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
602 o | 3:32af7686d403 D
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
603 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
604 o | 2:5fddd98957c8 C
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
605 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
606 o | 1:42ccdea3bb16 B
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
607 |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
608 o 0:cd010b8cd998 A
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
609
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
610 (actual test)
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
611
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
612 $ hg rebase --dest 6 --rev '((desc(H) + desc(D))::) - desc(M)'
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
613 rebasing 3:32af7686d403 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
614 rebasing 7:02de42196ebe "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
615 rebasing 9:4bde274eefcf "I" (tip)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
616 1 new orphan changesets
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
617 $ hg log -G
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
618 @ 12:acd174b7ab39 I
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
619 |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
620 o 11:6c11a6218c97 H
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
621 |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
622 | o 10:b5313c85b22e D
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
623 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
624 | * 8:53a6a128b2b7 M
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
625 | |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
626 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
627 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
628 o---+ 6:eea13746799a G
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
629 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
630 | | o 5:24b6387c8c8c F
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
631 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
632 o---+ 4:9520eea781bc E
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
633 / /
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
634 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
18472
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
635 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
636 o | 2:5fddd98957c8 C
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
637 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
638 o | 1:42ccdea3bb16 B
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
639 |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
640 o 0:cd010b8cd998 A
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
641
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
642
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
643 Test hidden changesets in the rebase set (issue4504)
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
644
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
645 $ hg up --hidden 9
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
646 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
647 updated to hidden changeset 4bde274eefcf
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
648 (hidden revision '4bde274eefcf' was rewritten as: acd174b7ab39)
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
649 $ echo J > J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
650 $ hg add J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
651 $ hg commit -m J
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
652 1 new orphan changesets
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
653 $ hg debugobsolete `hg log --rev . -T '{node}'`
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33332
diff changeset
654 obsoleted 1 changesets
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
655
28429
a47881680402 rebase: turn rebaseskipobsolete on by default
Kostia Balytskyi <ikostia@fb.com>
parents: 28280
diff changeset
656 $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback --config experimental.rebaseskipobsolete=off
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
657 rebasing 9:4bde274eefcf "I"
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
658 rebasing 13:06edfc82198f "J" (tip)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
659 2 new content-divergent changesets
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
660 $ hg log -G
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
661 @ 15:5ae8a643467b J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
662 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
663 * 14:9ad579b4a5de I
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
664 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
665 | * 12:acd174b7ab39 I
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
666 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
667 | o 11:6c11a6218c97 H
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
668 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
669 o | 10:b5313c85b22e D
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
670 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
671 | * 8:53a6a128b2b7 M
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
672 | |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
673 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
674 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
675 o---+ 6:eea13746799a G
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
676 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
677 | | o 5:24b6387c8c8c F
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
678 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
679 o---+ 4:9520eea781bc E
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
680 / /
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
681 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
682 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
683 o | 2:5fddd98957c8 C
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
684 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
685 o | 1:42ccdea3bb16 B
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
686 |/
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
687 o 0:cd010b8cd998 A
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
688
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
689 $ hg up 14 -C
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
690 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
691 $ echo "K" > K
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
692 $ hg add K
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
693 $ hg commit --amend -m "K"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
694 1 new orphan changesets
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
695 $ echo "L" > L
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
696 $ hg add L
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
697 $ hg commit -m "L"
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
698 $ hg up '.^'
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
699 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
700 $ echo "M" > M
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
701 $ hg add M
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
702 $ hg commit --amend -m "M"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
703 1 new orphan changesets
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
704 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
705 @ 18:bfaedf8eb73b M
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
706 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
707 | * 17:97219452e4bd L
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
708 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
709 | x 16:fc37a630c901 K (rewritten using amend as 18:bfaedf8eb73b)
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
710 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
711 | * 15:5ae8a643467b J
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
712 | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
713 | x 14:9ad579b4a5de I (rewritten using amend as 16:fc37a630c901)
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
714 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
715 | * 12:acd174b7ab39 I
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
716 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
717 | o 11:6c11a6218c97 H
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
718 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
719 o | 10:b5313c85b22e D
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
720 |/
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
721 | * 8:53a6a128b2b7 M
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
722 | |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
723 | | x 7:02de42196ebe H (rewritten using rebase as 11:6c11a6218c97)
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
724 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
725 o---+ 6:eea13746799a G
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
726 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
727 | | o 5:24b6387c8c8c F
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
728 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
729 o---+ 4:9520eea781bc E
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
730 / /
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
731 x | 3:32af7686d403 D (rewritten using rebase as 10:b5313c85b22e)
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
732 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
733 o | 2:5fddd98957c8 C
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
734 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
735 o | 1:42ccdea3bb16 B
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
736 |/
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
737 o 0:cd010b8cd998 A
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
738
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
739 $ hg rebase -s 14 -d 17 --config experimental.rebaseskipobsolete=True
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
740 note: not rebasing 14:9ad579b4a5de "I", already in destination as 16:fc37a630c901 "K"
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
741 rebasing 15:5ae8a643467b "J"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
742 1 new orphan changesets
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
743
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
744 $ cd ..
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
745
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
746 Skip obsolete changeset even with multiple hops
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
747 -----------------------------------------------
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
748
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
749 setup
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
750
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
751 $ hg init obsskip
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
752 $ cd obsskip
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
753 $ cat << EOF >> .hg/hgrc
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
754 > [experimental]
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
755 > rebaseskipobsolete = True
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
756 > [extensions]
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
757 > strip =
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
758 > EOF
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
759 $ echo A > A
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
760 $ hg add A
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
761 $ hg commit -m A
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
762 $ echo B > B
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
763 $ hg add B
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
764 $ hg commit -m B0
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
765 $ hg commit --amend -m B1
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
766 $ hg commit --amend -m B2
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
767 $ hg up --hidden 'desc(B0)'
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
768 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
769 updated to hidden changeset a8b11f55fb19
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
770 (hidden revision 'a8b11f55fb19' was rewritten as: 261e70097290)
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
771 $ echo C > C
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
772 $ hg add C
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
773 $ hg commit -m C
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
774 1 new orphan changesets
35057
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
775 $ hg log -G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
776 @ 4:212cb178bcbb C
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
777 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
778 | o 3:261e70097290 B2
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
779 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
780 x | 1:a8b11f55fb19 B0 (rewritten using amend as 3:261e70097290)
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
781 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
782 o 0:4a2df7238c3b A
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
783
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
784
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
785 Rebase finds its way in a chain of marker
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
786
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
787 $ hg rebase -d 'desc(B2)'
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
788 note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 3:261e70097290 "B2"
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
789 rebasing 4:212cb178bcbb "C" (tip)
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
790
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
791 Even when the chain include missing node
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
792
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
793 $ hg up --hidden 'desc(B0)'
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
794 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
795 updated to hidden changeset a8b11f55fb19
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
796 (hidden revision 'a8b11f55fb19' was rewritten as: 261e70097290)
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
797 $ echo D > D
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
798 $ hg add D
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
799 $ hg commit -m D
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
800 1 new orphan changesets
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
801 $ hg --hidden strip -r 'desc(B1)'
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35058
diff changeset
802 saved backup bundle to $TESTTMP/obsskip/.hg/strip-backup/86f6414ccda7-b1c452ee-backup.hg
35778
128dd940bedc repair: invalidate volatile sets after stripping
Martin von Zweigbergk <martinvonz@google.com>
parents: 35712
diff changeset
803 1 new orphan changesets
35057
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
804 $ hg log -G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
805 @ 5:1a79b7535141 D
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
806 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
807 | o 4:ff2c4d47b71d C
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
808 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
809 | o 2:261e70097290 B2
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
810 | |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
811 x | 1:a8b11f55fb19 B0 (rewritten using amend as 2:261e70097290)
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
812 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
813 o 0:4a2df7238c3b A
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
814
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
815
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
816 $ hg rebase -d 'desc(B2)'
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
817 note: not rebasing 1:a8b11f55fb19 "B0", already in destination as 2:261e70097290 "B2"
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
818 rebasing 5:1a79b7535141 "D" (tip)
27012
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
819 $ hg up 4
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
820 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
821 $ echo "O" > O
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
822 $ hg add O
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
823 $ hg commit -m O
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
824 $ echo "P" > P
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
825 $ hg add P
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
826 $ hg commit -m P
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
827 $ hg log -G
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
828 @ 8:8d47583e023f P
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
829 |
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
830 o 7:360bbaa7d3ce O
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
831 |
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
832 | o 6:9c48361117de D
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
833 | |
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
834 o | 4:ff2c4d47b71d C
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
835 |/
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
836 o 2:261e70097290 B2
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
837 |
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
838 o 0:4a2df7238c3b A
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
839
34865
a0100f34e20b config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
840 $ hg debugobsolete `hg log -r 7 -T '{node}\n'` --config experimental.evolution=true
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33332
diff changeset
841 obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
842 1 new orphan changesets
27012
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
843 $ hg rebase -d 6 -r "4::"
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
844 rebasing 4:ff2c4d47b71d "C"
33842
30573b3d2ebc rebase: move obsoleted not rebased messages earlier (BC)
Jun Wu <quark@fb.com>
parents: 33789
diff changeset
845 note: not rebasing 7:360bbaa7d3ce "O", it has no successor
27012
5eac7ab59b95 rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents: 27011
diff changeset
846 rebasing 8:8d47583e023f "P" (tip)
27577
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
847
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
848 If all the changeset to be rebased are obsolete and present in the destination, we
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
849 should display a friendly error message
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
850
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
851 $ hg log -G
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
852 @ 10:121d9e3bc4c6 P
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
853 |
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
854 o 9:4be60e099a77 C
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
855 |
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
856 o 6:9c48361117de D
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
857 |
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
858 o 2:261e70097290 B2
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
859 |
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
860 o 0:4a2df7238c3b A
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
861
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
862
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
863 $ hg up 9
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
864 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
865 $ echo "non-relevant change" > nonrelevant
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
866 $ hg add nonrelevant
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
867 $ hg commit -m nonrelevant
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
868 created new head
34865
a0100f34e20b config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
869 $ hg debugobsolete `hg log -r 11 -T '{node}\n'` --config experimental.evolution=true
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33332
diff changeset
870 obsoleted 1 changesets
35057
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
871 $ hg log -G
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
872 @ 11:f44da1f4954c nonrelevant (pruned)
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
873 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
874 | o 10:121d9e3bc4c6 P
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
875 |/
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
876 o 9:4be60e099a77 C
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
877 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
878 o 6:9c48361117de D
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
879 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
880 o 2:261e70097290 B2
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
881 |
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
882 o 0:4a2df7238c3b A
0564e7c7f4cd tests: add a couple of 'hg log' calls in test-rebase-obsolete.t
Denis Laxalde <denis@laxalde.org>
parents: 35056
diff changeset
883
27577
f9e755736b0e rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents: 27147
diff changeset
884 $ hg rebase -r . -d 10
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
885 note: not rebasing 11:f44da1f4954c "nonrelevant" (tip), it has no successor
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
886
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
887 If a rebase is going to create divergence, it should abort
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
888
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
889 $ hg log -G
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
890 @ 10:121d9e3bc4c6 P
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
891 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
892 o 9:4be60e099a77 C
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
893 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
894 o 6:9c48361117de D
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
895 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
896 o 2:261e70097290 B2
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
897 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
898 o 0:4a2df7238c3b A
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
899
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
900
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
901 $ hg up 9
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
902 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
903 $ echo "john" > doe
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
904 $ hg add doe
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
905 $ hg commit -m "john doe"
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
906 created new head
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
907 $ hg up 10
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
908 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
909 $ echo "foo" > bar
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
910 $ hg add bar
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
911 $ hg commit --amend -m "10'"
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
912 $ hg up 10 --hidden
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
913 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
914 updated to hidden changeset 121d9e3bc4c6
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
915 (hidden revision '121d9e3bc4c6' was rewritten as: 77d874d096a2)
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
916 $ echo "bar" > foo
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
917 $ hg add foo
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
918 $ hg commit -m "bar foo"
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
919 1 new orphan changesets
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
920 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
921 @ 14:73568ab6879d bar foo
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
922 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
923 | o 13:77d874d096a2 10'
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
924 | |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
925 | | o 12:3eb461388009 john doe
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
926 | |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
927 x | 10:121d9e3bc4c6 P (rewritten using amend as 13:77d874d096a2)
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
928 |/
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
929 o 9:4be60e099a77 C
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
930 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
931 o 6:9c48361117de D
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
932 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
933 o 2:261e70097290 B2
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
934 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
935 o 0:4a2df7238c3b A
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
936
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
937 $ hg summary
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
938 parent: 14:73568ab6879d tip (orphan)
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
939 bar foo
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
940 branch: default
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
941 commit: (clean)
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
942 update: 2 new changesets, 3 branch heads (merge)
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
943 phases: 8 draft
33667
03039ff3082b evolution: rename unstable to orphan
Boris Feld <boris.feld@octobus.net>
parents: 33542
diff changeset
944 orphan: 1 changesets
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
945 $ hg rebase -s 10 -d 12
28188
6411140aeda9 rebase: add potential divergent commit hashes to error message (issue5086)
Kostia Balytskyi <ikostia@fb.com>
parents: 27974
diff changeset
946 abort: this rebase will cause divergences from: 121d9e3bc4c6
34872
29f52e7966dd config: gather allowdivergence under the evolution namespace
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
947 (to force the rebase please set experimental.evolution.allowdivergence=True)
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
948 [255]
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
949 $ hg log -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
950 @ 14:73568ab6879d bar foo
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
951 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
952 | o 13:77d874d096a2 10'
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
953 | |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
954 | | o 12:3eb461388009 john doe
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
955 | |/
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
956 x | 10:121d9e3bc4c6 P (rewritten using amend as 13:77d874d096a2)
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
957 |/
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
958 o 9:4be60e099a77 C
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
959 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
960 o 6:9c48361117de D
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
961 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
962 o 2:261e70097290 B2
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
963 |
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
964 o 0:4a2df7238c3b A
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
965
34872
29f52e7966dd config: gather allowdivergence under the evolution namespace
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
966 With experimental.evolution.allowdivergence=True, rebase can create divergence
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
967
34872
29f52e7966dd config: gather allowdivergence under the evolution namespace
Boris Feld <boris.feld@octobus.net>
parents: 34870
diff changeset
968 $ hg rebase -s 10 -d 12 --config experimental.evolution.allowdivergence=True
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
969 rebasing 10:121d9e3bc4c6 "P"
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
970 rebasing 14:73568ab6879d "bar foo" (tip)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
971 2 new content-divergent changesets
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
972 $ hg summary
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
973 parent: 16:61bd55f69bc4 tip
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
974 bar foo
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
975 branch: default
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
976 commit: (clean)
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
977 update: 1 new changesets, 2 branch heads (merge)
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
978 phases: 8 draft
33688
2194a8723138 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents: 33678
diff changeset
979 content-divergent: 2 changesets
27746
f0e9f38d250f rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents: 27577
diff changeset
980
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
981 rebase --continue + skipped rev because their successors are in destination
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
982 we make a change in trunk and work on conflicting changes to make rebase abort.
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
983
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
984 $ hg log -G -r 16::
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
985 @ 16:61bd55f69bc4 bar foo
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
986 |
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
987 ~
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
988
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
989 Create the two changes in trunk
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
990 $ printf "a" > willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
991 $ hg add willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
992 $ hg commit -m "willconflict first version"
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
993
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
994 $ printf "dummy" > C
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
995 $ hg commit -m "dummy change successor"
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
996
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
997 Create the changes that we will rebase
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
998 $ hg update -C 16 -q
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
999 $ printf "b" > willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1000 $ hg add willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1001 $ hg commit -m "willconflict second version"
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1002 created new head
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1003 $ printf "dummy" > K
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1004 $ hg add K
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1005 $ hg commit -m "dummy change"
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1006 $ printf "dummy" > L
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1007 $ hg add L
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1008 $ hg commit -m "dummy change"
34865
a0100f34e20b config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
1009 $ hg debugobsolete `hg log -r ".^" -T '{node}'` `hg log -r 18 -T '{node}'` --config experimental.evolution=true
33542
b11e8c67fb0f debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents: 33332
diff changeset
1010 obsoleted 1 changesets
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1011 1 new orphan changesets
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1012
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1013 $ hg log -G -r 16::
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1014 @ 21:7bdc8a87673d dummy change
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1015 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1016 x 20:8b31da3c4919 dummy change (rewritten as 18:601db7a18f51)
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1017 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1018 o 19:b82fb57ea638 willconflict second version
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1019 |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1020 | o 18:601db7a18f51 dummy change successor
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1021 | |
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1022 | o 17:357ddf1602d5 willconflict first version
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1023 |/
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1024 o 16:61bd55f69bc4 bar foo
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1025 |
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1026 ~
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1027 $ hg rebase -r ".^^ + .^ + ." -d 18
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1028 rebasing 19:b82fb57ea638 "willconflict second version"
28686
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1029 merging willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1030 warning: conflicts while merging willconflict! (edit, then use 'hg resolve --mark')
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1031 unresolved conflicts (see hg resolve, then hg rebase --continue)
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1032 [1]
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1033
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1034 $ hg resolve --mark willconflict
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1035 (no more unresolved files)
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1036 continue: hg rebase --continue
b212e01fead0 rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents: 28429
diff changeset
1037 $ hg rebase --continue
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1038 rebasing 19:b82fb57ea638 "willconflict second version"
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1039 note: not rebasing 20:8b31da3c4919 "dummy change", already in destination as 18:601db7a18f51 "dummy change successor"
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34009
diff changeset
1040 rebasing 21:7bdc8a87673d "dummy change" (tip)
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1041 $ cd ..
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1042
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1043 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
1044 -------------------------------------------
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1045
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1046 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
1047 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
1048
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1049 $ 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
1050 $ cd divergence
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1051 $ 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
1052 > [extensions]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1053 > strip =
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1054 > [alias]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1055 > 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
1056 > [templates]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1057 > 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
1058 > EOF
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1059
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1060 $ 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
1061 > e f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1062 > | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1063 > 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
1064 > \ /
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1065 > c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1066 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1067 > x b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1068 > \|
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1069 > a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1070 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1071 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
1072 $ 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
1073 * 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
1074 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1075 | 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
1076 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1077 | 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
1078 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1079 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
1080 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1081 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
1082 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1083 | 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
1084 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1085 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
1086 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1087 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
1088
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1089
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1090 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
1091 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
1092 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
1093
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1094 $ hg rebase -b 'e' -d 'x'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1095 rebasing 1:488e1b7e7341 "b" (b)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1096 rebasing 3:a82ac2b38757 "c" (c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1097 rebasing 5:027ad6c5830d "d'" (d')
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1098 rebasing 6:d60ebfa0f1cb "e" (e)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1099 note: not rebasing 4:76be324c128b "d" (d) and its descendants as this would cause divergence
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1100 $ 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
1101 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
1102 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1103 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
1104 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1105 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
1106 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1107 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
1108 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1109 | * 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
1110 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1111 | | 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
1112 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1113 | | 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
1114 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1115 | 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
1116 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1117 | 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
1118 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1119 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
1120 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1121 | 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
1122 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1123 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
1124
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1125 $ 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
1126 $ 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
1127 * 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
1128 |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1129 | 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
1130 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1131 | 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
1132 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1133 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
1134 |/
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1135 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
1136 |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1137 | 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
1138 | |
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1139 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
1140 |/
63aa928be559 tests: add log output after stripping for context for next test
Martin von Zweigbergk <martinvonz@google.com>
parents: 39099
diff changeset
1141 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
1142
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1143
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1144 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
1145 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
1146 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
1147
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1148 $ 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
1149 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
1150 (to force the rebase please set experimental.evolution.allowdivergence=True)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1151 [255]
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1152 $ hg rebase --config experimental.evolution.allowdivergence=true -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
1153 rebasing 3:a82ac2b38757 "c" (c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1154 rebasing 4:76be324c128b "d" (d)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1155 rebasing 7:1143e9adc121 "f" (f tip)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1156 1 new orphan changesets
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1157 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
1158 $ 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
1159 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
1160 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1161 * 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
1162 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1163 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
1164 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1165 | 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
1166 | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1167 | | * 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
1168 | | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1169 | | * 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
1170 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1171 | 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
1172 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1173 | 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
1174 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1175 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
1176 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1177 | 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
1178 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1179 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
1180
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1181 $ 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
1182
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1183 (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
1184
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1185 $ hg rebase --config experimental.rebaseskipobsolete=false -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
1186 rebasing 3:a82ac2b38757 "c" (c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1187 rebasing 4:76be324c128b "d" (d)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1188 rebasing 7:1143e9adc121 "f" (f tip)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1189 1 new orphan changesets
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1190 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
1191
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1192 $ 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
1193
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1194 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
1195
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1196 $ 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
1197 > g
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1198 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1199 > f e
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1200 > | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1201 > 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
1202 > \ /
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1203 > c
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1204 > |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1205 > x b
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1206 > \|
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1207 > a
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1208 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1209 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
1210 $ 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
1211 * 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
1212 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1213 | 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
1214 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1215 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
1216 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1217 | 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
1218 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1219 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
1220 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1221 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
1222 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1223 | 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
1224 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1225 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
1226 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1227 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
1228
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1229 $ hg rebase -b '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
1230 rebasing 1:488e1b7e7341 "b" (b)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1231 rebasing 3:a82ac2b38757 "c" (c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1232 rebasing 5:63324dc512ea "e'" (e')
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1233 rebasing 7:3ffec603ab53 "f" (f)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1234 rebasing 4:76be324c128b "d" (d)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1235 note: not rebasing 6:e36fae928aec "e" (e) and its descendants as this would cause divergence
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1236 $ 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
1237 o 13:a1707a5b7c2c d
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1238 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1239 | o 12:ef6251596616 f
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1240 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1241 | o 11:b6f172e64af9 e'
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1242 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1243 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
1244 |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1245 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
1246 |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1247 | * 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
1248 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1249 | | x 7:3ffec603ab53 f (rewritten using rebase as 12:ef6251596616)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1250 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1251 | 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
1252 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1253 | | x 5:63324dc512ea e' (rewritten using rebase as 11:b6f172e64af9)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1254 | | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1255 | x | 4:76be324c128b d (rewritten using rebase as 13:a1707a5b7c2c)
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1256 | |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1257 | 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
1258 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1259 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
1260 | |
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1261 | 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
1262 |/
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1263 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
1264
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1265
35993
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1266 issue5782
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1267 $ hg strip -r 0:
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1268 $ hg debugdrawdag <<EOF
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1269 > d
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1270 > |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1271 > c1 c # replace: c -> c1
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1272 > \ /
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1273 > b
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1274 > |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1275 > a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1276 > EOF
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1277 1 new orphan changesets
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1278 $ hg debugobsolete `hg log -T "{node}" --hidden -r 'desc("c1")'`
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1279 obsoleted 1 changesets
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1280 $ hg log -G -r 'a': --hidden
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1281 * 4:76be324c128b d
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1282 |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1283 | x 3:ef8a456de8fa c1 (pruned)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1284 | |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1285 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
1286 |/
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1287 o 1:488e1b7e7341 b
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1288 |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1289 o 0:b173517d0057 a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1290
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1291 $ hg rebase -d 0 -r 2
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1292 rebasing 2:a82ac2b38757 "c" (c)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1293 $ hg log -G -r 'a': --hidden
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1294 o 5:69ad416a4a26 c
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1295 |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1296 | * 4:76be324c128b d
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1297 | |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1298 | | x 3:ef8a456de8fa c1 (pruned)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1299 | | |
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1300 | x | 2:a82ac2b38757 c (rewritten using replace as 3:ef8a456de8fa rewritten using rebase as 5:69ad416a4a26)
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1301 | |/
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1302 | o 1:488e1b7e7341 b
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1303 |/
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1304 o 0:b173517d0057 a
a603a570cdbe rebase: add a test case for issue5782
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 35778
diff changeset
1305
35058
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1306 $ cd ..
a68c3420be41 rebase: exclude descendants of obsoletes w/o a successor in dest (issue5300)
Denis Laxalde <denis@laxalde.org>
parents: 35057
diff changeset
1307
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1308 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
1309
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1310 $ 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
1311 $ cd p1-succ-is-dest
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1312
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1313 $ 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
1314 > F
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1315 > /|
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1316 > 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
1317 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1318 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1319 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1320 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
1321
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1322 $ hg rebase -d B -s D
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1323 note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (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
1324 rebasing 4:66f1a38021c9 "F" (F tip)
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1325 $ 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
1326 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
1327 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1328 | | 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
1329 | |/|
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1330 | 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
1331 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1332 | | 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
1333 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1334 o | 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1335 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1336 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
1337
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1338 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1339
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1340 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
1341
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1342 $ 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
1343 $ 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
1344
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1345 $ 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
1346 > F
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1347 > /|
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1348 > 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
1349 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1350 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1351 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1352 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
1353
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1354 $ hg rebase -d B -s E
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1355 note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1356 rebasing 4:66f1a38021c9 "F" (F tip)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1357 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1358 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
1359 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1360 | | 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
1361 | |/|
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1362 | | 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
1363 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1364 | o | 2:b18e25de2cf5 D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1365 | |/
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1366 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
1367 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1368 o 0:426bada5c675 A
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1369
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1370 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1371
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1372 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
1373
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1374 $ 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
1375 $ 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
1376
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1377 $ 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
1378 > 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
1379 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1380 > 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
1381 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1382 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1383 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1384 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
1385
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1386 $ hg rebase -d C -s D
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1387 note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (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
1388 rebasing 5:66f1a38021c9 "F" (F tip)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1389
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1390 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1391 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
1392 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1393 +---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
1394 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1395 | 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
1396 | | |
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1397 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
1398 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1399 +---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
1400 | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1401 | 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
1402 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1403 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
1404
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1405 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1406
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1407 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
1408
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1409 $ 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
1410 $ 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
1411
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1412 $ 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
1413 > 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
1414 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1415 > 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
1416 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1417 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1418 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1419 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
1420
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1421 $ hg rebase -d C -s E
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1422 note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (B)
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1423 rebasing 5:66f1a38021c9 "F" (F tip)
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1424 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1425 o 6:c6ab0cc6d220 F
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1426 |\
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1427 +---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
1428 | | |
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1429 | 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
1430 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1431 | | 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
1432 | | |
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1433 o---+ 2:b18e25de2cf5 D
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1434 / /
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1435 o / 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1436 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1437 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
1438
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1439 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1440
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1441 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
1442
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1443 $ 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
1444 $ 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
1445
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1446 $ 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
1447 > 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
1448 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1449 > 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
1450 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1451 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1452 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1453 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
1454
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1455 $ hg rebase -d C -b F
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1456 rebasing 2:b18e25de2cf5 "D" (D)
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1457 note: not rebasing 3:7fb047a69f22 "E" (E), already in destination as 1:112478962961 "B" (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
1458 rebasing 5:66f1a38021c9 "F" (F tip)
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1459 note: rebase of 5:66f1a38021c9 created no changes to commit
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1460 $ 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
1461 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
1462 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1463 | 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
1464 | |\
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1465 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
1466 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1467 | | 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
1468 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1469 | 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
1470 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1471 o / 1:112478962961 B
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1472 |/
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1473 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
1474
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1475 $ cd ..
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1476
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1477 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
1478
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1479 $ 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
1480 $ 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
1481
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1482 $ 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
1483 > 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
1484 > /| |
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1485 > 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
1486 > \|/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1487 > A
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1488 > EOF
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1489 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
1490
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1491 $ hg rebase -d C -b F
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1492 note: not rebasing 2:b18e25de2cf5 "D" (D), already in destination as 1:112478962961 "B" (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
1493 rebasing 3:7fb047a69f22 "E" (E)
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1494 rebasing 5:66f1a38021c9 "F" (F tip)
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1495 note: rebase of 5:66f1a38021c9 created no changes to commit
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1496
33677
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1497 $ hg log -G
33786
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1498 o 6:533690786a86 E
0975506120fb rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents: 33775
diff changeset
1499 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1500 | 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
1501 | |\
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1502 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
1503 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1504 | | 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
1505 | | |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1506 | 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
1507 | |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1508 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
1509 |/
644dddccc265 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents: 33667
diff changeset
1510 o 0:426bada5c675 A
29063
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1511
8ede973597fd rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents: 28686
diff changeset
1512 $ cd ..
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1513
39327
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1514 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
1515 destination
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1516
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1517 $ 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
1518 $ 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
1519
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1520 $ 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
1521 > 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
1522 > | |
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1523 > 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
1524 > |/
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1525 > A
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1526 > EOF
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1527
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1528 $ hg rebase -d D -s B
39328
94a4980695f8 rebase: skip extinct revisions even if it has no successor in rebase set
Martin von Zweigbergk <martinvonz@google.com>
parents: 39327
diff changeset
1529 rebasing 1:112478962961 "B" (B)
94a4980695f8 rebase: skip extinct revisions even if it has no successor in rebase set
Martin von Zweigbergk <martinvonz@google.com>
parents: 39327
diff changeset
1530 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
1531
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1532 $ cd ..
a3af500a1362 tests: add test showing that rebase of extinct commit with successor fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 39326
diff changeset
1533
38183
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1534 $ 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
1535 $ cd p2-succ-in-dest-c
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1536
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1537 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
1538 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
1539 along with unrelated J.
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1540
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1541 $ hg debugdrawdag <<EOF
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1542 > J
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1543 > |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1544 > F
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1545 > |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1546 > E
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1547 > | D
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1548 > | |
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1549 > | C # replace: C -> F
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1550 > | | H I # replace: B -> H -> I
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1551 > | B |/
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1552 > |/ G
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1553 > A
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1554 > EOF
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1555 1 new orphan changesets
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1556
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1557 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
1558 $ 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
1559 1 new orphan changesets
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1560
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1561 $ 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
1562 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
1563 (to force the rebase please set experimental.evolution.allowdivergence=True)
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1564 [255]
69d1cafe75f2 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907)
Matt Harbison <matt_harbison@yahoo.com>
parents: 37787
diff changeset
1565
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1566 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
1567
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1568 $ hg init p12-succ-in-dest
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1569 $ cd p12-succ-in-dest
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1570 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1571 > E F
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1572 > /| /| # replace: A -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1573 > A B C D # replace: B -> D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1574 > | |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1575 > X Y
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1576 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1577 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1578 $ hg rebase -r A+B+E -d F
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1579 note: not rebasing 4:a3d17304151f "A" (A), already in destination as 0:96cc3511f894 "C" (C)
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1580 note: not rebasing 5:b23a2cc00842 "B" (B), already in destination as 1:058c1e1fb10a "D" (D)
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1581 rebasing 7:dac5d11c5a7d "E" (E tip)
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1582 abort: rebasing 7:dac5d11c5a7d will include unwanted changes from 3:59c792af609c, 5:b23a2cc00842 or 2:ba2b7fa7166d, 4:a3d17304151f
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1583 [255]
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1584 $ cd ..
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1585
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1586 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
1587 parent moves as requested.
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1588
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1589 $ hg init p1-succ-p2-move
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1590 $ cd p1-succ-p2-move
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1591 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1592 > D Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1593 > /| | # replace: A -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1594 > A B C # D/D = D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1595 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1596 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1597 $ hg rebase -r A+B+D -d Z
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1598 note: not rebasing 0:426bada5c675 "A" (A), already in destination as 2:96cc3511f894 "C" (C)
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1599 rebasing 1:fc2b737bb2e5 "B" (B)
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1600 rebasing 3:b8ed089c80ad "D" (D)
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1601
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1602 $ rm .hg/localtags
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1603 $ hg log -G
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1604 o 6:e4f78693cc88 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1605 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1606 o 5:76840d832e98 B
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1607 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1608 o 4:50e41c1f3950 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1609 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1610 o 2:96cc3511f894 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1611
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1612 $ hg files -r tip
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1613 B
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1614 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1615 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1616 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1617
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1618 $ cd ..
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1619
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1620 $ hg init p1-move-p2-succ
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1621 $ cd p1-move-p2-succ
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1622 $ hg debugdrawdag <<'EOS'
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1623 > D Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1624 > /| | # replace: B -> C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1625 > A B C # D/D = D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1626 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1627 1 new orphan changesets
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1628 $ hg rebase -r B+A+D -d Z
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1629 rebasing 0:426bada5c675 "A" (A)
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1630 note: not rebasing 1:fc2b737bb2e5 "B" (B), already in destination as 2:96cc3511f894 "C" (C)
33863
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1631 rebasing 3:b8ed089c80ad "D" (D)
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1632
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1633 $ rm .hg/localtags
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1634 $ hg log -G
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1635 o 6:1b355ed94d82 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1636 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1637 o 5:a81a74d764a6 A
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1638 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1639 o 4:50e41c1f3950 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1640 |
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1641 o 2:96cc3511f894 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1642
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1643 $ hg files -r tip
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1644 A
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1645 C
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1646 D
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1647 Z
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1648
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1649 $ cd ..
3160876c6e4e rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents: 33844
diff changeset
1650
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1651 Test that bookmark is moved and working dir is updated when all changesets have
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1652 equivalents in destination
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1653 $ hg init rbsrepo && cd rbsrepo
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1654 $ echo "[experimental]" > .hg/hgrc
34865
a0100f34e20b config: replace experimental.stabilization by experimental.evolution
Boris Feld <boris.feld@octobus.net>
parents: 34661
diff changeset
1655 $ echo "evolution=true" >> .hg/hgrc
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1656 $ echo "rebaseskipobsolete=on" >> .hg/hgrc
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1657 $ echo root > root && hg ci -Am root
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1658 adding root
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1659 $ echo a > a && hg ci -Am a
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1660 adding a
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1661 $ hg up 0
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1662 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1663 $ echo b > b && hg ci -Am b
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1664 adding b
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1665 created new head
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1666 $ hg rebase -r 2 -d 1
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1667 rebasing 2:1e9a3c00cbe9 "b" (tip)
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1668 $ hg log -r . # working dir is at rev 3 (successor of 2)
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1669 3:be1832deae9a b (no-eol)
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1670 $ hg book -r 2 mybook --hidden # rev 2 has a bookmark on it now
35611
7336ac5e786e bookmarks: add bookmarks to hidden revs if directaccess config is set
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35518
diff changeset
1671 bookmarking hidden changeset 1e9a3c00cbe9
35712
a1a5c3842b6f bookmarks: display the obsfate of hidden revision we create a bookmark on
Boris Feld <boris.feld@octobus.net>
parents: 35711
diff changeset
1672 (hidden revision '1e9a3c00cbe9' was rewritten as: be1832deae9a)
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1673 $ hg up 2 && hg log -r . # working dir is at rev 2 again
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1674 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1675 2:1e9a3c00cbe9 b (rewritten using rebase as 3:be1832deae9a) (no-eol)
34870
64f29fff1877 config: rename stabilization.track-operation
Boris Feld <boris.feld@octobus.net>
parents: 34867
diff changeset
1676 $ hg rebase -r 2 -d 3 --config experimental.evolution.track-operation=1
34009
79ab5369d55a rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents: 34008
diff changeset
1677 note: not rebasing 2:1e9a3c00cbe9 "b" (mybook), already in destination as 3:be1832deae9a "b" (tip)
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1678 Check that working directory and bookmark was updated to rev 3 although rev 2
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1679 was skipped
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1680 $ hg log -r .
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1681 3:be1832deae9a b (no-eol)
29372
0b5e9a625042 rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents: 29063
diff changeset
1682 $ hg bookmarks
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1683 mybook 3:be1832deae9a
32354
f432897a9f49 obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32327
diff changeset
1684 $ hg debugobsolete --rev tip
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34872
diff changeset
1685 1e9a3c00cbe90d236ac05ef61efcc5e40b7412bc be1832deae9ac531caa7438b8dcf6055a122cd8e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1686
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1687 Obsoleted working parent and bookmark could be moved if an ancestor of working
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1688 parent gets moved:
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1689
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1690 $ hg init $TESTTMP/ancestor-wd-move
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1691 $ cd $TESTTMP/ancestor-wd-move
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1692 $ hg debugdrawdag <<'EOS'
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1693 > E D1 # rebase: D1 -> D2
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1694 > | |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1695 > | C
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1696 > D2 |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1697 > | B
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1698 > |/
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1699 > A
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1700 > EOS
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1701 $ hg update D1 -q
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1702 $ hg bookmark book -i
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1703 $ hg rebase -r B+D1 -d E
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1704 rebasing 1:112478962961 "B" (B)
34290
4f969b9e0cf5 rebase: also include other namespaces in changeset description
Martin von Zweigbergk <martinvonz@google.com>
parents: 34286
diff changeset
1705 note: not rebasing 5:15ecf15e0114 "D1" (book D1 tip), already in destination as 2:0807738e0be9 "D2" (D2)
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1706 1 new orphan changesets
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1707 $ hg log -G -T '{desc} {bookmarks}'
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1708 @ B book
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1709 |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1710 | x D1
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1711 | |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1712 o | E
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1713 | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
1714 | * C
34008
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1715 | |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1716 o | D2
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1717 | |
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1718 | x B
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1719 |/
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1720 o A
9422107a6b64 rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents: 33863
diff changeset
1721
34092
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1722 Rebasing a merge with one of its parent having a hidden successor
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1723
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1724 $ hg init $TESTTMP/merge-p1-hidden-successor
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1725 $ cd $TESTTMP/merge-p1-hidden-successor
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1726
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1727 $ hg debugdrawdag <<'EOS'
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1728 > E
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1729 > |
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1730 > B3 B2 # amend: B1 -> B2 -> B3
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1731 > |/ # B2 is hidden
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1732 > | D
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1733 > | |\
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1734 > | B1 C
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1735 > |/
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1736 > A
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1737 > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35611
diff changeset
1738 1 new orphan changesets
34092
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1739
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1740 $ eval `hg tags -T '{tag}={node}\n'`
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1741 $ rm .hg/localtags
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1742
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1743 $ hg rebase -r $D -d $E
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1744 rebasing 5:9e62094e4d94 "D"
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1745
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1746 $ hg log -G
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1747 o 7:a699d059adcf D
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1748 |\
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1749 | o 6:ecc93090a95c E
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1750 | |
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1751 | o 4:0dc878468a23 B3
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1752 | |
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1753 o | 1:96cc3511f894 C
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1754 /
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1755 o 0:426bada5c675 A
8a8e7a94ba07 rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents: 34085
diff changeset
1756
34093
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1757 For some reasons (--hidden, rebaseskipobsolete=0, directaccess, etc.),
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1758 rebasestate may contain hidden hashes. "rebase --abort" should work regardless.
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1759
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1760 $ hg init $TESTTMP/hidden-state1
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1761 $ cd $TESTTMP/hidden-state1
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1762 $ cat >> .hg/hgrc <<EOF
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1763 > [experimental]
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1764 > rebaseskipobsolete=0
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1765 > EOF
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1766
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1767 $ hg debugdrawdag <<'EOS'
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1768 > C
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1769 > |
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1770 > D B # prune: B, C
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1771 > |/ # B/D=B
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1772 > A
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1773 > EOS
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1774
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1775 $ eval `hg tags -T '{tag}={node}\n'`
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1776 $ rm .hg/localtags
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1777
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1778 $ hg update -q $C --hidden
37920
ea63a2004d09 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com>
parents: 37787
diff changeset
1779 updated to hidden changeset 7829726be4dc
35711
35a0f6f31eef update: display the obsfate of hidden revision we update to
Boris Feld <boris.feld@octobus.net>
parents: 35709
diff changeset
1780 (hidden revision '7829726be4dc' is pruned)
34093
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1781 $ hg rebase -s $B -d $D
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1782 rebasing 1:2ec65233581b "B"
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1783 merging D
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1784 warning: conflicts while merging D! (edit, then use 'hg resolve --mark')
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1785 unresolved conflicts (see hg resolve, then hg rebase --continue)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1786 [1]
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1787
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1788 $ cp -R . $TESTTMP/hidden-state2
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1789
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1790 $ hg log -G
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1791 @ 2:b18e25de2cf5 D
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1792 |
35056
235d58aa723e tests: conditionally display obsfate in test-rebase-obsolete log output
Denis Laxalde <denis@laxalde.org>
parents: 35055
diff changeset
1793 | @ 1:2ec65233581b B (pruned using prune)
34093
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1794 |/
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1795 o 0:426bada5c675 A
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1796
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1797 $ hg summary
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1798 parent: 2:b18e25de2cf5 tip
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1799 D
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1800 parent: 1:2ec65233581b (obsolete)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1801 B
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1802 branch: default
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1803 commit: 2 modified, 1 unknown, 1 unresolved (merge)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1804 update: (current)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1805 phases: 3 draft
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1806 rebase: 0 rebased, 2 remaining (rebase --continue)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1807
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1808 $ hg rebase --abort
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1809 rebase aborted
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1810
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1811 Also test --continue for the above case
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1812
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1813 $ cd $TESTTMP/hidden-state2
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1814 $ hg resolve -m
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1815 (no more unresolved files)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1816 continue: hg rebase --continue
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1817 $ hg rebase --continue
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1818 rebasing 1:2ec65233581b "B"
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1819 rebasing 3:7829726be4dc "C" (tip)
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1820 $ hg log -G
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1821 @ 5:1964d5d5b547 C
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1822 |
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1823 o 4:68deb90c12a2 B
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1824 |
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1825 o 2:b18e25de2cf5 D
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1826 |
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1827 o 0:426bada5c675 A
15ec3119d500 rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents: 34092
diff changeset
1828
39093
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1829 ====================
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1830 Test --stop option |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1831 ====================
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1832 $ cd ..
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1833 $ hg init rbstop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1834 $ cd rbstop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1835 $ echo a>a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1836 $ hg ci -Aqma
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1837 $ echo b>b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1838 $ hg ci -Aqmb
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1839 $ echo c>c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1840 $ hg ci -Aqmc
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1841 $ echo d>d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1842 $ hg ci -Aqmd
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1843 $ hg up 0 -q
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1844 $ echo f>f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1845 $ hg ci -Aqmf
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1846 $ echo D>d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1847 $ hg ci -Aqm "conflict with d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1848 $ hg up 3 -q
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1849 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1850 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1851 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1852 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1853 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1854 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1855 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1856 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1857 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1858 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1859 | o 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1860 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1861 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1862 | o 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1863 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1864 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1865 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1866 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1867
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1868 $ hg rebase -s 1 -d 5
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1869 rebasing 1:d2ae7f538514 "b"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1870 rebasing 2:177f92b77385 "c"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1871 rebasing 3:055a42cdd887 "d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1872 merging d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1873 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1874 unresolved conflicts (see hg resolve, then hg rebase --continue)
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1875 [1]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1876 $ hg rebase --stop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1877 1 new orphan changesets
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1878 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1879 o 7:7fffad344617 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1880 | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1881 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1882 o 6:b15528633407 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1883 | b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1884 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1885 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1886 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1887 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1888 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1889 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1890 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1891 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1892 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1893 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1894 | x 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1895 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1896 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1897 | x 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1898 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1899 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1900 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1901 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1902
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1903 Test it aborts if unstable csets is not allowed:
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1904 ===============================================
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1905 $ cat >> $HGRCPATH << EOF
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1906 > [experimental]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1907 > evolution.allowunstable=False
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1908 > EOF
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1909
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1910 $ hg strip 6 --no-backup -q
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1911 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1912 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1913 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1914 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1915 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1916 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1917 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1918 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1919 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1920 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1921 | o 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1922 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1923 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1924 | o 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1925 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1926 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1927 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1928 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1929
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1930 $ hg rebase -s 1 -d 5
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1931 rebasing 1:d2ae7f538514 "b"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1932 rebasing 2:177f92b77385 "c"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1933 rebasing 3:055a42cdd887 "d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1934 merging d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1935 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1936 unresolved conflicts (see hg resolve, then hg rebase --continue)
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1937 [1]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1938 $ hg rebase --stop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1939 abort: cannot remove original changesets with unrebased descendants
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1940 (either enable obsmarkers to allow unstable revisions or use --keep to keep original changesets)
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1941 [255]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1942 $ hg rebase --abort
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1943 saved backup bundle to $TESTTMP/rbstop/.hg/strip-backup/b15528633407-6eb72b6f-backup.hg
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1944 rebase aborted
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1945
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1946 Test --stop when --keep is passed:
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1947 ==================================
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1948 $ hg rebase -s 1 -d 5 --keep
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1949 rebasing 1:d2ae7f538514 "b"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1950 rebasing 2:177f92b77385 "c"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1951 rebasing 3:055a42cdd887 "d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1952 merging d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1953 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1954 unresolved conflicts (see hg resolve, then hg rebase --continue)
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1955 [1]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1956 $ hg rebase --stop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1957 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1958 o 7:7fffad344617 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1959 | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1960 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1961 o 6:b15528633407 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1962 | b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1963 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1964 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1965 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1966 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1967 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1968 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1969 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1970 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1971 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1972 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1973 | o 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1974 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1975 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1976 | o 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1977 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1978 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1979 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1980 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1981
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1982 Test --stop aborts when --collapse was passed:
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1983 =============================================
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1984 $ cat >> $HGRCPATH << EOF
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1985 > [experimental]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1986 > evolution.allowunstable=True
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1987 > EOF
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1988
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1989 $ hg strip 6
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1990 saved backup bundle to $TESTTMP/rbstop/.hg/strip-backup/b15528633407-6eb72b6f-backup.hg
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1991 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1992 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1993 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1994 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1995 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1996 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1997 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1998 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
1999 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2000 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2001 | o 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2002 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2003 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2004 | o 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2005 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2006 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2007 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2008 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2009
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2010 $ hg rebase -s 1 -d 5 --collapse -m "collapsed b c d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2011 rebasing 1:d2ae7f538514 "b"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2012 rebasing 2:177f92b77385 "c"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2013 rebasing 3:055a42cdd887 "d"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2014 merging d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2015 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2016 unresolved conflicts (see hg resolve, then hg rebase --continue)
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2017 [1]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2018 $ hg rebase --stop
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2019 abort: cannot stop in --collapse session
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2020 [255]
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2021 $ hg rebase --abort
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2022 rebase aborted
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2023 $ hg diff
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2024 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2025 o 5:00bfc9898aeb test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2026 | conflict with d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2027 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2028 o 4:dafd40200f93 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2029 | f
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2030 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2031 | @ 3:055a42cdd887 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2032 | | d
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2033 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2034 | o 2:177f92b77385 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2035 | | c
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2036 | |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2037 | o 1:d2ae7f538514 test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2038 |/ b
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2039 |
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2040 o 0:cb9a9f314b8b test
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2041 a
cc37009e95ca rebase: add --stop option to stop rebase at any point (issue5206)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38239
diff changeset
2042
39094
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2043 Test --stop raise errors with conflicting options:
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2044 =================================================
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2045 $ hg rebase -s 3 -d 5
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2046 rebasing 3:055a42cdd887 "d"
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2047 merging d
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2048 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2049 unresolved conflicts (see hg resolve, then hg rebase --continue)
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2050 [1]
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2051 $ hg rebase --stop --dry-run
39099
3f9a5d746cf6 rebase: consolidate check for --dry-run/--confirm on abort/stop/continue
Yuya Nishihara <yuya@tcha.org>
parents: 39098
diff changeset
2052 abort: cannot specify both --dry-run and --stop
39094
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2053 [255]
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2054
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2055 $ hg rebase -s 3 -d 5
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2056 abort: rebase in progress
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2057 (use 'hg rebase --continue' or 'hg rebase --abort')
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2058 [255]
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2059 $ hg rebase --stop --continue
39098
a42506059522 rebase: consolidate check for --abort/--stop/--continue conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39096
diff changeset
2060 abort: cannot use --stop with --continue
39094
2cf0b8b830ba rebase: raise error for options conflicting with --stop
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39093
diff changeset
2061 [255]
39096
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2062
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2063 Test --stop moves bookmarks of original revisions to new rebased nodes:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2064 ======================================================================
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2065 $ cd ..
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2066 $ hg init repo
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2067 $ cd repo
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2068
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2069 $ echo a > a
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2070 $ hg ci -Am A
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2071 adding a
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2072
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2073 $ echo b > b
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2074 $ hg ci -Am B
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2075 adding b
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2076 $ hg book X
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2077 $ hg book Y
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2078
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2079 $ echo c > c
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2080 $ hg ci -Am C
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2081 adding c
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2082 $ hg book Z
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2083
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2084 $ echo d > d
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2085 $ hg ci -Am D
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2086 adding d
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2087
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2088 $ hg up 0 -q
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2089 $ echo e > e
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2090 $ hg ci -Am E
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2091 adding e
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2092 created new head
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2093
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2094 $ echo doubt > d
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2095 $ hg ci -Am "conflict with d"
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2096 adding d
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2097
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2098 $ hg log -GT "{rev}: {node|short} '{desc}' bookmarks: {bookmarks}\n"
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2099 @ 5: 39adf30bc1be 'conflict with d' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2100 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2101 o 4: 9c1e55f411b6 'E' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2102 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2103 | o 3: 67a385d4e6f2 'D' bookmarks: Z
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2104 | |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2105 | o 2: 49cb3485fa0c 'C' bookmarks: Y
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2106 | |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2107 | o 1: 6c81ed0049f8 'B' bookmarks: X
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2108 |/
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2109 o 0: 1994f17a630e 'A' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2110
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2111 $ hg rebase -s 1 -d 5
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2112 rebasing 1:6c81ed0049f8 "B" (X)
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2113 rebasing 2:49cb3485fa0c "C" (Y)
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2114 rebasing 3:67a385d4e6f2 "D" (Z)
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2115 merging d
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2116 warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2117 unresolved conflicts (see hg resolve, then hg rebase --continue)
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2118 [1]
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2119 $ hg rebase --stop
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2120 1 new orphan changesets
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2121 $ hg log -GT "{rev}: {node|short} '{desc}' bookmarks: {bookmarks}\n"
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2122 o 7: 9c86c650b686 'C' bookmarks: Y
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2123 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2124 o 6: 9b87b54e5fd8 'B' bookmarks: X
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2125 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2126 @ 5: 39adf30bc1be 'conflict with d' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2127 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2128 o 4: 9c1e55f411b6 'E' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2129 |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2130 | * 3: 67a385d4e6f2 'D' bookmarks: Z
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2131 | |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2132 | x 2: 49cb3485fa0c 'C' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2133 | |
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2134 | x 1: 6c81ed0049f8 'B' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2135 |/
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2136 o 0: 1994f17a630e 'A' bookmarks:
33f5cffe725f rebase: add test to show --stop moves bookmarks
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 39094
diff changeset
2137