Mercurial > hg
annotate tests/test-branch-option.t @ 22284:72b378658cff
largefiles: restore standins from non branch-tip parent at rollback correctly
Before this patch, "hg rollback" can't restore standins correclty, if:
- old parent of the working directory is rollback-ed, and
- new parent of the working directory is not branch-tip
"overriderollback" uses "merge.update" as a kind of "revert" utility
to restore only standins with "node=None", and this makes
"merge.update" choose "branch-tip" revision as the updating target
unexpectedly.
Then, "merge.update" restores standins from the branch-tip revision
regardless of the parent of the working directory after rollback and
this may cause unexpected behavior.
This patch invokes "merge.update" with "node='.'" to restore standins
from the parent revision of the working directory.
In fact, this "merge.update" invocation will be replaced in the
subsequent patch to fix another problem, but this change is usefull to
inform reason why such complicated case should be tested.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sun, 24 Aug 2014 23:47:25 +0900 |
parents | 41885892796e |
children | 701df761aa94 |
rev | line source |
---|---|
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
1 test branch selection options |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
3 $ hg init branch |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
4 $ cd branch |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
5 $ hg branch a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
6 marked working directory as branch a |
15615 | 7 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
8 $ echo a > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
9 $ hg ci -d '0 0' -Ama |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
10 adding foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
11 $ echo a2 > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
12 $ hg ci -d '0 0' -ma2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
13 $ hg up 0 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
14 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
15 $ hg branch c |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
16 marked working directory as branch c |
15615 | 17 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
18 $ echo c > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
19 $ hg ci -d '0 0' -mc |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
20 $ hg tag -l z |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
21 $ cd .. |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
22 $ hg clone -r 0 branch branch2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
23 adding changesets |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
24 adding manifests |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
25 adding file changes |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
26 added 1 changesets with 1 changes to 1 files |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
27 updating to branch a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
28 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
29 $ cd branch2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
30 $ hg up 0 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
31 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
32 $ hg branch b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
33 marked working directory as branch b |
15615 | 34 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
35 $ echo b > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
36 $ hg ci -d '0 0' -mb |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
37 $ hg up 0 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
38 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
39 $ hg --encoding utf-8 branch æ |
12942
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
40 marked working directory as branch \xc3\xa6 (esc) |
15615 | 41 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
42 $ echo ae1 > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
43 $ hg ci -d '0 0' -mae1 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
44 $ hg up 0 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
45 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
46 $ hg --encoding utf-8 branch -f æ |
12942
05fffd665170
tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
47 marked working directory as branch \xc3\xa6 (esc) |
15615 | 48 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
49 $ echo ae2 > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
50 $ hg ci -d '0 0' -mae2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
51 created new head |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
52 $ hg up 0 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
53 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
54 $ hg branch -f b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
55 marked working directory as branch b |
15615 | 56 (branches are permanent and global, did you want a bookmark?) |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
57 $ echo b2 > foo |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
58 $ hg ci -d '0 0' -mb2 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
59 created new head |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
60 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
61 unknown branch and fallback |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
62 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
63 $ hg in -qbz |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
64 abort: unknown branch 'z'! |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11869
diff
changeset
|
65 [255] |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
66 $ hg in -q ../branch#z |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
67 2:f25d57ab0566 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
68 $ hg out -qbz |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
69 abort: unknown branch 'z'! |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11869
diff
changeset
|
70 [255] |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
diff
changeset
|
71 |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
72 in rev c branch a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
73 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
74 $ hg in -qr c ../branch#a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
75 1:dd6e60a716c6 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
76 2:f25d57ab0566 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
77 $ hg in -qr c -b a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
78 1:dd6e60a716c6 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
79 2:f25d57ab0566 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
80 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
81 out branch . |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
82 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
83 $ hg out -q ../branch#. |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
84 1:b84708d77ab7 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
85 4:65511d0e2b55 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
86 $ hg out -q -b . |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
87 1:b84708d77ab7 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
88 4:65511d0e2b55 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
89 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
90 out branch . non-ascii |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
91 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
92 $ hg --encoding utf-8 up æ |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
93 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
94 $ hg --encoding latin1 out -q ../branch#. |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
95 2:df5a44224d4e |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
96 3:4f4a5125ca10 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
97 $ hg --encoding latin1 out -q -b . |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
98 2:df5a44224d4e |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
99 3:4f4a5125ca10 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
100 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
101 clone branch b |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
diff
changeset
|
102 |
11869
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
103 $ cd .. |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
104 $ hg clone branch2#b branch3 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
105 adding changesets |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
106 adding manifests |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
107 adding file changes |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
108 added 3 changesets with 3 changes to 1 files (+1 heads) |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
109 updating to branch b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
110 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
111 $ hg -q -R branch3 heads b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
112 2:65511d0e2b55 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
113 1:b84708d77ab7 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
114 $ hg -q -R branch3 parents |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
115 2:65511d0e2b55 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
116 $ rm -rf branch3 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
117 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
118 clone rev a branch b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
119 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
120 $ hg clone -r a branch2#b branch3 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
121 adding changesets |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
122 adding manifests |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
123 adding file changes |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
124 added 3 changesets with 3 changes to 1 files (+1 heads) |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
125 updating to branch a |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
126 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
127 $ hg -q -R branch3 heads b |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
128 2:65511d0e2b55 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
129 1:b84708d77ab7 |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
130 $ hg -q -R branch3 parents |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
131 0:5b65ba7c951d |
36a5e7cb6c8d
tests: unify test-branch-option
Martin Geisler <mg@lazybytes.net>
parents:
11322
diff
changeset
|
132 $ rm -rf branch3 |