Mercurial > hg
annotate tests/test-rebase-obsolete.t @ 34305:0e48813cc106
alias: test duplicated definition earlier
This patch moves the old definition checking logic introduced by
f4b7be3f8430 earlier. So that the test itself does not depend on `aliasdef`.
The check is to avoid wrapping a same alias multiple times. It can be done
by checking the config name and value (`definition` in code), without
constructing a `cmdalias` instance.
This makes the next patch easier to review.
Differential Revision: https://phab.mercurial-scm.org/D804
author | Jun Wu <quark@fb.com> |
---|---|
date | Sat, 23 Sep 2017 13:31:09 -0700 |
parents | 4f969b9e0cf5 |
children | eb586ed5d8ce |
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] |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
9 > logtemplate= {rev}:{node|short} {desc|firstline} |
22955
fab9dda0f2a3
obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents:
22260
diff
changeset
|
10 > [experimental] |
33773
6c1a9fd8361b
test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents:
33688
diff
changeset
|
11 > stabilization=createmarkers,allowunstable |
17612
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
12 > [phases] |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
13 > publish=False |
27011
53c668dc6b16
rebase: fix a typo in test-rebase-obsolete
Laurent Charignon <lcharignon@fb.com>
parents:
26902
diff
changeset
|
14 > [extensions] |
17612
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
15 > 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
|
16 > drawdag=$TESTDIR/drawdag.py |
17612
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
17 > EOF |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
18 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
19 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
|
20 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
21 $ hg init base |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
22 $ cd base |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
23 $ 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
|
24 adding changesets |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
25 adding manifests |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
26 adding file changes |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
27 added 8 changesets with 7 changes to 7 files (+2 heads) |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
28 (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
|
29 $ hg up tip |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
30 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
|
31 $ hg log -G |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
32 @ 7:02de42196ebe H |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
33 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
34 | 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
|
35 |/| |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
36 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
|
37 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
38 | 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
|
39 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
40 | 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
|
41 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
42 | 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
|
43 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
44 | 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
|
45 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
46 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
|
47 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
48 $ cd .. |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
49 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
50 simple rebase |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
51 --------------------------------- |
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 $ 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
|
54 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
|
55 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
|
56 $ cd simple |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
57 $ hg up 32af7686d403 |
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, 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
|
59 $ hg rebase -d eea13746799a |
23517
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
60 rebasing 1:42ccdea3bb16 "B" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
61 rebasing 2:5fddd98957c8 "C" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
62 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
|
63 $ hg log -G |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
64 @ 10:8eeb3c33ad33 D |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
65 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
66 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
|
67 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
68 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
|
69 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
70 | 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
|
71 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
72 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
|
73 |\| |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
74 | 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
|
75 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
76 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
|
77 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
78 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
|
79 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
80 $ 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
|
81 @ 10:8eeb3c33ad33 D |
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 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
|
84 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
85 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
|
86 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
87 | 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
|
88 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
89 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
|
90 |\| |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
91 | 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
|
92 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
93 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
|
94 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
95 | x 3:32af7686d403 D |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
96 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
97 | x 2:5fddd98957c8 C |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
98 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
99 | x 1:42ccdea3bb16 B |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
100 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
101 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
|
102 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
103 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
104 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 e4e5be0395b2cbd471ed22a26b1b6a1a0658a794 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
105 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 2327fea05063f39961b14cb69435a9898dc9a245 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
106 32af7686d403cf45b5d95f2d70cebea587ac806a 8eeb3c33ad33d452c89e5dcf611c347f978fb42b 0 (Thu Jan 01 00:00:00 1970 +0000) {'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
|
107 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
108 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
109 $ cd .. |
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 empty changeset |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
112 --------------------------------- |
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 $ 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
|
115 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
|
116 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
|
117 $ cd empty |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
118 $ hg up eea13746799a |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
119 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
|
120 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
121 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
|
122 set. |
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 $ hg graft 42ccdea3bb16 32af7686d403 |
23505
bd5dbb8a05c8
graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents:
22955
diff
changeset
|
125 grafting 1:42ccdea3bb16 "B" |
bd5dbb8a05c8
graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents:
22955
diff
changeset
|
126 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
|
127 $ hg rebase -s 42ccdea3bb16 -d . |
23517
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
128 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
|
129 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
|
130 rebasing 2:5fddd98957c8 "C" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
131 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
|
132 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
|
133 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
134 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
|
135 | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
136 @ 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
|
137 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
138 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
|
139 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
140 | 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
|
141 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
142 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
|
143 |\| |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
144 | 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
|
145 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
146 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
|
147 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
148 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
|
149 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
150 $ 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
|
151 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
|
152 | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
153 @ 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
|
154 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
155 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
|
156 | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
157 | 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
|
158 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
159 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
|
160 |\| |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
161 | 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
|
162 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
163 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
|
164 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
165 | x 3:32af7686d403 D |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
166 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
167 | x 2:5fddd98957c8 C |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
168 | | |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
169 | x 1:42ccdea3bb16 B |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
170 |/ |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
171 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
|
172 |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
173 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
174 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
175 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
176 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'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
|
177 |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
178 |
31295
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
179 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
|
180 |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
181 $ 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
|
182 rebasing 9:08483444fef9 "D" |
18444
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
183 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
184 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
185 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
186 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
187 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'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
|
188 $ hg log -G |
19861
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
189 @ 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
|
190 | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
191 | o 10:5ae4c968c6ac C |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
192 | | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
193 | x 9:08483444fef9 D |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
194 | | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
195 | 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
|
196 | | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
197 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
|
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 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
|
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 | 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
|
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 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
|
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 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
|
206 |
26349
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
207 $ 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
|
208 rebasing 8:8877864f1edb "B" |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
209 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
|
210 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
|
211 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
212 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
213 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
214 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
215 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
216 8877864f1edb05d0e07dc4ba77b67a80a7b86672 462a34d07e599b87ea08676a449373fe4e2e1347 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
217 5ae4c968c6aca831df823664e706c9d4aa34473d 98f6af4ee9539e14da4465128f894c274900b6e5 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
33775
f078d7358e90
revset: remane divergent into contentdivergent
Boris Feld <boris.feld@octobus.net>
parents:
33773
diff
changeset
|
218 $ 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
|
219 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
220 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
|
221 | |
19861
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
222 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
|
223 | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
224 @ 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
|
225 | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
226 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
|
227 | |
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
228 | 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
|
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 | 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
|
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 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
|
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 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
|
235 |
19861
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
236 $ 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
|
237 changeset: 11:4596109a6a4328c398bde3a4a3b6737cfade3003 |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
238 phase: draft |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
239 parent: 7:02de42196ebee42ef284b6780a87cdc96e8eaab6 |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
240 parent: -1:0000000000000000000000000000000000000000 |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
241 manifest: 11:a91006e3a02f1edf631f7018e6e5684cf27dd905 |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
242 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
|
243 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
|
244 files+: D |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
245 extra: branch=default |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
246 extra: rebase_source=08483444fef91d6224f6655ee586a65d263ad34c |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
247 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
248 description: |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
249 D |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
250 |
a69a77a80900
rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents:
18472
diff
changeset
|
251 |
26902
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
252 $ hg up -qr 'desc(G)' |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
253 $ hg graft 4596109a6a4328c398bde3a4a3b6737cfade3003 |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
254 grafting 11:4596109a6a43 "D" |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
255 $ hg up -qr 'desc(E)' |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
256 $ hg rebase -s tip -d . |
27974
bb14a81ce647
graft: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
27746
diff
changeset
|
257 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
|
258 $ 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
|
259 changeset: 15:627d4614809036ba22b9e7cb31638ddc06ab99ab |
26902
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
260 tag: tip |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
261 phase: draft |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
262 parent: 4:9520eea781bcca16c1e15acc0ba14335a0e8e5ba |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
263 parent: -1:0000000000000000000000000000000000000000 |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
264 manifest: 15:648e8ede73ae3e497d093d3a4c8fcc2daa864f42 |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
265 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
|
266 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
|
267 files+: D |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
268 extra: branch=default |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
269 extra: intermediate-source=4596109a6a4328c398bde3a4a3b6737cfade3003 |
27974
bb14a81ce647
graft: don't preserve most extra fields
Siddharth Agarwal <sid0@fb.com>
parents:
27746
diff
changeset
|
270 extra: rebase_source=9e36056a46e37c9776168c7375734eebc70e294f |
26902
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
271 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
272 description: |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
273 D |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
274 |
7ffebbdcb371
rebase: preserve the 'intermediate-source' attribute of grafts
Matt Harbison <matt_harbison@yahoo.com>
parents:
26811
diff
changeset
|
275 |
31295
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
276 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
|
277 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
|
278 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
|
279 |
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
280 $ hg --hidden up -qr 'first(hidden())' |
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
281 $ hg rebase --rev 13 --dest 15 |
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
282 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
|
283 $ hg log -G |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
284 o 16:294a2b93eb4d C |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
285 | |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
286 o 15:627d46148090 D |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
287 | |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
288 | o 12:462a34d07e59 B |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
289 | | |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
290 | o 11:4596109a6a43 D |
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 7:02de42196ebe H |
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 6:eea13746799a G |
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 5:24b6387c8c8c F |
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 | 4:9520eea781bc E |
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 | @ 1:42ccdea3bb16 B |
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 0:cd010b8cd998 A |
f5c71e98f0f7
rebase: unhide original working directory node as well (issue5219)
Martin von Zweigbergk <martinvonz@google.com>
parents:
31295
diff
changeset
|
303 |
31295
7f869d81ab54
tests: demonstrate broken rebase from obsolete commit
Martin von Zweigbergk <martinvonz@google.com>
parents:
30715
diff
changeset
|
304 |
17612
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
305 $ cd .. |
fc2a6114f0a0
rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff
changeset
|
306 |
17613
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
307 collapse rebase |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
308 --------------------------------- |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
309 |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
310 $ 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
|
311 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
|
312 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
|
313 $ cd collapse |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
314 $ 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
|
315 rebasing 1:42ccdea3bb16 "B" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
316 rebasing 2:5fddd98957c8 "C" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
317 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
|
318 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
319 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
|
320 | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
321 | @ 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
|
322 | | |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
323 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
|
324 |\| |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
325 | 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
|
326 | | |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
327 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
|
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 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
|
330 |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
331 $ 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
|
332 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
|
333 | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
334 | @ 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
|
335 | | |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
336 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
|
337 |\| |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
338 | 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
|
339 | | |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
340 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
|
341 |/ |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
342 | x 3:32af7686d403 D |
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 | x 2:5fddd98957c8 C |
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 | x 1:42ccdea3bb16 B |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
347 |/ |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
348 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
|
349 |
19924
c23c62209cc4
tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19861
diff
changeset
|
350 $ 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
|
351 4dc2197e807bae9817f09905b50ab288be2dbbcf tip |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
352 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
353 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
354 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
355 32af7686d403cf45b5d95f2d70cebea587ac806a 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (Thu Jan 01 00:00:00 1970 +0000) {'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
|
356 |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
357 $ cd .. |
aafc521668d8
rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17612
diff
changeset
|
358 |
17615
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
359 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
|
360 --------------------------------- |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
361 |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
362 We rebase a changeset which has a hidden changeset. The hidden changeset must |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
363 not be rebased. |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
364 |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
365 $ 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
|
366 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
|
367 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
|
368 $ cd hidden |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
369 $ 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
|
370 rebasing 2:5fddd98957c8 "C" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
371 rebasing 3:32af7686d403 "D" |
17615
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
372 $ 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
|
373 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
|
374 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
375 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
|
376 | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
377 | 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
|
378 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
379 | 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
|
380 | | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
381 @ | 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
|
382 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
383 | 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
|
384 |/| |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
385 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
|
386 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
387 | 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
|
388 |/ |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
389 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
|
390 |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
391 $ 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
|
392 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
|
393 | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
394 | 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
|
395 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
396 | 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
|
397 | | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
398 @ | 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
|
399 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
400 | 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
|
401 |/| |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
402 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
|
403 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
404 | 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
|
405 |/ |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
406 | x 3:32af7686d403 D |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
407 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
408 | x 2:5fddd98957c8 C |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
409 | | |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
410 | x 1:42ccdea3bb16 B |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
411 |/ |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
412 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
|
413 |
9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17613
diff
changeset
|
414 $ hg debugobsolete |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
415 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
416 32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'rebase', 'user': 'test'} |
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
417 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 7c6027df6a99d93f461868e5433f63bde20b6dfb 0 (Thu Jan 01 00:00:00 1970 +0000) {'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
|
418 |
18398
1a00c8451640
test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18164
diff
changeset
|
419 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
|
420 --------------------------------------------------------------------- |
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
|
421 |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
422 $ 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
|
423 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
|
424 $ hg rebase -r 8 |
23517
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
425 rebasing 8:e273c5e7d2d2 "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
|
426 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
427 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
|
428 | |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
429 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
|
430 | |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
431 | o 9:cf44d2f5a9f4 D |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
432 | | |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
433 | x 8:e273c5e7d2d2 C |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
434 | | |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
435 @ | 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
|
436 | | |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
437 | 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
|
438 |/| |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
439 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
|
440 | | |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
441 | 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
|
442 |/ |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
443 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
|
444 |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
445 |
bacf55bd8f90
rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
17615
diff
changeset
|
446 |
18424
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
447 Test multiple root handling |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
448 ------------------------------------ |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
449 |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
450 $ 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
|
451 rebasing 9:cf44d2f5a9f4 "D" |
23517
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
452 rebasing 7:02de42196ebe "H" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
453 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
|
454 $ hg log -G |
19925
9c78ed396075
rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
19924
diff
changeset
|
455 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
|
456 | |
30007
aca0954d3739
rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents:
29372
diff
changeset
|
457 @ 13:bfe264faf697 H |
aca0954d3739
rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents:
29372
diff
changeset
|
458 | |
aca0954d3739
rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents:
29372
diff
changeset
|
459 | 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
|
460 |/ |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
461 | o 10:7c6027df6a99 B |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
462 | | |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
463 | x 7:02de42196ebe H |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
464 | | |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
465 +---o 6:eea13746799a G |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
466 | |/ |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
467 | o 5:24b6387c8c8c F |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
468 | | |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
469 o | 4:9520eea781bc E |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
470 |/ |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
471 o 0:cd010b8cd998 A |
100fdc84670f
rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18398
diff
changeset
|
472 |
18444
55aff0c2b73c
rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18424
diff
changeset
|
473 $ 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
|
474 |
33678
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
475 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
|
476 |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
477 $ 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
|
478 $ 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
|
479 |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
480 $ 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
|
481 > F |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
482 > /| |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
483 > C E |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
484 > | | |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
485 > 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
|
486 > \|/ |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
487 > A |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
488 > EOF |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
489 |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
490 $ hg rebase -d G -r 'B + D + F' |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
491 rebasing 1:112478962961 "B" (B) |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
492 rebasing 2:b18e25de2cf5 "D" (D) |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
493 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
|
494 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
|
495 [255] |
33678
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
496 |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
497 $ cd .. |
855a1856466d
tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com>
parents:
33677
diff
changeset
|
498 |
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
|
499 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
|
500 |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
501 (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
|
502 |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
503 $ 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
|
504 $ 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
|
505 $ 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
|
506 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
|
507 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
|
508 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
|
509 added 8 changesets with 7 changes to 7 files (+2 heads) |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
510 (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
|
511 $ 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
|
512 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
|
513 $ 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
|
514 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
|
515 (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
|
516 $ 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
|
517 $ 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
|
518 $ 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
|
519 $ 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
|
520 $ 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
|
521 @ 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
|
522 | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
523 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
|
524 |\ |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
525 | 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
|
526 | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
527 | | 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
|
528 | |/| |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
529 | 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
|
530 | | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
531 | | 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
|
532 | |/ |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
533 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
|
534 | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
535 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
|
536 | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
537 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
|
538 |/ |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
539 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
|
540 |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
541 (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
|
542 |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
543 $ 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
|
544 rebasing 3:32af7686d403 "D" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
545 rebasing 7:02de42196ebe "H" |
4f18e80d9c30
rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents:
23505
diff
changeset
|
546 rebasing 9:4bde274eefcf "I" (tip) |
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
|
547 $ 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
|
548 @ 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
|
549 | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
550 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
|
551 | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
552 | 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
|
553 |/ |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
554 | 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
|
555 | |\ |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
556 | | x 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
|
557 | | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
558 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
|
559 | | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
560 | | 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
|
561 | | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
562 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
|
563 / / |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
564 x | 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
|
565 | | |
37100f30590f
test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
18447
diff
changeset
|
566 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
|
567 | | |
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 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
|
569 |/ |
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 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
|
571 |
23970
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
572 |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
573 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
|
574 |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
575 $ hg up --hidden 9 |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
576 3 files updated, 0 files merged, 1 files removed, 0 files unresolved |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
577 $ echo J > J |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
578 $ hg add J |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
579 $ hg commit -m J |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
580 $ 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
|
581 obsoleted 1 changesets |
23970
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
582 |
28429
a47881680402
rebase: turn rebaseskipobsolete on by default
Kostia Balytskyi <ikostia@fb.com>
parents:
28280
diff
changeset
|
583 $ 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
|
584 rebasing 9:4bde274eefcf "I" |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
585 rebasing 13:06edfc82198f "J" (tip) |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
586 $ hg log -G |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
587 @ 15:5ae8a643467b J |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
588 | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
589 o 14:9ad579b4a5de I |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
590 | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
591 | o 12:acd174b7ab39 I |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
592 | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
593 | o 11:6c11a6218c97 H |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
594 | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
595 o | 10:b5313c85b22e D |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
596 |/ |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
597 | o 8:53a6a128b2b7 M |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
598 | |\ |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
599 | | x 7:02de42196ebe H |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
600 | | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
601 o---+ 6:eea13746799a G |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
602 | | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
603 | | o 5:24b6387c8c8c F |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
604 | | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
605 o---+ 4:9520eea781bc E |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
606 / / |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
607 x | 3:32af7686d403 D |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
608 | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
609 o | 2:5fddd98957c8 C |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
610 | | |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
611 o | 1:42ccdea3bb16 B |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
612 |/ |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
613 o 0:cd010b8cd998 A |
8a544fb645bb
rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
23518
diff
changeset
|
614 |
26349
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
615 $ 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
|
616 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
|
617 $ echo "K" > K |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
618 $ hg add K |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
619 $ hg commit --amend -m "K" |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
620 $ echo "L" > L |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
621 $ hg add L |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
622 $ 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
|
623 $ hg up '.^' |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
624 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
|
625 $ echo "M" > M |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
626 $ hg add M |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
627 $ hg commit --amend -m "M" |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
628 $ hg log -G |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
629 @ 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
|
630 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
631 | o 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
|
632 | | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
633 | x 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
|
634 |/ |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
635 | o 15:5ae8a643467b J |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
636 | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
637 | x 14:9ad579b4a5de I |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
638 |/ |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
639 | o 12:acd174b7ab39 I |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
640 | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
641 | 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
|
642 | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
643 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
|
644 |/ |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
645 | o 8:53a6a128b2b7 M |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
646 | |\ |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
647 | | x 7:02de42196ebe H |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
648 | | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
649 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
|
650 | | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
651 | | 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
|
652 | | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
653 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
|
654 / / |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
655 x | 3:32af7686d403 D |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
656 | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
657 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
|
658 | | |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
659 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
|
660 |/ |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
661 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
|
662 |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
663 $ 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
|
664 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
|
665 rebasing 15:5ae8a643467b "J" |
92409f8dff5d
rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents:
23970
diff
changeset
|
666 |
26675
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
667 $ cd .. |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
668 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
669 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
|
670 ----------------------------------------------- |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
671 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
672 setup |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
673 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
674 $ 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
|
675 $ cd obsskip |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
676 $ 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
|
677 > [experimental] |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
678 > rebaseskipobsolete = True |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
679 > [extensions] |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
680 > strip = |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
681 > EOF |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
682 $ 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
|
683 $ 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
|
684 $ 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
|
685 $ 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
|
686 $ 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
|
687 $ 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
|
688 $ 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
|
689 $ 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
|
690 $ hg up --hidden 'desc(B0)' |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
691 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
692 $ 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
|
693 $ 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
|
694 $ hg commit -m C |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
695 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
696 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
|
697 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
698 $ 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
|
699 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
|
700 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
|
701 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
702 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
|
703 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
704 $ hg up --hidden 'desc(B0)' |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
705 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
706 $ 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
|
707 $ 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
|
708 $ hg commit -m D |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
709 $ hg --hidden strip -r 'desc(B1)' |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
710 saved backup bundle to $TESTTMP/obsskip/.hg/strip-backup/86f6414ccda7-b1c452ee-backup.hg (glob) |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
711 |
b73eb98c0243
rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26349
diff
changeset
|
712 $ 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
|
713 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
|
714 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
|
715 $ hg up 4 |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
716 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
|
717 $ echo "O" > O |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
718 $ hg add O |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
719 $ hg commit -m O |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
720 $ echo "P" > P |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
721 $ hg add P |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
722 $ hg commit -m P |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
723 $ hg log -G |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
724 @ 8:8d47583e023f P |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
725 | |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
726 o 7:360bbaa7d3ce O |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
727 | |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
728 | o 6:9c48361117de D |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
729 | | |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
730 o | 4:ff2c4d47b71d C |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
731 |/ |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
732 o 2:261e70097290 B2 |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
733 | |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
734 o 0:4a2df7238c3b A |
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
735 |
33773
6c1a9fd8361b
test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents:
33688
diff
changeset
|
736 $ hg debugobsolete `hg log -r 7 -T '{node}\n'` --config experimental.stabilization=all |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33332
diff
changeset
|
737 obsoleted 1 changesets |
27012
5eac7ab59b95
rebase: don't rebase obsolete commits with no successor
Laurent Charignon <lcharignon@fb.com>
parents:
27011
diff
changeset
|
738 $ 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
|
739 rebasing 4:ff2c4d47b71d "C" |
33842
30573b3d2ebc
rebase: move obsoleted not rebased messages earlier (BC)
Jun Wu <quark@fb.com>
parents:
33789
diff
changeset
|
740 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
|
741 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
|
742 |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
743 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
|
744 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
|
745 |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
746 $ hg log -G |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
747 @ 10:121d9e3bc4c6 P |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
748 | |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
749 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
|
750 | |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
751 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
|
752 | |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
753 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
|
754 | |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
755 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
|
756 |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
757 |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
758 $ hg up 9 |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
759 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
|
760 $ 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
|
761 $ hg add nonrelevant |
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
762 $ 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
|
763 created new head |
33773
6c1a9fd8361b
test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents:
33688
diff
changeset
|
764 $ hg debugobsolete `hg log -r 11 -T '{node}\n'` --config experimental.stabilization=all |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33332
diff
changeset
|
765 obsoleted 1 changesets |
27577
f9e755736b0e
rebase: better error message when rebased changes are all in destination
Laurent Charignon <lcharignon@fb.com>
parents:
27147
diff
changeset
|
766 $ 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
|
767 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
|
768 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
769 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
|
770 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
771 $ hg log -G |
34008
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
772 @ 10:121d9e3bc4c6 P |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
773 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
774 o 9:4be60e099a77 C |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
775 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
776 o 6:9c48361117de D |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
777 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
778 o 2:261e70097290 B2 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
779 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
780 o 0:4a2df7238c3b A |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
781 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
782 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
783 $ hg up 9 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
784 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
|
785 $ echo "john" > doe |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
786 $ hg add doe |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
787 $ hg commit -m "john doe" |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
788 created new head |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
789 $ hg up 10 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
790 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
|
791 $ echo "foo" > bar |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
792 $ hg add bar |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
793 $ hg commit --amend -m "10'" |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
794 $ hg up 10 --hidden |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
795 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
|
796 $ echo "bar" > foo |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
797 $ hg add foo |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
798 $ hg commit -m "bar foo" |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
799 $ hg log -G |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
800 @ 14:73568ab6879d bar foo |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
801 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
802 | o 13:77d874d096a2 10' |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
803 | | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
804 | | o 12:3eb461388009 john doe |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
805 | |/ |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
806 x | 10:121d9e3bc4c6 P |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
807 |/ |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
808 o 9:4be60e099a77 C |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
809 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
810 o 6:9c48361117de D |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
811 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
812 o 2:261e70097290 B2 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
813 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
814 o 0:4a2df7238c3b A |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
815 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
816 $ hg summary |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
817 parent: 14:73568ab6879d tip (orphan) |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
818 bar foo |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
819 branch: default |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
820 commit: (clean) |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
821 update: 2 new changesets, 3 branch heads (merge) |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
822 phases: 8 draft |
33667
03039ff3082b
evolution: rename unstable to orphan
Boris Feld <boris.feld@octobus.net>
parents:
33542
diff
changeset
|
823 orphan: 1 changesets |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
824 $ 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
|
825 abort: this rebase will cause divergences from: 121d9e3bc4c6 |
28280
dc6032a1d888
rebase: remove experimental option from 'rebase' config section
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
28188
diff
changeset
|
826 (to force the rebase please set experimental.allowdivergence=True) |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
827 [255] |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
828 $ hg log -G |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
829 @ 14:73568ab6879d bar foo |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
830 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
831 | o 13:77d874d096a2 10' |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
832 | | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
833 | | o 12:3eb461388009 john doe |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
834 | |/ |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
835 x | 10:121d9e3bc4c6 P |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
836 |/ |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
837 o 9:4be60e099a77 C |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
838 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
839 o 6:9c48361117de D |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
840 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
841 o 2:261e70097290 B2 |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
842 | |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
843 o 0:4a2df7238c3b A |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
844 |
28280
dc6032a1d888
rebase: remove experimental option from 'rebase' config section
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
28188
diff
changeset
|
845 With experimental.allowdivergence=True, rebase can create divergence |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
846 |
28280
dc6032a1d888
rebase: remove experimental option from 'rebase' config section
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
28188
diff
changeset
|
847 $ hg rebase -s 10 -d 12 --config experimental.allowdivergence=True |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
848 rebasing 10:121d9e3bc4c6 "P" |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
849 rebasing 14:73568ab6879d "bar foo" (tip) |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
850 $ hg summary |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
851 parent: 16:61bd55f69bc4 tip |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
852 bar foo |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
853 branch: default |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
854 commit: (clean) |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
855 update: 1 new changesets, 2 branch heads (merge) |
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
856 phases: 8 draft |
33688
2194a8723138
evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net>
parents:
33678
diff
changeset
|
857 content-divergent: 2 changesets |
27746
f0e9f38d250f
rebase: prevent creating divergence
Laurent Charignon <lcharignon@fb.com>
parents:
27577
diff
changeset
|
858 |
28686
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
859 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
|
860 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
|
861 |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
862 $ hg log -G -r 16:: |
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
863 @ 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
|
864 | |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
865 ~ |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
866 |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
867 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
|
868 $ printf "a" > willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
869 $ hg add willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
870 $ 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
|
871 |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
872 $ printf "dummy" > C |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
873 $ 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
|
874 |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
875 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
|
876 $ 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
|
877 $ printf "b" > willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
878 $ hg add willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
879 $ 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
|
880 created new head |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
881 $ printf "dummy" > K |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
882 $ hg add K |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
883 $ 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
|
884 $ printf "dummy" > L |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
885 $ hg add L |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
886 $ hg commit -m "dummy change" |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
887 $ hg debugobsolete `hg log -r ".^" -T '{node}'` `hg log -r 18 -T '{node}'` --config experimental.stabilization=all |
33542
b11e8c67fb0f
debugobsolete: also report the number of obsoleted changesets
Boris Feld <boris.feld@octobus.net>
parents:
33332
diff
changeset
|
888 obsoleted 1 changesets |
28686
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
889 |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
890 $ hg log -G -r 16:: |
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
891 @ 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
|
892 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
893 x 20:8b31da3c4919 dummy change |
28686
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
894 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
895 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
|
896 | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
897 | 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
|
898 | | |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
899 | 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
|
900 |/ |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
901 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
|
902 | |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
903 ~ |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
904 $ hg rebase -r ".^^ + .^ + ." -d 18 |
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
905 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
|
906 merging willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
907 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
|
908 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
|
909 [1] |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
910 |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
911 $ hg resolve --mark willconflict |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
912 (no more unresolved files) |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
913 continue: hg rebase --continue |
b212e01fead0
rebase: fix crash when rebase aborts while rebasing obsolete revisions
Laurent Charignon <lcharignon@fb.com>
parents:
28429
diff
changeset
|
914 $ hg rebase --continue |
34085
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
915 rebasing 19:b82fb57ea638 "willconflict second version" |
e8a7c1a0565a
cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents:
34009
diff
changeset
|
916 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
|
917 rebasing 21:7bdc8a87673d "dummy change" (tip) |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
918 $ cd .. |
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
919 |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
920 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
|
921 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
922 $ 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
|
923 $ cd p1-succ-is-dest |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
924 |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
925 $ 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
|
926 > F |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
927 > /| |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
928 > 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
|
929 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
930 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
931 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
932 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
933 $ hg rebase -d B -s D |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
934 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
|
935 rebasing 4:66f1a38021c9 "F" (F tip) |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
936 $ 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
|
937 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
|
938 |\ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
939 | | x 4:66f1a38021c9 F |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
940 | |/| |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
941 | 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
|
942 | | | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
943 | | x 2:b18e25de2cf5 D |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
944 | |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
945 o | 1:112478962961 B |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
946 |/ |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
947 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
|
948 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
949 $ cd .. |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
950 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
951 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
|
952 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
953 $ 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
|
954 $ 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
|
955 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
956 $ 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
|
957 > F |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
958 > /| |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
959 > 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
|
960 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
961 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
962 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
963 |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
964 $ hg rebase -d B -s E |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
965 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
|
966 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
|
967 $ hg log -G |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
968 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
|
969 |\ |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
970 | | x 4:66f1a38021c9 F |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
971 | |/| |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
972 | | x 3:7fb047a69f22 E |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
973 | | | |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
974 | o | 2:b18e25de2cf5 D |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
975 | |/ |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
976 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
|
977 |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
978 o 0:426bada5c675 A |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
979 |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
980 $ cd .. |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
981 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
982 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
|
983 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
984 $ 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
|
985 $ 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
|
986 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
987 $ 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
|
988 > 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
|
989 > /| | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
990 > 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
|
991 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
992 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
993 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
994 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
995 $ hg rebase -d C -s D |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
996 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
|
997 rebasing 5:66f1a38021c9 "F" (F tip) |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
998 |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
999 $ hg log -G |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1000 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
|
1001 |\ |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1002 +---x 5:66f1a38021c9 F |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1003 | | | |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1004 | 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
|
1005 | | | |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1006 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
|
1007 | | | |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1008 +---x 2:b18e25de2cf5 D |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1009 | | |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1010 | 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
|
1011 |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1012 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
|
1013 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1014 $ cd .. |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1015 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1016 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
|
1017 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1018 $ 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
|
1019 $ 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
|
1020 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1021 $ 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
|
1022 > 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
|
1023 > /| | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1024 > 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
|
1025 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1026 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1027 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1028 |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1029 $ hg rebase -d C -s E |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1030 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
|
1031 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
|
1032 $ hg log -G |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1033 o 6:c6ab0cc6d220 F |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
1034 |\ |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1035 +---x 5:66f1a38021c9 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
|
1036 | | | |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1037 | 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
|
1038 | | | |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1039 | | x 3:7fb047a69f22 E |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1040 | | | |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1041 o---+ 2:b18e25de2cf5 D |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1042 / / |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1043 o / 1:112478962961 B |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
1044 |/ |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1045 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
|
1046 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1047 $ cd .. |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1048 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1049 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
|
1050 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1051 $ 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
|
1052 $ 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
|
1053 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1054 $ 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
|
1055 > 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
|
1056 > /| | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1057 > 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
|
1058 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1059 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1060 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1061 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1062 $ 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
|
1063 rebasing 2:b18e25de2cf5 "D" (D) |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1064 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
|
1065 rebasing 5:66f1a38021c9 "F" (F tip) |
33863
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1066 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
|
1067 $ 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
|
1068 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
|
1069 | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1070 | x 5:66f1a38021c9 F |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1071 | |\ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1072 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
|
1073 | | | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1074 | | x 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
|
1075 | | | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1076 | x | 2:b18e25de2cf5 D |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1077 | |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1078 o / 1:112478962961 B |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
1079 |/ |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1080 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
|
1081 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1082 $ cd .. |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1083 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1084 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
|
1085 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1086 $ 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
|
1087 $ 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
|
1088 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1089 $ 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
|
1090 > 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
|
1091 > /| | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1092 > 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
|
1093 > \|/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1094 > A |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1095 > EOF |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1096 |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1097 $ hg rebase -d C -b F |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1098 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
|
1099 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
|
1100 rebasing 5:66f1a38021c9 "F" (F tip) |
33863
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1101 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
|
1102 |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1103 $ hg log -G |
33786
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1104 o 6:533690786a86 E |
0975506120fb
rebase: rewrite core algorithm (issue5578) (issue5630)
Jun Wu <quark@fb.com>
parents:
33775
diff
changeset
|
1105 | |
33677
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1106 | x 5:66f1a38021c9 F |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1107 | |\ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1108 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
|
1109 | | | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1110 | | x 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
|
1111 | | | |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1112 | x | 2:b18e25de2cf5 D |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1113 | |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1114 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
|
1115 |/ |
644dddccc265
tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com>
parents:
33667
diff
changeset
|
1116 o 0:426bada5c675 A |
29063
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
1117 |
8ede973597fd
rebase: handle successor targets (issue5198)
timeless <timeless@mozdev.org>
parents:
28686
diff
changeset
|
1118 $ cd .. |
29372
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1119 |
33863
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1120 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
|
1121 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1122 $ hg init p12-succ-in-dest |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1123 $ cd p12-succ-in-dest |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1124 $ hg debugdrawdag <<'EOS' |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1125 > E F |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1126 > /| /| # replace: A -> C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1127 > A B C D # replace: B -> D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1128 > | | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1129 > X Y |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1130 > EOS |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1131 $ 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
|
1132 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
|
1133 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
|
1134 rebasing 7:dac5d11c5a7d "E" (E tip) |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1135 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
|
1136 [255] |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1137 $ cd .. |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1138 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1139 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
|
1140 parent moves as requested. |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1141 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1142 $ hg init p1-succ-p2-move |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1143 $ cd p1-succ-p2-move |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1144 $ hg debugdrawdag <<'EOS' |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1145 > D Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1146 > /| | # replace: A -> C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1147 > A B C # D/D = D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1148 > EOS |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1149 $ 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
|
1150 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
|
1151 rebasing 1:fc2b737bb2e5 "B" (B) |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1152 rebasing 3:b8ed089c80ad "D" (D) |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1153 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1154 $ rm .hg/localtags |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1155 $ hg log -G |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1156 o 6:e4f78693cc88 D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1157 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1158 o 5:76840d832e98 B |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1159 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1160 o 4:50e41c1f3950 Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1161 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1162 o 2:96cc3511f894 C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1163 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1164 $ hg files -r tip |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1165 B |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1166 C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1167 D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1168 Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1169 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1170 $ cd .. |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1171 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1172 $ hg init p1-move-p2-succ |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1173 $ cd p1-move-p2-succ |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1174 $ hg debugdrawdag <<'EOS' |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1175 > D Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1176 > /| | # replace: B -> C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1177 > A B C # D/D = D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1178 > EOS |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1179 $ 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
|
1180 rebasing 0:426bada5c675 "A" (A) |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1181 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
|
1182 rebasing 3:b8ed089c80ad "D" (D) |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1183 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1184 $ rm .hg/localtags |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1185 $ hg log -G |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1186 o 6:1b355ed94d82 D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1187 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1188 o 5:a81a74d764a6 A |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1189 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1190 o 4:50e41c1f3950 Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1191 | |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1192 o 2:96cc3511f894 C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1193 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1194 $ hg files -r tip |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1195 A |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1196 C |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1197 D |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1198 Z |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1199 |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1200 $ cd .. |
3160876c6e4e
rebase: choose merge base without unwanted revisions
Jun Wu <quark@fb.com>
parents:
33844
diff
changeset
|
1201 |
29372
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1202 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
|
1203 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
|
1204 $ 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
|
1205 $ echo "[experimental]" > .hg/hgrc |
33773
6c1a9fd8361b
test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents:
33688
diff
changeset
|
1206 $ echo "stabilization=all" >> .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
|
1207 $ 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
|
1208 $ 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
|
1209 adding root |
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1210 $ 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
|
1211 adding a |
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1212 $ 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
|
1213 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
|
1214 $ 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
|
1215 adding b |
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1216 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
|
1217 $ 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
|
1218 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
|
1219 $ 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
|
1220 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
|
1221 $ hg book -r 2 mybook --hidden # rev 2 has a bookmark on it now |
0b5e9a625042
rebase: do not abort if all changesets have equivalents in the destination
Kostia Balytskyi <ikostia@fb.com>
parents:
29063
diff
changeset
|
1222 $ 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
|
1223 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
|
1224 2:1e9a3c00cbe9 b (no-eol) |
33773
6c1a9fd8361b
test: update evolution config
Boris Feld <boris.feld@octobus.net>
parents:
33688
diff
changeset
|
1225 $ hg rebase -r 2 -d 3 --config experimental.stabilization.track-operation=1 |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1226 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
|
1227 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
|
1228 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
|
1229 $ hg log -r . |
34008
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1230 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
|
1231 $ hg bookmarks |
34008
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1232 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
|
1233 $ hg debugobsolete --rev tip |
34286
ecc96506c49d
obsmarker: track operation by default
Martin von Zweigbergk <martinvonz@google.com>
parents:
34093
diff
changeset
|
1234 1e9a3c00cbe90d236ac05ef61efcc5e40b7412bc be1832deae9ac531caa7438b8dcf6055a122cd8e 0 (Thu Jan 01 00:00:00 1970 +0000) {'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
|
1235 |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1236 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
|
1237 parent gets moved: |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1238 |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1239 $ 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
|
1240 $ 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
|
1241 $ hg debugdrawdag <<'EOS' |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1242 > 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
|
1243 > | | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1244 > | C |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1245 > D2 | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1246 > | B |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1247 > |/ |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1248 > A |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1249 > EOS |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1250 $ hg update D1 -q |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1251 $ hg bookmark book -i |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1252 $ 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
|
1253 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
|
1254 note: not rebasing 5:15ecf15e0114 "D1" (book D1 tip), already in destination as 2:0807738e0be9 "D2" (D2) |
34008
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1255 $ 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
|
1256 @ B book |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1257 | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1258 | x D1 |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1259 | | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1260 o | E |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1261 | | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1262 | o C |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1263 | | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1264 o | D2 |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1265 | | |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1266 | x B |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1267 |/ |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1268 o A |
9422107a6b64
rebase: move working parent and bookmark for obsoleted revs (BC)
Jun Wu <quark@fb.com>
parents:
33863
diff
changeset
|
1269 |
34092
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1270 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
|
1271 |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1272 $ 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
|
1273 $ 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
|
1274 |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1275 $ 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
|
1276 > E |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1277 > | |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1278 > 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
|
1279 > |/ # 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
|
1280 > | D |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1281 > | |\ |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1282 > | B1 C |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1283 > |/ |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1284 > A |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1285 > EOS |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1286 |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1287 $ 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
|
1288 $ 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
|
1289 |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1290 $ 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
|
1291 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
|
1292 |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1293 $ 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
|
1294 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
|
1295 |\ |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1296 | 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
|
1297 | | |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1298 | 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
|
1299 | | |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1300 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
|
1301 / |
8a8e7a94ba07
rebase: do not crash rebasing merge with a parent having hidden successor
Jun Wu <quark@fb.com>
parents:
34085
diff
changeset
|
1302 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
|
1303 |
34093
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1304 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
|
1305 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
|
1306 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1307 $ hg init $TESTTMP/hidden-state1 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1308 $ cd $TESTTMP/hidden-state1 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1309 $ cat >> .hg/hgrc <<EOF |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1310 > [experimental] |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1311 > rebaseskipobsolete=0 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1312 > EOF |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1313 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1314 $ hg debugdrawdag <<'EOS' |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1315 > C |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1316 > | |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1317 > D B # prune: B, C |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1318 > |/ # B/D=B |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1319 > A |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1320 > EOS |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1321 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1322 $ eval `hg tags -T '{tag}={node}\n'` |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1323 $ rm .hg/localtags |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1324 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1325 $ hg update -q $C --hidden |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1326 $ hg rebase -s $B -d $D |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1327 rebasing 1:2ec65233581b "B" |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1328 merging D |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1329 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
|
1330 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
|
1331 [1] |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1332 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1333 $ cp -R . $TESTTMP/hidden-state2 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1334 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1335 $ hg log -G |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1336 @ 2:b18e25de2cf5 D |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1337 | |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1338 | @ 1:2ec65233581b B |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1339 |/ |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1340 o 0:426bada5c675 A |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1341 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1342 $ hg summary |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1343 parent: 2:b18e25de2cf5 tip |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1344 D |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1345 parent: 1:2ec65233581b (obsolete) |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1346 B |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1347 branch: default |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1348 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
|
1349 update: (current) |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1350 phases: 3 draft |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1351 rebase: 0 rebased, 2 remaining (rebase --continue) |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1352 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1353 $ hg rebase --abort |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1354 rebase aborted |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1355 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1356 Also test --continue for the above case |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1357 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1358 $ cd $TESTTMP/hidden-state2 |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1359 $ hg resolve -m |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1360 (no more unresolved files) |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1361 continue: hg rebase --continue |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1362 $ hg rebase --continue |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1363 rebasing 1:2ec65233581b "B" |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1364 rebasing 3:7829726be4dc "C" (tip) |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1365 $ hg log -G |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1366 @ 5:1964d5d5b547 C |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1367 | |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1368 o 4:68deb90c12a2 B |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1369 | |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1370 o 2:b18e25de2cf5 D |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1371 | |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1372 o 0:426bada5c675 A |
15ec3119d500
rebase: use unfiltered repo when loading state
Jun Wu <quark@fb.com>
parents:
34092
diff
changeset
|
1373 |