annotate tests/test-merge-default.t @ 21934:0cb34b3991f8 stable

largefiles: use "normallookup" on "lfdirstate" while reverting Before this patch, largefiles gotten from revisions other than the parent of the working directory at "hg revert" become "clean" unexpectedly in steps below: 1. "repo.status()" is invoked (for status check before reverting) 1-1 "dirstate" entry for standinfile SF is "normal"-ed (1-2 "lfdirstate" entry of largefile LF (for SF) is "normal"-ed) 2. "cmdutil.revert()" is invoked 2-1 standinfile SF is updated in the working directory 2-2 "dirstate" entry for SF is NOT updated 3. "lfcommands.updatelfiles()" is invoked (by "overrides.overriderevert()") 3-1 largefile LF (for SF) is updated in the working directory 3-2 "dirstate" returns "n" and valid timestamp for SF (by 1-1 and 2-2) 3-3 "lfdirstate" entry for LF is "normal"-ed 3-4 "lfdirstate" is written into ".hg/largefiles/dirstate", and timestamp of LF is stored into "lfdirstate" file (by 3-3) (ASSUMPTION: timestamp of LF differs from one of "lfdirstate" file) Then, "hs status" treats LF as "clean", even though LF is updated by "other" revision (by 3-1), because "lfilesrepo.status()" always treats "normal"-ed files (by 3-3 and 3-4) as "clean". When largefiles are reverted, they should be "normallookup"-ed forcibly. This patch uses "normallookup" on "lfdirstate" while reverting, by passing "True" to newly added argument "normallookup". Forcible "normallookup"-ing is not so expensive, because list of target largefiles is explicitly specified in this case. This patch uses "[debug] dirstate.delaywrite" feature in the test, to ensure that timestamp of the largefile gotten from "other" revision is stored into ".hg/largefiles/dirstate" (for ASSUMPTION at 3-4)
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 23 Jul 2014 00:10:24 +0900
parents fc8c7a5ccc4a
children 94f77624dbb5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
1 $ hg init
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
2 $ echo a > a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
3 $ hg commit -A -ma
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
4 adding a
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
5
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
6 $ echo b >> a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
7 $ hg commit -mb
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
8
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
9 $ echo c >> a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
10 $ hg commit -mc
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
11
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
12 $ hg up 1
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
13 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
14 $ echo d >> a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
15 $ hg commit -md
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
16 created new head
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
17
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
18 $ hg up 1
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
19 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
20 $ echo e >> a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
21 $ hg commit -me
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
22 created new head
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
23
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
24 $ hg up 1
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
25 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
26
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
27 Should fail because not at a head:
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
28
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
29 $ hg merge
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
30 abort: branch 'default' has 3 heads - please merge with an explicit rev
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
31 (run 'hg heads .' to see heads)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12255
diff changeset
32 [255]
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
33
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
34 $ hg up
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
35 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
36
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
37 Should fail because > 2 heads:
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
38
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
39 $ HGMERGE=internal:other; export HGMERGE
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
40 $ hg merge
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
41 abort: branch 'default' has 3 heads - please merge with an explicit rev
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
42 (run 'hg heads .' to see heads)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12255
diff changeset
43 [255]
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
44
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
45 Should succeed:
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
46
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
47 $ hg merge 2
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
48 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
49 (branch merge, don't forget to commit)
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
50 $ hg commit -mm1
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
51
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
52 Should succeed - 2 heads:
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
53
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
54 $ hg merge -P
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
55 changeset: 3:ea9ff125ff88
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
56 parent: 1:1846eede8b68
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
57 user: test
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
58 date: Thu Jan 01 00:00:00 1970 +0000
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
59 summary: d
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
60
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
61 $ hg merge
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
62 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
63 (branch merge, don't forget to commit)
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
64 $ hg commit -mm2
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
65
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
66 Should fail because at tip:
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
67
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
68 $ hg merge
15619
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 12316
diff changeset
69 abort: nothing to merge
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12255
diff changeset
70 [255]
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
71
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
72 $ hg up 0
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
73 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
5242
9cd6578750b9 improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 2915
diff changeset
74
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
75 Should fail because there is only one head:
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
76
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
77 $ hg merge
15619
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 12316
diff changeset
78 abort: nothing to merge
6c8573dd1b6b merge: make 'nothing to merge' aborts consistent
Kevin Bullock <kbullock@ringworld.org>
parents: 12316
diff changeset
79 (use 'hg update' instead)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12255
diff changeset
80 [255]
2915
013921c753bd merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
81
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
82 $ hg up 3
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
83 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
84
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
85 $ echo f >> a
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
86 $ hg branch foobranch
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
87 marked working directory as branch foobranch
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
88 (branches are permanent and global, did you want a bookmark?)
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
89 $ hg commit -mf
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
90
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
91 Should fail because merge with other branch:
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
92
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
93 $ hg merge
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
94 abort: branch 'foobranch' has one head - please merge with an explicit rev
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
95 (run 'hg heads' to see all heads)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12255
diff changeset
96 [255]
10355
a5576908b589 merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 8834
diff changeset
97
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
98
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
99 Test for issue2043: ensure that 'merge -P' shows ancestors of 6 that
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
100 are not ancestors of 7, regardless of where their least common
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
101 ancestor is.
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
102
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
103 Merge preview not affected by common ancestor:
10505
b3311e26f94f merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents: 10504
diff changeset
104
12255
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
105 $ hg up -q 7
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
106 $ hg merge -q -P 6
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
107 2:2d95304fed5d
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
108 4:f25cbe84d8b3
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
109 5:a431fabd6039
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
110 6:e88e33f3bf62
9b3c02c36d92 tests: unify test-merge-default
Adrian Buehlmann <adrian@cadifra.com>
parents: 10658
diff changeset
111