Mercurial > hg
comparison tests/test-issue660.t @ 12195:ee41be2bbf5a
tests: unify test-issue*
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 03 Sep 2010 23:34:37 +0200 |
parents | tests/test-issue660@4484a7b661f2 |
children | 4134686b83e1 |
comparison
equal
deleted
inserted
replaced
12194:9e40ea08c2ab | 12195:ee41be2bbf5a |
---|---|
1 # http://mercurial.selenic.com/bts/issue660 | |
2 | |
3 $ hg init | |
4 $ echo a > a | |
5 $ mkdir b | |
6 $ echo b > b/b | |
7 $ hg commit -A -m "a is file, b is dir" | |
8 adding a | |
9 adding b/b | |
10 | |
11 File replaced with directory: | |
12 | |
13 $ rm a | |
14 $ mkdir a | |
15 $ echo a > a/a | |
16 | |
17 Should fail - would corrupt dirstate: | |
18 | |
19 $ hg add a/a | |
20 abort: file 'a' in dirstate clashes with 'a/a' | |
21 | |
22 Removing shadow: | |
23 | |
24 $ hg rm --after a | |
25 | |
26 Should succeed - shadow removed: | |
27 | |
28 $ hg add a/a | |
29 | |
30 Directory replaced with file: | |
31 | |
32 $ rm -r b | |
33 $ echo b > b | |
34 | |
35 Should fail - would corrupt dirstate: | |
36 | |
37 $ hg add b | |
38 abort: directory 'b' already in dirstate | |
39 | |
40 Removing shadow: | |
41 | |
42 $ hg rm --after b/b | |
43 | |
44 Should succeed - shadow removed: | |
45 | |
46 $ hg add b | |
47 | |
48 Look what we got: | |
49 | |
50 $ hg st | |
51 A a/a | |
52 A b | |
53 R a | |
54 R b/b | |
55 | |
56 Revert reintroducing shadow - should fail: | |
57 | |
58 $ rm -r a b | |
59 $ hg revert b/b | |
60 abort: file 'b' in dirstate clashes with 'b/b' | |
61 | |
62 Revert all - should succeed: | |
63 | |
64 $ hg revert --all | |
65 undeleting a | |
66 forgetting a/a | |
67 forgetting b | |
68 undeleting b/b | |
69 | |
70 $ hg st | |
71 | |
72 addremove: | |
73 | |
74 $ rm -r a b | |
75 $ mkdir a | |
76 $ echo a > a/a | |
77 $ echo b > b | |
78 | |
79 $ hg addremove -s 0 | |
80 removing a | |
81 adding a/a | |
82 adding b | |
83 removing b/b | |
84 | |
85 $ hg st | |
86 A a/a | |
87 A b | |
88 R a | |
89 R b/b | |
90 | |
91 commit: | |
92 | |
93 $ hg ci -A -m "a is dir, b is file" | |
94 $ hg st --all | |
95 C a/a | |
96 C b | |
97 | |
98 Long directory replaced with file: | |
99 | |
100 $ mkdir d | |
101 $ mkdir d/d | |
102 $ echo d > d/d/d | |
103 $ hg commit -A -m "d is long directory" | |
104 adding d/d/d | |
105 | |
106 $ rm -r d | |
107 $ echo d > d | |
108 | |
109 Should fail - would corrupt dirstate: | |
110 | |
111 $ hg add d | |
112 abort: directory 'd' already in dirstate | |
113 | |
114 Removing shadow: | |
115 | |
116 $ hg rm --after d/d/d | |
117 | |
118 Should succeed - shadow removed: | |
119 | |
120 $ hg add d | |
121 $ hg ci -md | |
122 | |
123 Update should work at least with clean working directory: | |
124 | |
125 $ rm -r a b d | |
126 $ hg up -r 0 | |
127 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
128 | |
129 $ hg st --all | |
130 C a | |
131 C b/b | |
132 | |
133 $ rm -r a b | |
134 $ hg up -r 1 | |
135 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
136 | |
137 $ hg st --all | |
138 C a/a | |
139 C b | |
140 |