##// END OF EJS Templates
tests: tweak the subrepo dirty state tests...
Matt Harbison -
r33359:583aa1e3 default
parent child Browse files
Show More
@@ -1,119 +1,129 b''
1 1 $ hg init
2 2
3 3 $ echo a > a
4 4 $ hg ci -qAm 'add a'
5 5
6 6 $ hg init subrepo
7 7 $ echo 'subrepo = http://example.net/libfoo' > .hgsub
8 8 $ hg ci -qAm 'added subrepo'
9 9
10 10 $ hg up -qC 0
11 11 $ echo ax > a
12 12 $ hg ci -m 'changed a'
13 13 created new head
14 14
15 15 $ hg up -qC 1
16 16 $ cd subrepo
17 17 $ echo b > b
18 18 $ hg add b
19 19 $ cd ..
20 20
21 21 Should fail, since there are added files to subrepo:
22 22
23 23 $ hg merge
24 24 abort: uncommitted changes in subrepository 'subrepo'
25 25 [255]
26 26
27 27 Deleted files trigger a '+' marker in top level repos. Deleted files are also
28 28 noticed by `update --check` in the top level repo.
29 29
30 30 $ hg ci -Sqm 'add b'
31 $ echo change > subrepo/b
32
33 $ hg ci -Sm 'change b'
34 committing subrepository subrepo
35
31 36 $ rm a
32 37 $ hg id
33 cb66ec850af7+ tip
38 9bfe45a197d7+ tip
34 39 $ hg sum
35 parent: 3:cb66ec850af7 tip
36 add b
40 parent: 4:9bfe45a197d7 tip
41 change b
37 42 branch: default
38 43 commit: 1 deleted (clean)
39 44 update: 1 new changesets, 2 branch heads (merge)
40 phases: 4 draft
45 phases: 5 draft
41 46
42 47 $ hg up --check -r '.^'
43 48 abort: uncommitted changes
44 49 [255]
45 50 $ hg st -S
46 51 ! a
47 52 $ hg up -Cq .
48 53
49 54 Test that dirty is consistent through subrepos
50 55
51 56 $ rm subrepo/b
52 57
53 58 TODO: a deleted subrepo file should be flagged as dirty, like the top level repo
54 59
55 $ hg id
56 cb66ec850af7 tip
60 $ hg id --config extensions.blackbox= --config blackbox.dirty=True
61 9bfe45a197d7 tip
62 $ cat .hg/blackbox.log
63 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5 (*)> id (glob)
64 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5 (*)> id --config "extensions.blackbox=" --config "blackbox.dirty=True" exited 0 * (glob)
57 65
58 66 TODO: a deleted file should be listed as such, like the top level repo
59 67
60 68 $ hg sum
61 parent: 3:cb66ec850af7 tip
62 add b
69 parent: 4:9bfe45a197d7 tip
70 change b
63 71 branch: default
64 72 commit: (clean)
65 73 update: 1 new changesets, 2 branch heads (merge)
66 phases: 4 draft
74 phases: 5 draft
67 75
68 76 Modified subrepo files are noticed by `update --check` and `summary`
69 77
70 78 $ echo mod > subrepo/b
71 79 $ hg st -S
72 80 M subrepo/b
73 81
74 82 $ hg up -r '.^' --check
75 83 abort: uncommitted changes in subrepository 'subrepo'
76 84 [255]
77 85
78 86 $ hg sum
79 parent: 3:cb66ec850af7 tip
80 add b
87 parent: 4:9bfe45a197d7 tip
88 change b
81 89 branch: default
82 90 commit: 1 subrepos
83 91 update: 1 new changesets, 2 branch heads (merge)
84 phases: 4 draft
92 phases: 5 draft
85 93
86 94 TODO: why is -R needed here? If it's because the subrepo is treated as a
87 95 discrete unit, then this should probably warn or something.
88 96 $ hg revert -R subrepo --no-backup subrepo/b -r .
89 97
90 98 $ rm subrepo/b
91 99 $ hg st -S
92 100 ! subrepo/b
93 101
94 102 TODO: --check should notice a subrepo with a missing file. It already notices
95 103 a modified file.
96 104
97 $ hg up -r '.^' --check
105 $ hg up -r '.^' --check --config ui.interactive=True << EOF
106 > c
107 > EOF
108 other [destination] changed b which local [working copy] deleted
109 use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
98 110 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
99 111
100 TODO: update without --clean shouldn't restore a deleted subrepo file, since it
101 doesn't restore a deleted top level repo file.
102 112 $ hg st -S
103 113
104 114 $ hg bookmark -r tip @other
105 115 $ echo xyz > subrepo/c
106 116 $ hg ci -SAm 'add c'
107 117 adding subrepo/c
108 118 committing subrepository subrepo
109 119 created new head
110 120 $ rm subrepo/c
111 121
112 122 Merge sees deleted subrepo files as an uncommitted change
113 123
114 124 $ hg merge @other
115 subrepository subrepo diverged (local revision: 2b4750dcc93f, remote revision: cde40f86152f)
125 subrepository subrepo diverged (local revision: de222c2e1eac, remote revision: 7d3f8eba8116)
116 126 (M)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev]? m
117 127 abort: uncommitted changes (in subrepo subrepo)
118 128 (use 'hg status' to list changes)
119 129 [255]
General Comments 0
You need to be logged in to leave comments. Login now