annotate tests/test-rebase-inmemory.t @ 50400:95acba2c29f6

encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings Apparently the code uses "+=" with a bytes object, which is linear-time, so the whole encoding is quadratic-time. This patch makes us use a bytearray object, instead, which has a(n amortized-)constant-time append operation. The encoding is still not particularly fast, but at least a 10MB file takes tens of seconds, not many hours to encode.
author Arseniy Alekseyev <aalekseyev@janestreet.com>
date Mon, 06 Mar 2023 11:27:57 +0000
parents 532b649c1deb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
1 #require symlink execbit
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
2 $ cat << EOF >> $HGRCPATH
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
3 > [phases]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
4 > publish=False
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
5 > [extensions]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
6 > amend=
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
7 > rebase=
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
8 > debugdrawdag=$TESTDIR/drawdag.py
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
9 > strip=
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
10 > [rebase]
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
11 > experimental.inmemory=1
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
12 > [diff]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
13 > git=1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
14 > [alias]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
15 > tglog = log -G --template "{rev}: {node|short} '{desc}'\n"
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
16 > EOF
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
17
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
18 Rebase a simple DAG:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
19 $ hg init repo1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
20 $ cd repo1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
21 $ hg debugdrawdag <<'EOS'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
22 > c b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
23 > |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
24 > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
25 > |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
26 > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
27 > EOS
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
28 $ hg up -C a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
30 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
31 o 3: 814f6bd05178 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
32 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
33 | o 2: db0e82a16a62 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
34 |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
35 o 1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
36 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
37 @ 0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
38
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
39 $ hg cat -r 3 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
40 c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
41 $ hg cat -r 2 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
42 b (no-eol)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
43 $ hg rebase --debug -r b -d c | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
44 rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
45 rebasing 2:db0e82a16a62 b "b"
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
46 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
47 o 3: ca58782ad1e4 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
48 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
49 o 2: 814f6bd05178 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
50 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
51 o 1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
52 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
53 @ 0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
54
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
55 $ hg cat -r 3 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
56 b (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
57 $ hg cat -r 2 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
58 c (no-eol)
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
59 $ cd ..
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
60
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
61 Case 2:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
62 $ hg init repo2
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
63 $ cd repo2
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
64 $ hg debugdrawdag <<'EOS'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
65 > c b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
66 > |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
67 > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
68 > |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
69 > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
70 > EOS
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
71
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
72 Add a symlink and executable file:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
73 $ hg up -C c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
74 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
75 $ ln -s somefile e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
76 $ echo f > f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
77 $ chmod +x f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
78 $ hg add e f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
79 $ hg amend -q
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
80 $ hg up -Cq a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
81
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
82 Write files to the working copy, and ensure they're still there after the rebase
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
83 $ echo "abc" > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
84 $ ln -s def b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
85 $ echo "ghi" > c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
86 $ echo "jkl" > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
87 $ echo "mno" > e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
88 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
89 o 3: f56b71190a8f 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
90 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
91 | o 2: db0e82a16a62 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
92 |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
93 o 1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
94 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
95 @ 0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
96
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
97 $ hg cat -r 3 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
98 c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
99 $ hg cat -r 2 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
100 b (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
101 $ hg cat -r 3 e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
102 somefile (no-eol)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
103 $ hg rebase --debug -s b -d a | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
104 rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
105 rebasing 2:db0e82a16a62 b "b"
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
106 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
107 o 3: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
108 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
109 | o 2: f56b71190a8f 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
110 | |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
111 | o 1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
112 |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
113 @ 0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
114
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
115 $ hg cat -r 2 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
116 c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
117 $ hg cat -r 3 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
118 b (no-eol)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
119 $ hg rebase --debug -s 1 -d 3 | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
120 rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
121 rebasing 1:02952614a83d d "d"
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
122 rebasing 2:f56b71190a8f "c"
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
123 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
124 o 3: 753feb6fd12a 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
125 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
126 o 2: 09c044d2cb43 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
127 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
128 o 1: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
129 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
130 @ 0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
131
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
132 Ensure working copy files are still there:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
133 $ cat a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
134 abc
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
135 $ readlink.py b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
136 b -> def
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
137 $ cat e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
138 mno
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
139
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
140 Ensure symlink and executable files were rebased properly:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
141 $ hg up -Cq 3
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
142 $ readlink.py e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
143 e -> somefile
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
144 $ ls -l f | cut -c -10
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
145 -rwxr-xr-x
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
146
36975
795eb53f1d3e rebase: allow in-memory merge of the working copy parent
Martin von Zweigbergk <martinvonz@google.com>
parents: 35388
diff changeset
147 Rebase the working copy parent
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
148 $ hg up -C 3
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
149 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
150 $ hg rebase -r 3 -d 0 --debug | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
151 rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
152 rebasing 3:753feb6fd12a tip "c"
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
153 $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
154 @ 3: 844a7de3e617 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
155 |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
156 | o 2: 09c044d2cb43 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
157 | |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
158 | o 1: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
159 |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
160 o 0: b173517d0057 'a'
39131
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
161
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
162
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
163 Test reporting of path conflicts
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
164
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
165 $ hg rm a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
166 $ mkdir a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
167 $ touch a/a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
168 $ hg ci -Am "a/a"
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
169 adding a/a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
170 $ hg tglog
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
171 @ 4: daf7dfc139cb 'a/a'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
172 |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
173 o 3: 844a7de3e617 'c'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
174 |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
175 | o 2: 09c044d2cb43 'd'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
176 | |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
177 | o 1: fc055c3b4d33 'b'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
178 |/
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
179 o 0: b173517d0057 'a'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
180
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
181 $ hg rebase -r . -d 2
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
182 rebasing 4:daf7dfc139cb tip "a/a"
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
183 saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/daf7dfc139cb-fdbfcf4f-rebase.hg
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
184
39575
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
185 $ hg tglog
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
186 @ 4: c6ad37a4f250 'a/a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
187 |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
188 | o 3: 844a7de3e617 'c'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
189 | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
190 o | 2: 09c044d2cb43 'd'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
191 | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
192 o | 1: fc055c3b4d33 'b'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
193 |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
194 o 0: b173517d0057 'a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
195
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
196 $ echo foo > foo
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
197 $ hg ci -Aqm "added foo"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
198 $ hg up '.^'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
199 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
200 $ echo bar > bar
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
201 $ hg ci -Aqm "added bar"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
202 $ hg rm a/a
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
203 $ echo a > a
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
204 $ hg ci -Aqm "added a back!"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
205 $ hg tglog
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
206 @ 7: 855e9797387e 'added a back!'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
207 |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
208 o 6: d14530e5e3e6 'added bar'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
209 |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
210 | o 5: 9b94b9373deb 'added foo'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
211 |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
212 o 4: c6ad37a4f250 'a/a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
213 |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
214 | o 3: 844a7de3e617 'c'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
215 | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
216 o | 2: 09c044d2cb43 'd'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
217 | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
218 o | 1: fc055c3b4d33 'b'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
219 |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
220 o 0: b173517d0057 'a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
221
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
222 $ hg rebase -r . -d 5
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
223 rebasing 7:855e9797387e tip "added a back!"
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
224 saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/855e9797387e-81ee4c5d-rebase.hg
39576
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
225
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
226 $ hg tglog
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
227 @ 7: bb3f02be2688 'added a back!'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
228 |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
229 | o 6: d14530e5e3e6 'added bar'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
230 | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
231 o | 5: 9b94b9373deb 'added foo'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
232 |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
233 o 4: c6ad37a4f250 'a/a'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
234 |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
235 | o 3: 844a7de3e617 'c'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
236 | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
237 o | 2: 09c044d2cb43 'd'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
238 | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
239 o | 1: fc055c3b4d33 'b'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
240 |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
241 o 0: b173517d0057 'a'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
242
41765
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
243 $ mkdir -p c/subdir
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
244 $ echo c > c/subdir/file.txt
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
245 $ hg add c/subdir/file.txt
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
246 $ hg ci -m 'c/subdir/file.txt'
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
247 $ hg rebase -r . -d 3 -n
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
248 starting dry-run rebase; repository will not be changed
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
249 rebasing 8:e147e6e3c490 tip "c/subdir/file.txt"
41765
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
250 abort: error: 'c/subdir/file.txt' conflicts with file 'c' in 3.
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
251 [255]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
252 FIXME: shouldn't need this, but when we hit path conflicts in dryrun mode, we
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
253 don't clean up rebasestate.
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
254 $ hg rebase --abort
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
255 rebase aborted
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
256 $ hg rebase -r 3 -d . -n
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
257 starting dry-run rebase; repository will not be changed
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
258 rebasing 3:844a7de3e617 "c"
42100
b63b8b7ca5fa messages: replace some instances of "folder" by "directory"
Martin von Zweigbergk <martinvonz@google.com>
parents: 41949
diff changeset
259 abort: error: file 'c' cannot be written because 'c/' is a directory in e147e6e3c490 (containing 1 entries: c/subdir/file.txt)
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
260 [255]
39575
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
261
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
262 $ cd ..
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
263
40815
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
264 Test path auditing (issue5818)
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
265
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
266 $ mkdir lib_
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
267 $ ln -s lib_ lib
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
268 $ hg init repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
269 $ cd repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
270 $ mkdir -p ".$TESTTMP/lib"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
271 $ touch ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
272 $ hg add ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
273 $ hg ci -m 'a'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
274
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
275 $ touch ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
276 $ hg add ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
277 $ hg ci -m 'b'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
278
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
279 $ hg up -q '.^'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
280 $ touch ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
281 $ hg add ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
282 $ hg ci -m 'c'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
283 created new head
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
284 $ hg rebase -s 1 -d .
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
285 rebasing 1:* "b" (glob)
40816
1c8c54cf9725 rebase: fix path auditing to audit path relative to repo root (issue5818)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40815
diff changeset
286 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-rebase.hg (glob)
40815
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
287 $ cd ..
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
288
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
289 Test dry-run rebasing
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
290
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
291 $ hg init repo3
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
292 $ cd repo3
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
293 $ echo a>a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
294 $ hg ci -Aqma
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
295 $ echo b>b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
296 $ hg ci -Aqmb
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
297 $ echo c>c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
298 $ hg ci -Aqmc
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
299 $ echo d>d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
300 $ hg ci -Aqmd
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
301 $ echo e>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
302 $ hg ci -Aqme
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
303
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
304 $ hg up 1 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
305 $ echo f>f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
306 $ hg ci -Amf
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
307 adding f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
308 created new head
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
309 $ echo g>g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
310 $ hg ci -Aqmg
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
311 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
312 @ 6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
313 | g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
314 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
315 o 5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
316 | f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
317 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
318 | o 4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
319 | | e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
320 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
321 | o 3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
322 | | d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
323 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
324 | o 2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
325 |/ c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
326 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
327 o 1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
328 | b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
329 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
330 o 0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
331 a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
332
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
333 Make sure it throws error while passing --continue or --abort with --dry-run
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
334 $ hg rebase -s 2 -d 6 -n --continue
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
335 abort: cannot specify both --continue and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
336 [10]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
337 $ hg rebase -s 2 -d 6 -n --abort
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
338 abort: cannot specify both --abort and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
339 [10]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
340
46179
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
341 When nothing to rebase
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
342 $ hg reb -r . -d '.^' -n
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
343 starting dry-run rebase; repository will not be changed
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
344 nothing to rebase
46180
b7ccdb52e0f9 rebase: handle the case when nothing to rebase (dry-run)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46179
diff changeset
345 [1]
46179
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
346
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
347 Check dryrun gives correct results when there is no conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
348 $ hg rebase -s 2 -d 6 -n
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
349 starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
350 rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
351 rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
352 rebasing 4:e860deea161a "e"
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
353 dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
354
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
355 $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
356 $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
357
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
358 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
359 @ 6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
360 | g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
361 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
362 o 5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
363 | f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
364 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
365 | o 4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
366 | | e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
367 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
368 | o 3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
369 | | d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
370 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
371 | o 2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
372 |/ c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
373 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
374 o 1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
375 | b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
376 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
377 o 0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
378 a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
379
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
380 Check dryrun working with --collapse when there is no conflict
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
381 $ hg rebase -s 2 -d 6 -n --collapse
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
382 starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
383 rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
384 rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
385 rebasing 4:e860deea161a "e"
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
386 dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
387
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
388 Check dryrun gives correct results when there is conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
389 Make a conflict:
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
390 $ hg up 6 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
391 $ echo conflict>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
392 $ hg ci -Aqm "conflict with e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
393 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
394 @ 7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
395 | conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
396 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
397 o 6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
398 | g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
399 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
400 o 5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
401 | f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
402 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
403 | o 4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
404 | | e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
405 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
406 | o 3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
407 | | d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
408 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
409 | o 2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
410 |/ c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
411 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
412 o 1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
413 | b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
414 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
415 o 0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
416 a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
417
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
418 $ hg rebase -s 2 -d 7 -n
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
419 starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
420 rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
421 rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
422 rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
423 merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
424 hit a merge conflict
38443
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38372
diff changeset
425 [1]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
426 $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
427 $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
428 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
429 @ 7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
430 | conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
431 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
432 o 6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
433 | g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
434 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
435 o 5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
436 | f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
437 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
438 | o 4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
439 | | e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
440 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
441 | o 3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
442 | | d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
443 | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
444 | o 2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
445 |/ c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
446 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
447 o 1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
448 | b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
449 |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
450 o 0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
451 a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
452
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
453 Check dryrun working with --collapse when there is conflicts
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
454 $ hg rebase -s 2 -d 7 -n --collapse
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
455 starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
456 rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
457 rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
458 rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
459 merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
460 hit a merge conflict
38443
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38372
diff changeset
461 [1]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
462
39134
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
463 In-memory rebase that fails due to merge conflicts
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
464
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
465 $ hg rebase -s 2 -d 7
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
466 rebasing 2:177f92b77385 "c"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
467 rebasing 3:055a42cdd887 "d"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
468 rebasing 4:e860deea161a "e"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
469 merging e
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
470 hit merge conflicts; rebasing that commit again in the working copy
39135
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39134
diff changeset
471 merging e
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39134
diff changeset
472 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
473 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
474 [240]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
475 $ hg rebase --abort
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
476 saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/c1e524d4287c-f91f82e1-backup.hg
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
477 rebase aborted
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
478
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
479 Retrying without in-memory merge won't lose working copy changes
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
480 $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
481 $ hg clone repo3 repo3-dirty -q
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
482 $ cd repo3-dirty
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
483 $ echo dirty > a
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
484 $ hg rebase -s 2 -d 7
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
485 rebasing 2:177f92b77385 "c"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
486 rebasing 3:055a42cdd887 "d"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
487 rebasing 4:e860deea161a "e"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
488 merging e
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
489 hit merge conflicts; rebasing that commit again in the working copy
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
490 transaction abort!
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
491 rollback completed
40790
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40789
diff changeset
492 abort: uncommitted changes
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
493 [20]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
494 $ cat a
40790
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40789
diff changeset
495 dirty
46026
39e2cf7cb120 tests: show that in-memory rebase leaves state when working copy is dirty
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
496 $ hg status -v
39e2cf7cb120 tests: show that in-memory rebase leaves state when working copy is dirty
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
497 M a
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
498
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
499 Retrying without in-memory merge won't lose merge state
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
500 $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
501 $ hg clone repo3 repo3-merge-state -q
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
502 $ cd repo3-merge-state
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
503 $ hg merge 4
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
504 merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
505 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
506 2 files updated, 0 files merged, 0 files removed, 1 files unresolved
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
507 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
508 [1]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
509 $ hg resolve -l
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
510 U e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
511 $ hg rebase -s 2 -d 7
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
512 abort: outstanding uncommitted merge
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
513 (use 'hg commit' or 'hg merge --abort')
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
514 [20]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
515 $ hg resolve -l
40791
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40790
diff changeset
516 U e
39134
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
517
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
518 ==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
519 Test for --confirm option|
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
520 ==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
521 $ cd ..
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
522 $ hg clone repo3 repo4 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
523 $ cd repo4
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
524 $ hg strip 7 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
525 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
526 @ 6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
527 | g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
528 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
529 o 5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
530 | f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
531 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
532 | o 4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
533 | | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
534 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
535 | o 3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
536 | | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
537 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
538 | o 2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
539 |/ c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
540 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
541 o 1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
542 | b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
543 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
544 o 0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
545 a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
546
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
547 Check it gives error when both --dryrun and --confirm is used:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
548 $ hg rebase -s 2 -d . --confirm --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
549 abort: cannot specify both --confirm and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
550 [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
551 $ hg rebase -s 2 -d . --confirm --abort
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
552 abort: cannot specify both --abort and --confirm
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
553 [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
554 $ hg rebase -s 2 -d . --confirm --continue
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
555 abort: cannot specify both --continue and --confirm
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
556 [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
557
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
558 Test --confirm option when there are no conflicts:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
559 $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
560 > n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
561 > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
562 starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
563 rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
564 rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
565 rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
566 rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
567 apply changes (yn)? n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
568 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
569 @ 6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
570 | g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
571 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
572 o 5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
573 | f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
574 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
575 | o 4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
576 | | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
577 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
578 | o 3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
579 | | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
580 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
581 | o 2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
582 |/ c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
583 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
584 o 1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
585 | b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
586 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
587 o 0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
588 a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
589
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
590 $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
591 > y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
592 > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
593 starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
594 rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
595 rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
596 rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
597 rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
598 apply changes (yn)? y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
599 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
600 o 9:9fd28f55f6dc test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
601 | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
602 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
603 o 8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
604 | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
605 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
606 o 7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
607 | c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
608 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
609 @ 6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
610 | g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
611 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
612 o 5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
613 | f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
614 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
615 | o 4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
616 | | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
617 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
618 | o 3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
619 | | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
620 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
621 | o 2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
622 |/ c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
623 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
624 o 1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
625 | b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
626 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
627 o 0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
628 a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
629
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
630 Test --confirm option when there is a conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
631 $ hg up tip -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
632 $ echo ee>e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
633 $ hg ci --amend -m "conflict with e" -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
634 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
635 @ 9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
636 | conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
637 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
638 o 8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
639 | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
640 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
641 o 7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
642 | c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
643 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
644 o 6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
645 | g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
646 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
647 o 5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
648 | f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
649 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
650 | o 4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
651 | | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
652 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
653 | o 3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
654 | | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
655 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
656 | o 2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
657 |/ c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
658 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
659 o 1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
660 | b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
661 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
662 o 0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
663 a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
664
38679
b3d0c97a0820 rebase: in --confirm option just abort if hit a conflict
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38675
diff changeset
665 $ hg rebase -s 4 -d . --keep --confirm
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
666 starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
667 rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
668 merging e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
669 hit a merge conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
670 [1]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
671 $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
672 @ 9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
673 | conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
674 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
675 o 8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
676 | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
677 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
678 o 7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
679 | c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
680 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
681 o 6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
682 | g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
683 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
684 o 5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
685 | f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
686 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
687 | o 4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
688 | | e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
689 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
690 | o 3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
691 | | d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
692 | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
693 | o 2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
694 |/ c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
695 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
696 o 1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
697 | b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
698 |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
699 o 0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
700 a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
701
39127
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
702 Test a metadata-only in-memory merge
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
703 $ cd $TESTTMP
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
704 $ hg init no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
705 $ cd no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
706 # Produce the following graph:
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
707 # o 'add +x to foo.txt'
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
708 # | o r1 (adds bar.txt, just for something to rebase to)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
709 # |/
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
710 # o r0 (adds foo.txt, no +x)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
711 $ echo hi > foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
712 $ hg ci -qAm r0
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
713 $ echo hi > bar.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
714 $ hg ci -qAm r1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
715 $ hg co -qr ".^"
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
716 $ chmod +x foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
717 $ hg ci -qAm 'add +x to foo.txt'
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
718 issue5960: this was raising an AttributeError exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
719 $ hg rebase -r . -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
720 rebasing 2:539b93e77479 tip "add +x to foo.txt"
39127
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
721 saved backup bundle to $TESTTMP/no_exception/.hg/strip-backup/*.hg (glob)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
722 $ hg diff -c tip
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
723 diff --git a/foo.txt b/foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
724 old mode 100644
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
725 new mode 100755
41948
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
726
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
727 Test rebasing a commit with copy information, but no content changes
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
728
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
729 $ cd ..
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
730 $ hg clone -q repo1 merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
731 $ cd merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
732 $ cat << EOF >> .hg/hgrc
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
733 > [experimental]
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
734 > evolution.createmarkers=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
735 > evolution.allowunstable=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
736 > EOF
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
737 $ hg co -q 1
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
738 $ hg mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
739 $ hg ci -qm 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
740 $ hg co -q 3
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
741 $ hg merge -q 4
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
742 $ hg ci -m 'merge'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
743 $ hg co -q 2
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
744 $ mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
745 $ hg addremove -qs 0
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
746 $ hg ci -qm 'untracked rename of d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
747 $ hg debugobsolete -q `hg log -T '{node}' -r 4` `hg log -T '{node}' -r .`
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
748 1 new orphan changesets
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
749 $ hg tglog
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
750 @ 6: 676538af172d 'untracked rename of d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
751 |
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
752 | * 5: 574d92ad16fc 'merge'
41948
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
753 | |\
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
754 | | x 4: 2c8b5dad7956 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
755 | | |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
756 | o | 3: ca58782ad1e4 'b'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
757 |/ /
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
758 o / 2: 814f6bd05178 'c'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
759 |/
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
760 o 1: 02952614a83d 'd'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
761 |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
762 o 0: b173517d0057 'a'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
763
41949
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41948
diff changeset
764 $ hg rebase -b 5 -d tip
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41948
diff changeset
765 rebasing 3:ca58782ad1e4 "b"
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
766 rebasing 5:574d92ad16fc "merge"
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
767 note: not rebasing 5:574d92ad16fc "merge", its destination already has all its changes
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
768
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
769 $ cd ..
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
770
42287
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
771 Test rebasing a commit with copy information
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
772
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
773 $ hg init rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
774 $ cd rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
775 $ echo a > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
776 $ hg ci -Aqm 'add a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
777 $ echo a2 > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
778 $ hg ci -m 'modify a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
779 $ hg co -q 0
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
780 $ hg mv a b
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
781 $ hg ci -qm 'rename a to b'
42288
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
782 $ hg rebase -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
783 rebasing 2:b977edf6f839 tip "rename a to b"
42288
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
784 merging a and b to b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
785 saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
786 $ hg st --copies --change .
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
787 A b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
788 a
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
789 R a
42287
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
790 $ cd ..
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
791
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
792 Test rebasing a commit with copy information, where the target is empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
793
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
794 $ hg init rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
795 $ cd rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
796 $ echo a > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
797 $ hg ci -Aqm 'add a'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
798 $ cat > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
799 $ hg ci -m 'make a empty'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
800 $ hg co -q 0
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
801 $ hg mv a b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
802 $ hg ci -qm 'rename a to b'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
803 $ hg rebase -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
804 rebasing 2:b977edf6f839 tip "rename a to b"
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
805 merging a and b to b
42528
e079e001d536 rebase: fix in-memory rebasing of copy of empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42527
diff changeset
806 saved backup bundle to $TESTTMP/rebase-rename-empty/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
807 $ hg st --copies --change .
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
808 A b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
809 a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
810 R a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
811 $ cd ..
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
812 Rebase across a copy with --collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
813
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
814 $ hg init rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
815 $ cd rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
816 $ echo a > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
817 $ hg ci -Aqm 'add a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
818 $ hg mv a b
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
819 $ hg ci -m 'rename a to b'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
820 $ hg co -q 0
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
821 $ echo a2 > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
822 $ hg ci -qm 'modify a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
823 $ hg rebase -r . -d 1 --collapse
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
824 rebasing 2:41c4ea50d4cf tip "modify a"
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
825 merging b and a to b
42318
313812cbf4ca copies: fix duplicatecopies() with overlay context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42317
diff changeset
826 saved backup bundle to $TESTTMP/rebase-rename-collapse/.hg/strip-backup/41c4ea50d4cf-b90b7994-rebase.hg
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
827 $ cd ..
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
828
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
829 Test rebasing when the file we are merging in destination is empty
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
830
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
831 $ hg init test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
832 $ cd test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
833 $ echo a > foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
834 $ hg ci -Aqm 'added a to foo'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
835
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
836 $ rm foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
837 $ touch foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
838 $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
839 diff --git a/foo b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
840 --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
841 +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
842 @@ -1,1 +0,0 @@
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
843 -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
844
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
845 $ hg ci -m "make foo an empty file"
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
846
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
847 $ hg up '.^'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
848 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
849 $ echo b > foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
850 $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
851 diff --git a/foo b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
852 --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
853 +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
854 @@ -1,1 +1,1 @@
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
855 -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
856 +b
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
857 $ hg ci -m "add b to foo"
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
858 created new head
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
859
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
860 $ hg rebase -r . -d 1 --config ui.merge=internal:merge3
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
861 rebasing 2:fb62b706688e tip "add b to foo"
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
862 merging foo
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
863 hit merge conflicts; rebasing that commit again in the working copy
42193
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42192
diff changeset
864 merging foo
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42192
diff changeset
865 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
866 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
867 [240]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
868
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
869 $ cd $TESTTMP
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
870
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
871 Test rebasing when we're in the middle of a rebase already
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
872 $ hg init test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
873 $ cd test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
874 $ echo r0 > r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
875 $ hg ci -qAm 'r0'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
876 $ echo hi > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
877 $ hg ci -qAm 'hi from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
878 $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
879 $ echo bye > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
880 $ hg ci -qAm 'bye from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
881 $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
882 $ echo unrelated > some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
883 $ hg ci -qAm 'some unrelated changes'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
884 $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
885 @ 3: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
886 | some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
887 | o 2: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
888 |/ foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
889 | o 1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
890 |/ foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
891 o 0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
892 r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
893 $ hg rebase -r 2 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
894 rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
895 merging foo
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
896 hit merge conflicts; rebasing that commit again in the working copy
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
897 merging foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
898 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
899 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
900 [240]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
901 $ hg rebase -r 3 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
902 abort: rebase in progress
45215
a253ded5b03d morestatus: mention --stop even if not using --verbose
Kyle Lippincott <spectral@google.com>
parents: 45150
diff changeset
903 (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
904 [20]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
905 $ hg resolve --list
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
906 U foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
907 $ hg resolve --all --re-merge -t:other
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
908 (no more unresolved files)
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
909 continue: hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
910 $ hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
911 rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
912 saved backup bundle to $TESTTMP/test_issue6214/.hg/strip-backup/b4d249fbf8dd-299ec25c-rebase.hg
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
913 $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
914 o 3: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
915 | foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
916 | @ 2: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
917 | | some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
918 o | 1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
919 |/ foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
920 o 0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
921 r0
45086
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
922
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
923 $ cd ..
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
924
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
925 Changesets that become empty should not be committed. Merges are not empty by
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
926 definition.
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
927
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
928 $ hg init keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
929 $ cd keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
930 $ echo base > base; hg add base; hg ci -m base
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
931 $ echo test > test; hg add test; hg ci -m a
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
932 $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
933 $ echo test > test; hg add test; hg ci -m b -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
934 $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
935 $ echo test > test; hg add test; hg ci -m c -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
936 $ hg up 1 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
937 $ hg merge 2 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
938 $ hg ci -m merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
939 $ hg up null -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
940 $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
941 o 4: 59c8292117b1 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
942 |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
943 | | o 3: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
944 | | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
945 | o | 2: 0194f1db184a 'b'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
946 | |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
947 o / 1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
948 |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
949 o 0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
950
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
951 $ hg rebase -s 2 -d 3
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
952 rebasing 2:0194f1db184a "b"
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
953 note: not rebasing 2:0194f1db184a "b", its destination already has all its changes
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
954 rebasing 4:59c8292117b1 tip "merge"
45086
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
955 saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/0194f1db184a-aee31d03-rebase.hg
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
956 $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
957 o 3: 506e2454484b 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
958 |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
959 | o 2: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
960 | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
961 o | 1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
962 |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
963 o 0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
964
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
965
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
966 Test that update_hash_refs works.
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
967 $ hg co 0
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
968 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
969 $ echo update_hash_refs > update_hash_refs
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
970 $ hg add update_hash_refs
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
971 $ hg ci -m 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
972 created new head
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
973 $ echo changed >> update_hash_refs
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
974 $ hg ci -m "this starts as the child of `hg log -r . -T'{node|short}'` but not 506e2454484b. Also, ffffffffffffffff"
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
975 $ hg tglog
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
976 @ 5: a8b42cbbde83 'this starts as the child of 98789aa60148 but not 506e2454484b. Also, ffffffffffffffff'
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
977 |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
978 o 4: 98789aa60148 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
979 |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
980 | o 3: 506e2454484b 'merge'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
981 | |\
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
982 +---o 2: 531f80391e4a 'c'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
983 | |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
984 | o 1: 6f252845ea45 'a'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
985 |/
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
986 o 0: d20a80d4def3 'base'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
987
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
988 $ hg rebase -r '.^::' -d 3
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
989 rebasing 4:98789aa60148 "this will change hash"
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
990 rebasing 5:a8b42cbbde83 tip "this starts as the child of 98789aa60148 but not 506e2454484b. Also, ffffffffffffffff"
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
991 saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/98789aa60148-da3f4c2c-rebase.hg
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
992 $ hg tglog
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
993 @ 5: 0fd2912e6cc1 'this starts as the child of c16c25696fe7 but not 506e2454484b. Also, ffffffffffffffff'
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
994 |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
995 o 4: c16c25696fe7 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
996 |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
997 o 3: 506e2454484b 'merge'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
998 |\
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
999 | o 2: 531f80391e4a 'c'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1000 | |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1001 o | 1: 6f252845ea45 'a'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1002 |/
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1003 o 0: d20a80d4def3 'base'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1004
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
1005
49059
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1006 Add an explicit test for rewrite_hash_refs when the detected prefix is
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1007 ambiguous. Here's the super low-tech way I found this collision, if the hashing
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1008 scheme ever changes:
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1009 # hg init
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1010 # echo test0 > test
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1011 # hg ci -qAm 'test0' -u 'test' -d '0 0'
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1012 # i=1
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1013 # while [[ $(chg log -r . -T'{shortest(node, 6)}' | wc -c) -eq 6 ]]; do
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1014 # chg co -r 0000000000
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1015 # echo "test$i" > test
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1016 # chg ci -qAm "test$i" -u test -d '0 0'
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1017 # (( ++i ))
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1018 # done
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1019 $ hg co -q 0000000000
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1020 $ echo test5281 > test
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1021 $ hg ci -qAm 'test5281'
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1022 $ hg co -q 000000000
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1023 $ echo test9912 > test
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1024 $ hg ci -qAm 'test9912'
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1025 $ hg co -q 4
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1026 $ echo contents > some_file
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1027 $ hg ci -qAm 'The previous two (parentless) commits had a hash prefix of b04363. Check that rewrite_hash_refs will not fail because of that.'
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1028 $ hg rebase -r . -d 5
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1029 rebasing 8:5c4cdabf5769 tip "The previous two (parentless) commits had a hash prefix of b04363. Check that rewrite_hash_refs will not fail because of that."
49060
532b649c1deb rebase: while rewriting desc hashes, ignore ambiguous prefix "hashes"
Kyle Lippincott <spectral@google.com>
parents: 49059
diff changeset
1030 saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/5c4cdabf5769-335e1828-rebase.hg
49059
80579e597439 tests: add test demonstrating issue with ambiguous has prefixes during rebase
Kyle Lippincott <spectral@google.com>
parents: 47787
diff changeset
1031
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1032 $ cd ..
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1033
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1034 Test (virtual) working directory without changes, created by merge conflict
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1035 resolution. There was a regression where the file was incorrectly detected as
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1036 changed although the file contents were the same as in the parent.
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1037
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1038 $ hg init nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1039 $ cd nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1040 $ echo a > a; hg add a; hg ci -m a
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1041 $ echo foo > test; hg add test; hg ci -m b
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1042 $ hg up 0 -q
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1043 $ echo bar > test; hg add test; hg ci -m c
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1044 created new head
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1045 $ hg rebase -d 2 -d 1 --tool :local
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
1046 rebasing 2:ca2749322ee5 tip "c"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
1047 note: not rebasing 2:ca2749322ee5 tip "c", its destination already has all its changes
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
1048 saved backup bundle to $TESTTMP/nofilechanges/.hg/strip-backup/ca2749322ee5-6dc7e94b-rebase.hg