annotate tests/test-rebase-obsolete.t @ 27370:d9e3ebe56970 stable

record: don't dereference symlinks while copying over stat data Previously, we could be calling os.utime or os.chflags (via shutil.copystat) on a symlink. These functions dereference symlinks, so this would have caused the timestamp of the target to be set. On a read-only or similarly weird filesystem, this might cause an exception to be raised. This is pretty hard to test because conjuring up a read-only filesystem for test purposes is non-trivial.
author Siddharth Agarwal <sid0@fb.com>
date Sat, 12 Dec 2015 10:58:05 -0800
parents d1561a422748
children 7ffebbdcb371
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
1 ==========================
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
2 Test rebase with obsolete
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
3 ==========================
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
4
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
5 Enable obsolete
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
6
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
7 $ cat >> $HGRCPATH << EOF
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
8 > [ui]
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]
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22260
diff changeset
11 > evolution=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
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
14 > [extensions]'
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
15 > rebase=
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
16 > EOF
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
17
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
18 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
19
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
20 $ hg init base
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
21 $ cd base
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
22 $ 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
23 adding changesets
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
24 adding manifests
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
25 adding file changes
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
26 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
27 (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
28 $ hg up tip
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
29 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
30 $ hg log -G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
31 @ 7:02de42196ebe H
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
32 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
33 | 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
34 |/|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
35 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
36 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
37 | 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
38 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
39 | 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
40 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
41 | 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
42 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
43 | 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
44 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
45 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
46
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
47 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
48
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
49 simple rebase
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
50 ---------------------------------
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
51
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
52 $ 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
53 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
54 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
55 $ cd simple
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
56 $ hg up 32af7686d403
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
57 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
58 $ hg rebase -d eea13746799a
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
59 rebasing 1:42ccdea3bb16 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
60 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
61 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
62 $ hg log -G
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
63 @ 10:8eeb3c33ad33 D
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
64 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
65 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
66 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
67 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
68 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
69 | 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
70 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
71 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
72 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
73 | 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
74 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
75 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
76 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
77 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
78
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
79 $ 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
80 @ 10:8eeb3c33ad33 D
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
81 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
82 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
83 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
84 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
85 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
86 | 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
87 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
88 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
89 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
90 | 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
91 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
92 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
93 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
94 | 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
95 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
96 | 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
97 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
98 | 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
99 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
100 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
101
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
102 $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
103 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 e4e5be0395b2cbd471ed22a26b1b6a1a0658a794 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
104 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 2327fea05063f39961b14cb69435a9898dc9a245 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
105 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
106
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 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
109
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
110 empty changeset
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
111 ---------------------------------
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
112
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
113 $ 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
114 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
115 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
116 $ cd empty
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
117 $ hg up eea13746799a
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
118 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
119
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
120 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
121 set.
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
122
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
123 $ hg graft 42ccdea3bb16 32af7686d403
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 22955
diff changeset
124 grafting 1:42ccdea3bb16 "B"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 22955
diff changeset
125 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
126 $ hg rebase -s 42ccdea3bb16 -d .
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
127 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
128 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
129 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
130 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
131 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
132 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
133 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
134 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
135 @ 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
136 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
137 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
138 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
139 | 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
140 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
141 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
142 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
143 | 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
144 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
145 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
146 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
147 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
148
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
149 $ 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
150 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
151 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
152 @ 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
153 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
154 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
155 |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
156 | 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
157 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
158 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
159 |\|
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
160 | 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
161 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
162 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
163 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
164 | 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
165 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
166 | 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
167 | |
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
168 | 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
169 |/
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
170 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
171
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
172 $ hg debugobsolete
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
173 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob)
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
174 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob)
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
175 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
176
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 More complex case were part of the rebase set were already rebased
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
179
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
180 $ 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
181 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
182 $ hg debugobsolete
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
183 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob)
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
184 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob)
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
185 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (*) {'user': 'test'} (glob)
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
186 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
187 $ hg log -G
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
188 @ 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
189 |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
190 | 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
191 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
192 | 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
193 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
194 | 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
195 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
196 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
197 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
198 | 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
199 |/|
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
200 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
201 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
202 | 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
203 |/
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
204 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
205
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
206 $ hg rebase --source 'desc(B)' --dest 'tip' --config experimental.rebaseskipobsolete=True
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
207 rebasing 8:8877864f1edb "B"
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
208 note: not rebasing 9:08483444fef9 "D", already in destination as 11:4596109a6a43 "D"
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
209 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
210 $ hg debugobsolete
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
211 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 0 {cd010b8cd998f3981a5a8115f94f8da4ab506089} (*) {'user': 'test'} (glob)
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
212 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 5ae4c968c6aca831df823664e706c9d4aa34473d 0 (*) {'user': 'test'} (glob)
22260
2229d757802d debugobsolete: display parents information from markers
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22220
diff changeset
213 32af7686d403cf45b5d95f2d70cebea587ac806a 0 {5fddd98957c8a54a4d436dfe1da9d87f21a1b97b} (*) {'user': 'test'} (glob)
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
214 08483444fef91d6224f6655ee586a65d263ad34c 4596109a6a4328c398bde3a4a3b6737cfade3003 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
215 8877864f1edb05d0e07dc4ba77b67a80a7b86672 462a34d07e599b87ea08676a449373fe4e2e1347 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
216 5ae4c968c6aca831df823664e706c9d4aa34473d 98f6af4ee9539e14da4465128f894c274900b6e5 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
217 $ hg log --rev 'divergent()'
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
218 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
219 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
220 |
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
221 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
222 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
223 @ 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
224 |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
225 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
226 |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
227 | 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
228 |/|
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
229 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
230 | |
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
231 | 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
232 |/
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
233 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
234
19861
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
235 $ 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
236 changeset: 11:4596109a6a4328c398bde3a4a3b6737cfade3003
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
237 phase: draft
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
238 parent: 7:02de42196ebee42ef284b6780a87cdc96e8eaab6
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
239 parent: -1:0000000000000000000000000000000000000000
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
240 manifest: 11:a91006e3a02f1edf631f7018e6e5684cf27dd905
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
241 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
242 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
243 files+: D
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
244 extra: branch=default
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
245 extra: rebase_source=08483444fef91d6224f6655ee586a65d263ad34c
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
246 extra: source=32af7686d403cf45b5d95f2d70cebea587ac806a
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
247 description:
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
248 D
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
249
a69a77a80900 rebase: preserve metadata from grafts of changes (issue4001)
Augie Fackler <raf@durin42.com>
parents: 18472
diff changeset
250
17612
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
251 $ cd ..
fc2a6114f0a0 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
diff changeset
252
17613
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
253 collapse rebase
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
254 ---------------------------------
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
255
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
256 $ 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
257 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
258 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
259 $ cd collapse
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
260 $ 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
261 rebasing 1:42ccdea3bb16 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
262 rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
263 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
264 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
265 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
266 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
267 | @ 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
268 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
269 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
270 |\|
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
271 | 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
272 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
273 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
274 |/
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
275 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
276
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
277 $ 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
278 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
279 |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
280 | @ 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
281 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
282 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
283 |\|
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
284 | 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
285 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
286 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
287 |/
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
288 | 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
289 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
290 | 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
291 | |
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
292 | 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
293 |/
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
294 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
295
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19861
diff changeset
296 $ 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
297 4dc2197e807bae9817f09905b50ab288be2dbbcf tip
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
298 $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
299 42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
300 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b 4dc2197e807bae9817f09905b50ab288be2dbbcf 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
301 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
302
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
303 $ cd ..
aafc521668d8 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17612
diff changeset
304
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
305 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
306 ---------------------------------
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
307
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
308 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
309 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
310
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
311 $ 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
312 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
313 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
314 $ cd hidden
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
315 $ 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
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"
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
318 $ 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
319 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
320 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
321 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
322 |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
323 | 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
324 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
325 | 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
326 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
327 @ | 7:02de42196ebe H
17615
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
328 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
329 | 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
330 |/|
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
331 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
332 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
333 | 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
334 |/
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
335 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
336
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
337 $ hg log --hidden -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
338 o 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
339 |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
340 | 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
341 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
342 | 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
343 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
344 @ | 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
345 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
346 | 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
347 |/|
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
348 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
349 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
350 | 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
351 |/
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
352 | 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
353 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
354 | 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
355 | |
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
356 | 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
357 |/
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
358 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
359
9e2dc0d292cd rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17613
diff changeset
360 $ hg debugobsolete
22220
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
361 5fddd98957c8a54a4d436dfe1da9d87f21a1b97b e273c5e7d2d29df783dce9f9eaa3ac4adc69c15d 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
362 32af7686d403cf45b5d95f2d70cebea587ac806a cf44d2f5a9f4297a62be94cbdd3dff7c7dc54258 0 (*) {'user': 'test'} (glob)
908c76e84ec5 debugobsolete: explicitly display date in the output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 19925
diff changeset
363 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
364
18398
1a00c8451640 test: fix in-test comments related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18164
diff changeset
365 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
366 ---------------------------------------------------------------------
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
367
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
368 $ 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
369 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
370 $ hg rebase -r 8
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
371 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
372 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
373 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
374 |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
375 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
376 |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
377 | 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
378 | |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
379 | 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
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
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
382 | |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
383 | 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
384 |/|
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
385 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
386 | |
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
387 | 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
388 |/
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
389 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
390
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
391
bacf55bd8f90 rebase: allow non-head rebase-set when obsolete is enabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17615
diff changeset
392
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
393 Test multiple root handling
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
394 ------------------------------------
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
395
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
396 $ hg rebase --dest 4 --rev '7+11+9'
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
397 rebasing 7:02de42196ebe "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
398 rebasing 9:cf44d2f5a9f4 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
399 not rebasing ignored 10:7c6027df6a99 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
400 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
401 $ hg log -G
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
402 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
403 |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
404 | o 13:102b4c1d889b D
18447
7159426c8d13 rebase: properly handle unrebased revision between rebased one
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18444
diff changeset
405 | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19924
diff changeset
406 @ | 12:bfe264faf697 H
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
407 |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
408 | o 10:7c6027df6a99 B
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
409 | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
410 | x 7:02de42196ebe H
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
411 | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
412 +---o 6:eea13746799a G
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
413 | |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
414 | o 5:24b6387c8c8c F
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
415 | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
416 o | 4:9520eea781bc E
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
417 |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
418 o 0:cd010b8cd998 A
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18398
diff changeset
419
18444
55aff0c2b73c rebase: do not invent successor to skipped changeset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18424
diff changeset
420 $ 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
421
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
422 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
423
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
424 (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
425
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
426 $ 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
427 $ 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
428 $ 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
429 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
430 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
431 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
432 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
433 (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
434 $ 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
435 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
436 $ 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
437 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
438 (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
439 $ 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
440 $ 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
441 $ 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
442 $ 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
443 $ 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
444 @ 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
445 |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
446 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
447 |\
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
448 | 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
449 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
450 | | 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
451 | |/|
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
452 | 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
453 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
454 | | 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
455 | |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
456 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
457 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
458 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
459 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
460 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
461 |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
462 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
463
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
464 (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
465
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
466 $ 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
467 rebasing 3:32af7686d403 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
468 rebasing 7:02de42196ebe "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
469 not rebasing ignored 8:53a6a128b2b7 "M"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23505
diff changeset
470 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
471 $ 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
472 @ 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
473 |
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 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
475 |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
476 | 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
477 |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
478 | 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
479 | |\
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
480 | | 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
481 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
482 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
483 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
484 | | 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
485 | | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
486 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
487 / /
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
488 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
489 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
490 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
491 | |
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
492 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
493 |/
37100f30590f test-rebase: add another test for rebase with multiple roots
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18447
diff changeset
494 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
495
23970
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
496
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
497 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
498
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
499 $ hg up --hidden 9
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
500 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
501 $ echo J > J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
502 $ hg add J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
503 $ hg commit -m J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
504 $ hg debugobsolete `hg log --rev . -T '{node}'`
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
505
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
506 $ hg rebase --rev .~1::. --dest 'max(desc(D))' --traceback
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
507 rebasing 9:4bde274eefcf "I"
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
508 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
509 $ hg log -G
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
510 @ 15:5ae8a643467b J
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
511 |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
512 o 14:9ad579b4a5de I
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
513 |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
514 | o 12:acd174b7ab39 I
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
515 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
516 | o 11:6c11a6218c97 H
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
517 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
518 o | 10:b5313c85b22e D
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
519 |/
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
520 | o 8:53a6a128b2b7 M
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
521 | |\
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
522 | | x 7:02de42196ebe H
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
523 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
524 o---+ 6:eea13746799a G
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
525 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
526 | | o 5:24b6387c8c8c F
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
527 | | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
528 o---+ 4:9520eea781bc E
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
529 / /
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
530 x | 3:32af7686d403 D
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
531 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
532 o | 2:5fddd98957c8 C
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
533 | |
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
534 o | 1:42ccdea3bb16 B
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
535 |/
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
536 o 0:cd010b8cd998 A
8a544fb645bb rebase: ensure rebase revision remains visible (issue4504)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23518
diff changeset
537
26349
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
538 $ 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
539 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
540 $ echo "K" > K
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
541 $ hg add K
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
542 $ 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
543 $ echo "L" > L
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
544 $ hg add L
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
545 $ 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
546 $ hg up '.^'
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
547 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
548 $ echo "M" > M
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
549 $ hg add M
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
550 $ 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
551 $ hg log -G
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
552 @ 20:bfaedf8eb73b M
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
553 |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
554 | o 18:97219452e4bd L
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
555 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
556 | x 17:fc37a630c901 K
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
557 |/
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
558 | 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
559 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
560 | 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
561 |/
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
562 | 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
563 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
564 | 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
565 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
566 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
567 |/
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
568 | 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
569 | |\
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
570 | | 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
571 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
572 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
573 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
574 | | 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
575 | | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
576 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
577 / /
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
578 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
579 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
580 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
581 | |
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
582 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
583 |/
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
584 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
585
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
586 $ hg rebase -s 14 -d 18 --config experimental.rebaseskipobsolete=True
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
587 note: not rebasing 14:9ad579b4a5de "I", already in destination as 17:fc37a630c901 "K"
92409f8dff5d rebase: don't rebase obsolete commit whose successor is already rebased
Laurent Charignon <lcharignon@fb.com>
parents: 23970
diff changeset
588 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
589
26675
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
590 $ cd ..
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
591
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
592 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
593 -----------------------------------------------
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
594
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
595 setup
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
596
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
597 $ 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
598 $ cd obsskip
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
599 $ 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
600 > [experimental]
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
601 > rebaseskipobsolete = True
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
602 > [extensions]
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
603 > strip =
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
604 > EOF
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
605 $ 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
606 $ 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
607 $ 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
608 $ 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
609 $ 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
610 $ 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
611 $ 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
612 $ 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
613 $ 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
614 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
615 $ 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
616 $ 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
617 $ 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
618
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
619 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
620
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
621 $ 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
622 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
623 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
624
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
625 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
626
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
627 $ 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
628 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
629 $ 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
630 $ 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
631 $ 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
632 $ 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
633 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
634
b73eb98c0243 rebase: properly handle chains of markers with missing nodes
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26349
diff changeset
635 $ 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
636 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
637 rebasing 5:1a79b7535141 "D" (tip)