annotate tests/test-rebase-partial.t @ 43252:32187ae9eeb3

copies: simplify the handling of merges Instead of stacking copies for both parent on the head, we move copies outside of the heap into a dedicated dictionary. The two side of merge can we merged sooner, making the algorithm simpler. This simplicity reflect in the heap structure and speed up the execution for copies involving a large amount of merges. Here are timing for perfpathcopies of multiple revision pairs. - filelog: timing using filelog (with the introrev condition dropped) - base: this series base - before: the parent of this changeset - after: this changeset revision: large amount; added files: large amount; rename small amount; c3b14617fbd7 9ba6ab77fd29 filelog: ! wall 3.679613 comb 3.680000 user 3.580000 sys 0.100000 (median of 3) base: ! wall 8.884369 comb 8.880000 user 8.850000 sys 0.030000 (median of 3) before: ! wall 8.443747 comb 8.420000 user 8.410000 sys 0.010000 (median of 3) after: ! wall 4.697917 comb 4.690000 user 4.660000 sys 0.030000 (median of 3) revision: large amount; added files: small amount; rename small amount; c3b14617fbd7 f650a9b140d2 filelog: ! wall 0.003357 comb 0.010000 user 0.010000 sys 0.000000 (median of 781) base: ! wall 12.398524 comb 12.400000 user 12.330000 sys 0.070000 (median of 3) before: ! wall 10.852593 comb 10.850000 user 10.800000 sys 0.050000 (median of 3) after: ! wall 6.750832 comb 6.750000 user 6.640000 sys 0.110000 (median of 3) revision: large amount; added files: large amount; rename large amount; 08ea3258278e d9fa043f30c0 filelog: ! wall 2.754687 comb 2.760000 user 2.650000 sys 0.110000 (median of 4) base: ! wall 1.423166 comb 1.420000 user 1.400000 sys 0.020000 (median of 8) before: ! wall 1.068041 comb 1.060000 user 1.050000 sys 0.010000 (median of 10) after: ! wall 1.045916 comb 1.050000 user 1.040000 sys 0.010000 (median of 10) revision: small amount; added files: large amount; rename large amount; df6f7a526b60 a83dc6a2d56f filelog: ! wall 1.552293 comb 1.550000 user 1.510000 sys 0.040000 (median of 6 base: ! wall 0.022662 comb 0.020000 user 0.020000 sys 0.000000 (median of 128) before: ! wall 0.021111 comb 0.020000 user 0.020000 sys 0.000000 (median of 139) after: ! wall 0.021577 comb 0.020000 user 0.020000 sys 0.000000 (median of 138) revision: small amount; added files: large amount; rename small amount; 4aa4e1f8e19a 169138063d63 filelog: ! wall 1.500983 comb 1.500000 user 1.420000 sys 0.080000 (median of 7) base: ! wall 0.006956 comb 0.010000 user 0.010000 sys 0.000000 (median of 392) before: ! wall 0.004356 comb 0.010000 user 0.010000 sys 0.000000 (median of 675) after: ! wall 0.004329 comb 0.000000 user 0.000000 sys 0.000000 (median of 682) revision: small amount; added files: small amount; rename small amount; 4bc173b045a6 964879152e2e filelog: ! wall 0.011745 comb 0.020000 user 0.020000 sys 0.000000 (median of 250) base: ! wall 0.000156 comb 0.000000 user 0.000000 sys 0.000000 (median of 17180) before: ! wall 0.000100 comb 0.000000 user 0.000000 sys 0.000000 (median of 26912) after: ! wall 0.000105 comb 0.000000 user 0.000000 sys 0.000000 (median of 25689) revision: medium amount; added files: large amount; rename medium amount; c95f1ced15f2 2c68e87c3efe filelog: ! wall 3.228230 comb 3.230000 user 3.110000 sys 0.120000 (median of 4) base: ! wall 0.997640 comb 1.000000 user 0.980000 sys 0.020000 (median of 10) before: ! wall 0.778291 comb 0.780000 user 0.780000 sys 0.000000 (median of 13) after: ! wall 0.706594 comb 0.710000 user 0.710000 sys 0.000000 (median of 15) revision: medium amount; added files: medium amount; rename small amount; d343da0c55a8 d7746d32bf9d filelog: ! wall 1.052501 comb 1.060000 user 1.040000 sys 0.020000 (median of 10 base: ! wall 0.214519 comb 0.220000 user 0.220000 sys 0.000000 (median of 45) before: ! wall 0.160804 comb 0.160000 user 0.160000 sys 0.000000 (median of 62) after: ! wall 0.163736 comb 0.160000 user 0.160000 sys 0.000000 (median of 60) Differential Revision: https://phab.mercurial-scm.org/D7069
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 02 Oct 2019 13:43:27 -0400
parents 5abc47d4ca6b
children dc5e5577af39
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
1 Tests rebasing with part of the rebase set already in the
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
2 destination (issue5422)
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
3
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
4 $ cat >> $HGRCPATH <<EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
5 > [extensions]
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
6 > rebase=
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
7 > drawdag=$TESTDIR/drawdag.py
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
8 >
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
9 > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 33844
diff changeset
10 > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
11 > evolution.allowunstable=True
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
12 >
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
13 > [alias]
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
14 > tglog = log -G --template "{rev}: {node|short} {desc}"
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
15 > EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
16
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
17 $ rebasewithdag() {
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 36981
diff changeset
18 > N=`"$PYTHON" -c "print($N+1)"`
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
19 > hg init repo$N && cd repo$N
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
20 > hg debugdrawdag
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
21 > hg rebase "$@" > _rebasetmp
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
22 > r=$?
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
23 > grep -v 'saved backup bundle' _rebasetmp
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
24 > [ $r -eq 0 ] && hg tglog
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
25 > cd ..
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
26 > return $r
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
27 > }
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
28
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
29 Rebase two commits, of which one is already in the right place
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
30
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
31 $ rebasewithdag -r C+D -d B <<EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
32 > C
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
33 > |
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
34 > B D
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
35 > |/
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
36 > A
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
37 > EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
38 rebasing 2:b18e25de2cf5 "D" (D)
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
39 already rebased 3:26805aba1e60 "C" (C tip)
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
40 o 4: fe3b4c6498fa D
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
41 |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
42 | o 3: 26805aba1e60 C
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
43 |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
44 | x 2: b18e25de2cf5 D
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
45 | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
46 o | 1: 112478962961 B
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
47 |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
48 o 0: 426bada5c675 A
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
49
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
50 Can collapse commits even if one is already in the right place
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
51
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
52 $ rebasewithdag --collapse -r C+D -d B <<EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
53 > C
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
54 > |
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
55 > B D
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
56 > |/
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
57 > A
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
58 > EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
59 rebasing 2:b18e25de2cf5 "D" (D)
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
60 rebasing 3:26805aba1e60 "C" (C tip)
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
61 o 4: a2493f4ace65 Collapsed revision
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
62 | * D
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
63 | * C
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
64 | x 3: 26805aba1e60 C
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
65 |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
66 | x 2: b18e25de2cf5 D
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
67 | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
68 o | 1: 112478962961 B
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
69 |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
70 o 0: 426bada5c675 A
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
71
36979
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
72 Abort doesn't lose the commits that were already in the right place
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
73
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
74 $ hg init abort
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
75 $ cd abort
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
76 $ hg debugdrawdag <<EOF
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
77 > C
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
78 > |
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
79 > B D # B/file = B
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
80 > |/ # D/file = D
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
81 > A
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
82 > EOF
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
83 $ hg rebase -r C+D -d B
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
84 rebasing 2:ef8c0fe0897b "D" (D)
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
85 merging file
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
86 warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
87 unresolved conflicts (see hg resolve, then hg rebase --continue)
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
88 [1]
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
89 $ hg rebase --abort
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
90 rebase aborted
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
91 $ hg tglog
36981
177f3b90335f rebase: on abort, don't strip commits that didn't need rebased (issue5822)
Martin von Zweigbergk <martinvonz@google.com>
parents: 36979
diff changeset
92 o 3: 79f6d6ab7b14 C
36979
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
93 |
36981
177f3b90335f rebase: on abort, don't strip commits that didn't need rebased (issue5822)
Martin von Zweigbergk <martinvonz@google.com>
parents: 36979
diff changeset
94 | o 2: ef8c0fe0897b D
177f3b90335f rebase: on abort, don't strip commits that didn't need rebased (issue5822)
Martin von Zweigbergk <martinvonz@google.com>
parents: 36979
diff changeset
95 | |
177f3b90335f rebase: on abort, don't strip commits that didn't need rebased (issue5822)
Martin von Zweigbergk <martinvonz@google.com>
parents: 36979
diff changeset
96 o | 1: 594087dbaf71 B
36979
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
97 |/
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
98 o 0: 426bada5c675 A
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
99
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
100 $ cd ..
b9a6ee2066f9 tests: demonstrate aborted rebase strips commits that didn't need rebasing
Martin von Zweigbergk <martinvonz@google.com>
parents: 35385
diff changeset
101
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
102 Rebase with "holes". The commits after the hole should end up on the parent of
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
103 the hole (B below), not on top of the destination (A).
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
104
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
105 $ rebasewithdag -r B+D -d A <<EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
106 > D
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
107 > |
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
108 > C
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
109 > |
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
110 > B
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
111 > |
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
112 > A
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
113 > EOF
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
114 already rebased 1:112478962961 "B" (B)
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
115 rebasing 3:f585351a92f8 "D" (D tip)
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
116 o 4: 1e6da8103bc7 D
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
117 |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
118 | x 3: f585351a92f8 D
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
119 | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
120 | o 2: 26805aba1e60 C
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
121 |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
122 o 1: 112478962961 B
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
123 |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34867
diff changeset
124 o 0: 426bada5c675 A
32272
78496ac30025 rebase: allow rebase even if some revisions need no rebase (BC) (issue5422)
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
125