Mercurial > hg
annotate tests/test-rebase-obsolete.t @ 34179:036d47d7cf39
copytrace: move fast heuristic copytracing algorithm to core
copytrace extension in fb-hgext has a heuristic implementation of copy tracing
which is faster than the current copy tracing. The heuristic limits the search
of copies to just files that are either:
1) Renames in the same directory
2) Moved to other directory with same name
The default copytrace implementation is very slow as it finds all the new files
that were added from merge base up to the head commit and for each file it
checks whether it this was copied or moved version of a different file.
Stash@fb did analysis for the above heuristics on the fb repo and found that
among 2,443,768 moves/copies there are only 32,234 moves/copies which does not
fall under the above heuristics which is approx. 0.013 of total copies.
This patch moves the heuristics algorithm under config
`experimental.copytrace=heuristics`.
While moving fbext to core, this patch removes couple of less useful config
options named `sourcecommitlimit` and `maxmovescandidatestocheck`.
Tests are also added for the heuristics algorithm, which are basically copied
from fbext/tests/test-copytrace.t. The tests follow a pattern creating a server
repo and then cloning to a local repo to create public and draft changesets, the
distinction which will be useful in upcoming patches.
After this patch `experimental.copytrace` has the following behaviour:
1) `off`: turns off copytracing
2) `heuristics`: use the heuristic algorithm added in this patch.
3) everything else: use the full copytracing algorithm
.. feature::
A new fast heuristic algorithm for copytracing which assumes that the files
moves are either::
1) Renames in the same directory
2) Moves in other directories with same names
You can use this algorithm by setting `experimental.copytrace=heuristics`.
Differential Revision: https://phab.mercurial-scm.org/D623
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sun, 03 Sep 2017 03:49:15 +0530 |
parents | 15ec3119d500 |
children | ecc96506c49d |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
104 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 e4e5be0395b2cbd471ed22a26b1b6a1a0658a794 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
105 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 2327fea05063f39961b14cb69435a9898dc9a245 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
106 32af7686d403cf45b5d95f2d70cebea587ac806a 8eeb3c33ad33d452c89e5dcf611c347f978fb42b 0 (*) {'user': 'test'} (glob) |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
174 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
175 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
176 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (*) {'user': 'test'} (glob) |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
184 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
185 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
186 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
187 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (*) {'user': 'test'} (glob) |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
212 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
213 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
214 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
215 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
216 8877864f1edb05d0e07dc4ba77b67a80a7b86672 462a34d07e599b87ea08676a449373fe4e2e1347 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
217 5ae4c968c6aca831df823664e706c9d4aa34473d 98f6af4ee9539e14da4465128f894c274900b6e5 0 (*) {'user': 'test'} (glob) |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
353 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
354 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
355 32af7686d403cf45b5d95f2d70cebea587ac806a 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (*) {'user': 'test'} (glob) |
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 |
32354
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
415 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
416 32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 (*) {'user': 'test'} (glob) |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
417 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 7c6027df6a99d93f461868e5433f63bde20b6dfb 0 (*) {'user': 'test'} (glob) |
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 |
f432897a9f49
obsmarker: add an experimental flag controlling "operation" recording
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32327
diff
changeset
|
1234 1e9a3c00cbe90d236ac05ef61efcc5e40b7412bc be1832deae9ac531caa7438b8dcf6055a122cd8e 0 (*) {'user': 'test'} (glob) |
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) |
34009
79ab5369d55a
rebase: use _ctxdesc in one more place
Jun Wu <quark@fb.com>
parents:
34008
diff
changeset
|
1254 note: not rebasing 5:15ecf15e0114 "D1" (D1 tip book), 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 |