Show More
@@ -1,99 +1,99 b'' | |||||
1 | $ hg init a |
|
1 | $ hg init a | |
2 | $ cd a |
|
2 | $ cd a | |
3 | $ echo a > a |
|
3 | $ echo a > a | |
4 | $ hg add -n |
|
4 | $ hg add -n | |
5 | adding a |
|
5 | adding a | |
6 | $ hg st |
|
6 | $ hg st | |
7 | ? a |
|
7 | ? a | |
8 | $ hg add |
|
8 | $ hg add | |
9 | adding a |
|
9 | adding a | |
10 | $ hg st |
|
10 | $ hg st | |
11 | A a |
|
11 | A a | |
12 | $ hg forget a |
|
12 | $ hg forget a | |
13 | $ hg add |
|
13 | $ hg add | |
14 | adding a |
|
14 | adding a | |
15 | $ hg st |
|
15 | $ hg st | |
16 | A a |
|
16 | A a | |
17 |
|
17 | |||
18 | $ echo b > b |
|
18 | $ echo b > b | |
19 | $ hg add -n b |
|
19 | $ hg add -n b | |
20 | $ hg st |
|
20 | $ hg st | |
21 | A a |
|
21 | A a | |
22 | ? b |
|
22 | ? b | |
23 | $ hg add b || echo "failed to add b" |
|
23 | $ hg add b | |
24 |
$ |
|
24 | $ hg st | |
25 | A a |
|
25 | A a | |
26 | A b |
|
26 | A b | |
27 |
|
27 | |||
28 | should fail |
|
28 | should fail | |
29 |
|
29 | |||
30 | $ hg add b |
|
30 | $ hg add b | |
31 | b already tracked! |
|
31 | b already tracked! | |
32 | $ hg st |
|
32 | $ hg st | |
33 | A a |
|
33 | A a | |
34 | A b |
|
34 | A b | |
35 |
|
35 | |||
36 | $ hg ci -m 0 --traceback |
|
36 | $ hg ci -m 0 --traceback | |
37 |
|
37 | |||
38 | should fail |
|
38 | should fail | |
39 |
|
39 | |||
40 | $ hg add a |
|
40 | $ hg add a | |
41 | a already tracked! |
|
41 | a already tracked! | |
42 |
|
42 | |||
43 | $ echo aa > a |
|
43 | $ echo aa > a | |
44 | $ hg ci -m 1 |
|
44 | $ hg ci -m 1 | |
45 | $ hg up 0 |
|
45 | $ hg up 0 | |
46 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
46 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
47 | $ echo aaa > a |
|
47 | $ echo aaa > a | |
48 | $ hg ci -m 2 |
|
48 | $ hg ci -m 2 | |
49 | created new head |
|
49 | created new head | |
50 |
|
50 | |||
51 | $ hg merge |
|
51 | $ hg merge | |
52 | merging a |
|
52 | merging a | |
53 | warning: conflicts during merge. |
|
53 | warning: conflicts during merge. | |
54 | merging a failed! |
|
54 | merging a failed! | |
55 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
55 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
56 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
|
56 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
57 | [1] |
|
57 | [1] | |
58 | $ hg st |
|
58 | $ hg st | |
59 | M a |
|
59 | M a | |
60 | ? a.orig |
|
60 | ? a.orig | |
61 |
|
61 | |||
62 | should fail |
|
62 | should fail | |
63 |
|
63 | |||
64 | $ hg add a |
|
64 | $ hg add a | |
65 | a already tracked! |
|
65 | a already tracked! | |
66 | $ hg st |
|
66 | $ hg st | |
67 | M a |
|
67 | M a | |
68 | ? a.orig |
|
68 | ? a.orig | |
69 | $ hg resolve -m a |
|
69 | $ hg resolve -m a | |
70 | $ hg ci -m merge |
|
70 | $ hg ci -m merge | |
71 |
|
71 | |||
72 | issue683 |
|
72 | issue683 | |
73 |
|
73 | |||
74 | $ hg forget a |
|
74 | $ hg forget a | |
75 | $ hg add a |
|
75 | $ hg add a | |
76 | $ hg st |
|
76 | $ hg st | |
77 | ? a.orig |
|
77 | ? a.orig | |
78 | $ hg rm a |
|
78 | $ hg rm a | |
79 | $ hg st |
|
79 | $ hg st | |
80 | R a |
|
80 | R a | |
81 | ? a.orig |
|
81 | ? a.orig | |
82 | $ echo a > a |
|
82 | $ echo a > a | |
83 | $ hg add a |
|
83 | $ hg add a | |
84 | $ hg st |
|
84 | $ hg st | |
85 | M a |
|
85 | M a | |
86 | ? a.orig |
|
86 | ? a.orig | |
87 |
|
87 | |||
88 | $ hg add c && echo "unexpected addition of missing file" |
|
88 | $ hg add c && echo "unexpected addition of missing file" | |
89 | c: No such file or directory |
|
89 | c: No such file or directory | |
90 | [1] |
|
90 | [1] | |
91 | $ echo c > c |
|
91 | $ echo c > c | |
92 | $ hg add d c && echo "unexpected addition of missing file" |
|
92 | $ hg add d c && echo "unexpected addition of missing file" | |
93 | d: No such file or directory |
|
93 | d: No such file or directory | |
94 | [1] |
|
94 | [1] | |
95 | $ hg st |
|
95 | $ hg st | |
96 | M a |
|
96 | M a | |
97 | A c |
|
97 | A c | |
98 | ? a.orig |
|
98 | ? a.orig | |
99 |
|
99 |
@@ -1,36 +1,30 b'' | |||||
1 | $ hg clone http://localhost:$HGPORT/ copy |
|
1 | $ hg clone http://localhost:$HGPORT/ copy | |
2 | abort: error: Connection refused |
|
2 | abort: error: Connection refused | |
3 | [255] |
|
3 | [255] | |
4 |
|
4 | |||
5 | $ echo $? |
|
|||
6 | 0 |
|
|||
7 |
|
||||
8 | $ test -d copy || echo copy: No such file or directory |
|
5 | $ test -d copy || echo copy: No such file or directory | |
9 | copy: No such file or directory |
|
6 | copy: No such file or directory | |
10 |
|
7 | |||
11 | $ cat > dumb.py <<EOF |
|
8 | $ cat > dumb.py <<EOF | |
12 | > import BaseHTTPServer, SimpleHTTPServer, os, signal |
|
9 | > import BaseHTTPServer, SimpleHTTPServer, os, signal | |
13 | > def run(server_class=BaseHTTPServer.HTTPServer, |
|
10 | > def run(server_class=BaseHTTPServer.HTTPServer, | |
14 | > handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): |
|
11 | > handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): | |
15 | > server_address = ('localhost', int(os.environ['HGPORT'])) |
|
12 | > server_address = ('localhost', int(os.environ['HGPORT'])) | |
16 | > httpd = server_class(server_address, handler_class) |
|
13 | > httpd = server_class(server_address, handler_class) | |
17 | > httpd.serve_forever() |
|
14 | > httpd.serve_forever() | |
18 | > signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) |
|
15 | > signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) | |
19 | > run() |
|
16 | > run() | |
20 | > EOF |
|
17 | > EOF | |
21 |
|
18 | |||
22 | $ python dumb.py 2>/dev/null & |
|
19 | $ python dumb.py 2>/dev/null & | |
23 | $ echo $! >> $DAEMON_PIDS |
|
20 | $ echo $! >> $DAEMON_PIDS | |
24 |
|
21 | |||
25 | give the server some time to start running |
|
22 | give the server some time to start running | |
26 |
|
23 | |||
27 | $ sleep 1 |
|
24 | $ sleep 1 | |
28 |
|
25 | |||
29 | $ hg clone http://localhost:$HGPORT/foo copy2 2>&1 |
|
26 | $ hg clone http://localhost:$HGPORT/foo copy2 2>&1 | |
30 | abort: HTTP Error 404: .* |
|
27 | abort: HTTP Error 404: .* | |
31 | [255] |
|
28 | [255] | |
32 |
|
29 | |||
33 | $ echo $? |
|
|||
34 | 0 |
|
|||
35 |
|
||||
36 | $ kill $! |
|
30 | $ kill $! |
@@ -1,379 +1,367 b'' | |||||
1 | $ heads() |
|
1 | $ heads() | |
2 | > { |
|
2 | > { | |
3 | > hg heads --template '{rev}: {desc|firstline|strip} ({branches})\n' "$@" |
|
3 | > hg heads --template '{rev}: {desc|firstline|strip} ({branches})\n' "$@" | |
4 | > } |
|
4 | > } | |
5 |
|
5 | |||
6 | $ hg init a |
|
6 | $ hg init a | |
7 | $ cd a |
|
7 | $ cd a | |
8 | $ echo 'root' >root |
|
8 | $ echo 'root' >root | |
9 | $ hg add root |
|
9 | $ hg add root | |
10 | $ hg commit -m "Adding root node" |
|
10 | $ hg commit -m "Adding root node" | |
11 | $ heads |
|
11 | $ heads | |
12 | 0: Adding root node () |
|
12 | 0: Adding root node () | |
13 | ------- |
|
13 | ------- | |
14 | $ heads . |
|
14 | $ heads . | |
15 | 0: Adding root node () |
|
15 | 0: Adding root node () | |
16 |
|
16 | |||
17 | ======= |
|
17 | ======= | |
18 |
|
18 | |||
19 | $ echo 'a' >a |
|
19 | $ echo 'a' >a | |
20 | $ hg add a |
|
20 | $ hg add a | |
21 | $ hg branch a |
|
21 | $ hg branch a | |
22 | marked working directory as branch a |
|
22 | marked working directory as branch a | |
23 | $ hg commit -m "Adding a branch" |
|
23 | $ hg commit -m "Adding a branch" | |
24 | $ heads |
|
24 | $ heads | |
25 | 1: Adding a branch (a) |
|
25 | 1: Adding a branch (a) | |
26 | 0: Adding root node () |
|
26 | 0: Adding root node () | |
27 | ------- |
|
27 | ------- | |
28 | $ heads . |
|
28 | $ heads . | |
29 | 1: Adding a branch (a) |
|
29 | 1: Adding a branch (a) | |
30 |
|
30 | |||
31 | ======= |
|
31 | ======= | |
32 |
|
32 | |||
33 | $ hg update -C 0 |
|
33 | $ hg update -C 0 | |
34 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
34 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
35 | $ echo 'b' >b |
|
35 | $ echo 'b' >b | |
36 | $ hg add b |
|
36 | $ hg add b | |
37 | $ hg branch b |
|
37 | $ hg branch b | |
38 | marked working directory as branch b |
|
38 | marked working directory as branch b | |
39 | $ hg commit -m "Adding b branch" |
|
39 | $ hg commit -m "Adding b branch" | |
40 | $ heads |
|
40 | $ heads | |
41 | 2: Adding b branch (b) |
|
41 | 2: Adding b branch (b) | |
42 | 1: Adding a branch (a) |
|
42 | 1: Adding a branch (a) | |
43 | 0: Adding root node () |
|
43 | 0: Adding root node () | |
44 | ------- |
|
44 | ------- | |
45 | $ heads . |
|
45 | $ heads . | |
46 | 2: Adding b branch (b) |
|
46 | 2: Adding b branch (b) | |
47 |
|
47 | |||
48 | ======= |
|
48 | ======= | |
49 |
|
49 | |||
50 | $ echo 'bh1' >bh1 |
|
50 | $ echo 'bh1' >bh1 | |
51 | $ hg add bh1 |
|
51 | $ hg add bh1 | |
52 | $ hg commit -m "Adding b branch head 1" |
|
52 | $ hg commit -m "Adding b branch head 1" | |
53 | $ heads |
|
53 | $ heads | |
54 | 3: Adding b branch head 1 (b) |
|
54 | 3: Adding b branch head 1 (b) | |
55 | 1: Adding a branch (a) |
|
55 | 1: Adding a branch (a) | |
56 | 0: Adding root node () |
|
56 | 0: Adding root node () | |
57 | ------- |
|
57 | ------- | |
58 | $ heads . |
|
58 | $ heads . | |
59 | 3: Adding b branch head 1 (b) |
|
59 | 3: Adding b branch head 1 (b) | |
60 |
|
60 | |||
61 | ======= |
|
61 | ======= | |
62 |
|
62 | |||
63 | $ hg update -C 2 |
|
63 | $ hg update -C 2 | |
64 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
64 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
65 | $ echo 'bh2' >bh2 |
|
65 | $ echo 'bh2' >bh2 | |
66 | $ hg add bh2 |
|
66 | $ hg add bh2 | |
67 | $ hg commit -m "Adding b branch head 2" |
|
67 | $ hg commit -m "Adding b branch head 2" | |
68 | created new head |
|
68 | created new head | |
69 | $ heads |
|
69 | $ heads | |
70 | 4: Adding b branch head 2 (b) |
|
70 | 4: Adding b branch head 2 (b) | |
71 | 3: Adding b branch head 1 (b) |
|
71 | 3: Adding b branch head 1 (b) | |
72 | 1: Adding a branch (a) |
|
72 | 1: Adding a branch (a) | |
73 | 0: Adding root node () |
|
73 | 0: Adding root node () | |
74 | $ heads . |
|
74 | $ heads . | |
75 | 4: Adding b branch head 2 (b) |
|
75 | 4: Adding b branch head 2 (b) | |
76 | 3: Adding b branch head 1 (b) |
|
76 | 3: Adding b branch head 1 (b) | |
77 |
|
77 | |||
78 | ======= |
|
78 | ======= | |
79 |
|
79 | |||
80 | $ hg update -C 2 |
|
80 | $ hg update -C 2 | |
81 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
81 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
82 | $ echo 'bh3' >bh3 |
|
82 | $ echo 'bh3' >bh3 | |
83 | $ hg add bh3 |
|
83 | $ hg add bh3 | |
84 | $ hg commit -m "Adding b branch head 3" |
|
84 | $ hg commit -m "Adding b branch head 3" | |
85 | created new head |
|
85 | created new head | |
86 | $ heads |
|
86 | $ heads | |
87 | 5: Adding b branch head 3 (b) |
|
87 | 5: Adding b branch head 3 (b) | |
88 | 4: Adding b branch head 2 (b) |
|
88 | 4: Adding b branch head 2 (b) | |
89 | 3: Adding b branch head 1 (b) |
|
89 | 3: Adding b branch head 1 (b) | |
90 | 1: Adding a branch (a) |
|
90 | 1: Adding a branch (a) | |
91 | 0: Adding root node () |
|
91 | 0: Adding root node () | |
92 | ------- |
|
92 | ------- | |
93 | $ heads . |
|
93 | $ heads . | |
94 | 5: Adding b branch head 3 (b) |
|
94 | 5: Adding b branch head 3 (b) | |
95 | 4: Adding b branch head 2 (b) |
|
95 | 4: Adding b branch head 2 (b) | |
96 | 3: Adding b branch head 1 (b) |
|
96 | 3: Adding b branch head 1 (b) | |
97 |
|
97 | |||
98 | ======= |
|
98 | ======= | |
99 |
|
99 | |||
100 | $ hg merge 4 |
|
100 | $ hg merge 4 | |
101 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
101 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
102 | (branch merge, don't forget to commit) |
|
102 | (branch merge, don't forget to commit) | |
103 | $ hg commit -m "Merging b branch head 2 and b branch head 3" |
|
103 | $ hg commit -m "Merging b branch head 2 and b branch head 3" | |
104 | $ heads |
|
104 | $ heads | |
105 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
105 | 6: Merging b branch head 2 and b branch head 3 (b) | |
106 | 3: Adding b branch head 1 (b) |
|
106 | 3: Adding b branch head 1 (b) | |
107 | 1: Adding a branch (a) |
|
107 | 1: Adding a branch (a) | |
108 | 0: Adding root node () |
|
108 | 0: Adding root node () | |
109 | ------- |
|
109 | ------- | |
110 | $ heads . |
|
110 | $ heads . | |
111 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
111 | 6: Merging b branch head 2 and b branch head 3 (b) | |
112 | 3: Adding b branch head 1 (b) |
|
112 | 3: Adding b branch head 1 (b) | |
113 |
|
113 | |||
114 | ======= |
|
114 | ======= | |
115 |
|
115 | |||
116 | $ echo 'c' >c |
|
116 | $ echo 'c' >c | |
117 | $ hg add c |
|
117 | $ hg add c | |
118 | $ hg branch c |
|
118 | $ hg branch c | |
119 | marked working directory as branch c |
|
119 | marked working directory as branch c | |
120 | $ hg commit -m "Adding c branch" |
|
120 | $ hg commit -m "Adding c branch" | |
121 | $ heads |
|
121 | $ heads | |
122 | 7: Adding c branch (c) |
|
122 | 7: Adding c branch (c) | |
123 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
123 | 6: Merging b branch head 2 and b branch head 3 (b) | |
124 | 3: Adding b branch head 1 (b) |
|
124 | 3: Adding b branch head 1 (b) | |
125 | 1: Adding a branch (a) |
|
125 | 1: Adding a branch (a) | |
126 | 0: Adding root node () |
|
126 | 0: Adding root node () | |
127 | ------- |
|
127 | ------- | |
128 | $ heads . |
|
128 | $ heads . | |
129 | 7: Adding c branch (c) |
|
129 | 7: Adding c branch (c) | |
130 |
|
130 | |||
131 | ======= |
|
131 | ======= | |
132 |
|
132 | |||
133 | $ heads -r 3 . |
|
133 | $ heads -r 3 . | |
134 | no open branch heads found on branches c (started at 3) |
|
134 | no open branch heads found on branches c (started at 3) | |
135 | [1] |
|
135 | [1] | |
136 | $ echo $? |
|
|||
137 | 0 |
|
|||
138 | $ heads -r 2 . |
|
136 | $ heads -r 2 . | |
139 | 7: Adding c branch (c) |
|
137 | 7: Adding c branch (c) | |
140 | $ echo $? |
|
|||
141 | 0 |
|
|||
142 | ------- |
|
138 | ------- | |
143 | $ hg update -C 4 |
|
139 | $ hg update -C 4 | |
144 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
140 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
145 | $ echo $? |
|
|||
146 | 0 |
|
|||
147 | ------- |
|
141 | ------- | |
148 | $ heads -r 3 . |
|
142 | $ heads -r 3 . | |
149 | 3: Adding b branch head 1 (b) |
|
143 | 3: Adding b branch head 1 (b) | |
150 | $ echo $? |
|
|||
151 | 0 |
|
|||
152 | ------- |
|
144 | ------- | |
153 | $ heads -r 2 . |
|
145 | $ heads -r 2 . | |
154 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
146 | 6: Merging b branch head 2 and b branch head 3 (b) | |
155 | 3: Adding b branch head 1 (b) |
|
147 | 3: Adding b branch head 1 (b) | |
156 | $ echo $? |
|
|||
157 | 0 |
|
|||
158 | ------- |
|
148 | ------- | |
159 | $ heads -r 7 . |
|
149 | $ heads -r 7 . | |
160 | no open branch heads found on branches b (started at 7) |
|
150 | no open branch heads found on branches b (started at 7) | |
161 | [1] |
|
151 | [1] | |
162 | $ echo $? |
|
|||
163 | 0 |
|
|||
164 |
|
152 | |||
165 | ======= |
|
153 | ======= | |
166 |
|
154 | |||
167 | $ for i in 0 1 2 3 4 5 6 7; do |
|
155 | $ for i in 0 1 2 3 4 5 6 7; do | |
168 | > hg update -C "$i" |
|
156 | > hg update -C "$i" | |
169 | > heads |
|
157 | > heads | |
170 | > echo '-------' |
|
158 | > echo '-------' | |
171 | > heads . |
|
159 | > heads . | |
172 | > echo '-------' |
|
160 | > echo '-------' | |
173 | > done |
|
161 | > done | |
174 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
162 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
175 | 7: Adding c branch (c) |
|
163 | 7: Adding c branch (c) | |
176 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
164 | 6: Merging b branch head 2 and b branch head 3 (b) | |
177 | 3: Adding b branch head 1 (b) |
|
165 | 3: Adding b branch head 1 (b) | |
178 | 1: Adding a branch (a) |
|
166 | 1: Adding a branch (a) | |
179 | 0: Adding root node () |
|
167 | 0: Adding root node () | |
180 | ------- |
|
168 | ------- | |
181 | 0: Adding root node () |
|
169 | 0: Adding root node () | |
182 | ------- |
|
170 | ------- | |
183 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
171 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
184 | 7: Adding c branch (c) |
|
172 | 7: Adding c branch (c) | |
185 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
173 | 6: Merging b branch head 2 and b branch head 3 (b) | |
186 | 3: Adding b branch head 1 (b) |
|
174 | 3: Adding b branch head 1 (b) | |
187 | 1: Adding a branch (a) |
|
175 | 1: Adding a branch (a) | |
188 | 0: Adding root node () |
|
176 | 0: Adding root node () | |
189 | ------- |
|
177 | ------- | |
190 | 1: Adding a branch (a) |
|
178 | 1: Adding a branch (a) | |
191 | ------- |
|
179 | ------- | |
192 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
180 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
193 | 7: Adding c branch (c) |
|
181 | 7: Adding c branch (c) | |
194 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
182 | 6: Merging b branch head 2 and b branch head 3 (b) | |
195 | 3: Adding b branch head 1 (b) |
|
183 | 3: Adding b branch head 1 (b) | |
196 | 1: Adding a branch (a) |
|
184 | 1: Adding a branch (a) | |
197 | 0: Adding root node () |
|
185 | 0: Adding root node () | |
198 | ------- |
|
186 | ------- | |
199 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
187 | 6: Merging b branch head 2 and b branch head 3 (b) | |
200 | 3: Adding b branch head 1 (b) |
|
188 | 3: Adding b branch head 1 (b) | |
201 | ------- |
|
189 | ------- | |
202 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
190 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
203 | 7: Adding c branch (c) |
|
191 | 7: Adding c branch (c) | |
204 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
192 | 6: Merging b branch head 2 and b branch head 3 (b) | |
205 | 3: Adding b branch head 1 (b) |
|
193 | 3: Adding b branch head 1 (b) | |
206 | 1: Adding a branch (a) |
|
194 | 1: Adding a branch (a) | |
207 | 0: Adding root node () |
|
195 | 0: Adding root node () | |
208 | ------- |
|
196 | ------- | |
209 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
197 | 6: Merging b branch head 2 and b branch head 3 (b) | |
210 | 3: Adding b branch head 1 (b) |
|
198 | 3: Adding b branch head 1 (b) | |
211 | ------- |
|
199 | ------- | |
212 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
200 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
213 | 7: Adding c branch (c) |
|
201 | 7: Adding c branch (c) | |
214 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
202 | 6: Merging b branch head 2 and b branch head 3 (b) | |
215 | 3: Adding b branch head 1 (b) |
|
203 | 3: Adding b branch head 1 (b) | |
216 | 1: Adding a branch (a) |
|
204 | 1: Adding a branch (a) | |
217 | 0: Adding root node () |
|
205 | 0: Adding root node () | |
218 | ------- |
|
206 | ------- | |
219 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
207 | 6: Merging b branch head 2 and b branch head 3 (b) | |
220 | 3: Adding b branch head 1 (b) |
|
208 | 3: Adding b branch head 1 (b) | |
221 | ------- |
|
209 | ------- | |
222 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
210 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
223 | 7: Adding c branch (c) |
|
211 | 7: Adding c branch (c) | |
224 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
212 | 6: Merging b branch head 2 and b branch head 3 (b) | |
225 | 3: Adding b branch head 1 (b) |
|
213 | 3: Adding b branch head 1 (b) | |
226 | 1: Adding a branch (a) |
|
214 | 1: Adding a branch (a) | |
227 | 0: Adding root node () |
|
215 | 0: Adding root node () | |
228 | ------- |
|
216 | ------- | |
229 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
217 | 6: Merging b branch head 2 and b branch head 3 (b) | |
230 | 3: Adding b branch head 1 (b) |
|
218 | 3: Adding b branch head 1 (b) | |
231 | ------- |
|
219 | ------- | |
232 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
220 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
233 | 7: Adding c branch (c) |
|
221 | 7: Adding c branch (c) | |
234 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
222 | 6: Merging b branch head 2 and b branch head 3 (b) | |
235 | 3: Adding b branch head 1 (b) |
|
223 | 3: Adding b branch head 1 (b) | |
236 | 1: Adding a branch (a) |
|
224 | 1: Adding a branch (a) | |
237 | 0: Adding root node () |
|
225 | 0: Adding root node () | |
238 | ------- |
|
226 | ------- | |
239 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
227 | 6: Merging b branch head 2 and b branch head 3 (b) | |
240 | 3: Adding b branch head 1 (b) |
|
228 | 3: Adding b branch head 1 (b) | |
241 | ------- |
|
229 | ------- | |
242 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
230 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
243 | 7: Adding c branch (c) |
|
231 | 7: Adding c branch (c) | |
244 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
232 | 6: Merging b branch head 2 and b branch head 3 (b) | |
245 | 3: Adding b branch head 1 (b) |
|
233 | 3: Adding b branch head 1 (b) | |
246 | 1: Adding a branch (a) |
|
234 | 1: Adding a branch (a) | |
247 | 0: Adding root node () |
|
235 | 0: Adding root node () | |
248 | ------- |
|
236 | ------- | |
249 | 7: Adding c branch (c) |
|
237 | 7: Adding c branch (c) | |
250 | ------- |
|
238 | ------- | |
251 |
|
239 | |||
252 | ======= |
|
240 | ======= | |
253 |
|
241 | |||
254 | $ for i in a b c z; do |
|
242 | $ for i in a b c z; do | |
255 | > heads "$i" |
|
243 | > heads "$i" | |
256 | > echo '-------' |
|
244 | > echo '-------' | |
257 | > done |
|
245 | > done | |
258 | 1: Adding a branch (a) |
|
246 | 1: Adding a branch (a) | |
259 | ------- |
|
247 | ------- | |
260 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
248 | 6: Merging b branch head 2 and b branch head 3 (b) | |
261 | 3: Adding b branch head 1 (b) |
|
249 | 3: Adding b branch head 1 (b) | |
262 | ------- |
|
250 | ------- | |
263 | 7: Adding c branch (c) |
|
251 | 7: Adding c branch (c) | |
264 | ------- |
|
252 | ------- | |
265 | abort: unknown revision 'z'! |
|
253 | abort: unknown revision 'z'! | |
266 | ------- |
|
254 | ------- | |
267 |
|
255 | |||
268 | ======= |
|
256 | ======= | |
269 |
|
257 | |||
270 | $ heads 0 1 2 3 4 5 6 7 |
|
258 | $ heads 0 1 2 3 4 5 6 7 | |
271 | 7: Adding c branch (c) |
|
259 | 7: Adding c branch (c) | |
272 | 6: Merging b branch head 2 and b branch head 3 (b) |
|
260 | 6: Merging b branch head 2 and b branch head 3 (b) | |
273 | 3: Adding b branch head 1 (b) |
|
261 | 3: Adding b branch head 1 (b) | |
274 | 1: Adding a branch (a) |
|
262 | 1: Adding a branch (a) | |
275 | 0: Adding root node () |
|
263 | 0: Adding root node () | |
276 |
|
264 | |||
277 | Topological heads: |
|
265 | Topological heads: | |
278 |
|
266 | |||
279 | $ heads -t |
|
267 | $ heads -t | |
280 | 7: Adding c branch (c) |
|
268 | 7: Adding c branch (c) | |
281 | 3: Adding b branch head 1 (b) |
|
269 | 3: Adding b branch head 1 (b) | |
282 | 1: Adding a branch (a) |
|
270 | 1: Adding a branch (a) | |
283 |
|
271 | |||
284 | $ cd .. |
|
272 | $ cd .. | |
285 | ______________ |
|
273 | ______________ | |
286 |
|
274 | |||
287 | "created new head" message tests |
|
275 | "created new head" message tests | |
288 |
|
276 | |||
289 | $ hg init newheadmsg |
|
277 | $ hg init newheadmsg | |
290 | $ cd newheadmsg |
|
278 | $ cd newheadmsg | |
291 |
|
279 | |||
292 | Init: no msg |
|
280 | Init: no msg | |
293 |
|
281 | |||
294 | $ echo 1 > a |
|
282 | $ echo 1 > a | |
295 | $ hg ci -Am "a0: Initial root" |
|
283 | $ hg ci -Am "a0: Initial root" | |
296 | adding a |
|
284 | adding a | |
297 | $ echo 2 >> a |
|
285 | $ echo 2 >> a | |
298 | $ hg ci -m "a1 (HN)" |
|
286 | $ hg ci -m "a1 (HN)" | |
299 |
|
287 | |||
300 | $ hg branch b |
|
288 | $ hg branch b | |
301 | marked working directory as branch b |
|
289 | marked working directory as branch b | |
302 | $ echo 1 > b |
|
290 | $ echo 1 > b | |
303 | $ hg ci -Am "b2: Initial root for branch b" |
|
291 | $ hg ci -Am "b2: Initial root for branch b" | |
304 | adding b |
|
292 | adding b | |
305 | $ echo 2 >> b |
|
293 | $ echo 2 >> b | |
306 | $ hg ci -m "b3 (HN)" |
|
294 | $ hg ci -m "b3 (HN)" | |
307 |
|
295 | |||
308 | Case NN: msg |
|
296 | Case NN: msg | |
309 |
|
297 | |||
310 | $ hg up -q null |
|
298 | $ hg up -q null | |
311 | $ hg branch -f b |
|
299 | $ hg branch -f b | |
312 | marked working directory as branch b |
|
300 | marked working directory as branch b | |
313 | $ echo 1 > bb |
|
301 | $ echo 1 > bb | |
314 | $ hg ci -Am "b4 (NN): new topo root for branch b" |
|
302 | $ hg ci -Am "b4 (NN): new topo root for branch b" | |
315 | adding bb |
|
303 | adding bb | |
316 | created new head |
|
304 | created new head | |
317 |
|
305 | |||
318 | Case HN: no msg |
|
306 | Case HN: no msg | |
319 |
|
307 | |||
320 | $ echo 2 >> bb |
|
308 | $ echo 2 >> bb | |
321 | $ hg ci -m "b5 (HN)" |
|
309 | $ hg ci -m "b5 (HN)" | |
322 |
|
310 | |||
323 | Case BN: msg |
|
311 | Case BN: msg | |
324 |
|
312 | |||
325 | $ hg branch -f default |
|
313 | $ hg branch -f default | |
326 | marked working directory as branch default |
|
314 | marked working directory as branch default | |
327 | $ echo 1 > aa |
|
315 | $ echo 1 > aa | |
328 | $ hg ci -Am "a6 (BN): new branch root" |
|
316 | $ hg ci -Am "a6 (BN): new branch root" | |
329 | adding aa |
|
317 | adding aa | |
330 | created new head |
|
318 | created new head | |
331 |
|
319 | |||
332 | Case CN: msg |
|
320 | Case CN: msg | |
333 |
|
321 | |||
334 | $ hg up -q 4 |
|
322 | $ hg up -q 4 | |
335 | $ echo 3 >> bbb |
|
323 | $ echo 3 >> bbb | |
336 | $ hg ci -Am "b7 (CN): regular new head" |
|
324 | $ hg ci -Am "b7 (CN): regular new head" | |
337 | adding bbb |
|
325 | adding bbb | |
338 | created new head |
|
326 | created new head | |
339 |
|
327 | |||
340 | Case BB: msg |
|
328 | Case BB: msg | |
341 |
|
329 | |||
342 | $ hg up -q 4 |
|
330 | $ hg up -q 4 | |
343 | $ hg merge -q 3 |
|
331 | $ hg merge -q 3 | |
344 | $ hg branch -f default |
|
332 | $ hg branch -f default | |
345 | marked working directory as branch default |
|
333 | marked working directory as branch default | |
346 | $ hg ci -m "a8 (BB): weird new branch root" |
|
334 | $ hg ci -m "a8 (BB): weird new branch root" | |
347 | created new head |
|
335 | created new head | |
348 |
|
336 | |||
349 | Case CB: msg |
|
337 | Case CB: msg | |
350 |
|
338 | |||
351 | $ hg up -q 4 |
|
339 | $ hg up -q 4 | |
352 | $ hg merge -q 1 |
|
340 | $ hg merge -q 1 | |
353 | $ hg ci -m "b9 (CB): new head from branch merge" |
|
341 | $ hg ci -m "b9 (CB): new head from branch merge" | |
354 | created new head |
|
342 | created new head | |
355 |
|
343 | |||
356 | Case HB: no msg |
|
344 | Case HB: no msg | |
357 |
|
345 | |||
358 | $ hg up -q 7 |
|
346 | $ hg up -q 7 | |
359 | $ hg merge -q 6 |
|
347 | $ hg merge -q 6 | |
360 | $ hg ci -m "b10 (HB): continuing head from branch merge" |
|
348 | $ hg ci -m "b10 (HB): continuing head from branch merge" | |
361 |
|
349 | |||
362 | Case CC: msg |
|
350 | Case CC: msg | |
363 |
|
351 | |||
364 | $ hg up -q 4 |
|
352 | $ hg up -q 4 | |
365 | $ hg merge -q 2 |
|
353 | $ hg merge -q 2 | |
366 | $ hg ci -m "b11 (CC): new head from merge" |
|
354 | $ hg ci -m "b11 (CC): new head from merge" | |
367 | created new head |
|
355 | created new head | |
368 |
|
356 | |||
369 | Case CH: no msg |
|
357 | Case CH: no msg | |
370 |
|
358 | |||
371 | $ hg up -q 2 |
|
359 | $ hg up -q 2 | |
372 | $ hg merge -q 10 |
|
360 | $ hg merge -q 10 | |
373 | $ hg ci -m "b12 (CH): continuing head from merge" |
|
361 | $ hg ci -m "b12 (CH): continuing head from merge" | |
374 |
|
362 | |||
375 | Case HH: no msg |
|
363 | Case HH: no msg | |
376 |
|
364 | |||
377 | $ hg merge -q 3 |
|
365 | $ hg merge -q 3 | |
378 | $ hg ci -m "b12 (HH): merging two heads" |
|
366 | $ hg ci -m "b12 (HH): merging two heads" | |
379 |
|
367 |
@@ -1,419 +1,419 b'' | |||||
1 | $ set -e |
|
|||
2 |
|
|
1 | $ hg init | |
3 |
|
2 | |||
4 |
|
3 | |||
5 | committing changes |
|
4 | committing changes | |
6 |
|
5 | |||
7 | $ count=0 |
|
6 | $ count=0 | |
8 | $ echo > a |
|
7 | $ echo > a | |
9 | $ while test $count -lt 32 ; do |
|
8 | $ while test $count -lt 32 ; do | |
10 | > echo 'a' >> a |
|
9 | > echo 'a' >> a | |
11 | > test $count -eq 0 && hg add |
|
10 | > test $count -eq 0 && hg add | |
12 | > hg ci -m "msg $count" -d "$count 0" |
|
11 | > hg ci -m "msg $count" -d "$count 0" | |
13 | > count=`expr $count + 1` |
|
12 | > count=`expr $count + 1` | |
14 | > done |
|
13 | > done | |
15 | adding a |
|
14 | adding a | |
16 |
|
15 | |||
17 |
|
16 | |||
18 | $ hg log |
|
17 | $ hg log | |
19 | changeset: 31:58c80a7c8a40 |
|
18 | changeset: 31:58c80a7c8a40 | |
20 | tag: tip |
|
19 | tag: tip | |
21 | user: test |
|
20 | user: test | |
22 | date: Thu Jan 01 00:00:31 1970 +0000 |
|
21 | date: Thu Jan 01 00:00:31 1970 +0000 | |
23 | summary: msg 31 |
|
22 | summary: msg 31 | |
24 |
|
23 | |||
25 | changeset: 30:ed2d2f24b11c |
|
24 | changeset: 30:ed2d2f24b11c | |
26 | user: test |
|
25 | user: test | |
27 | date: Thu Jan 01 00:00:30 1970 +0000 |
|
26 | date: Thu Jan 01 00:00:30 1970 +0000 | |
28 | summary: msg 30 |
|
27 | summary: msg 30 | |
29 |
|
28 | |||
30 | changeset: 29:b5bd63375ab9 |
|
29 | changeset: 29:b5bd63375ab9 | |
31 | user: test |
|
30 | user: test | |
32 | date: Thu Jan 01 00:00:29 1970 +0000 |
|
31 | date: Thu Jan 01 00:00:29 1970 +0000 | |
33 | summary: msg 29 |
|
32 | summary: msg 29 | |
34 |
|
33 | |||
35 | changeset: 28:8e0c2264c8af |
|
34 | changeset: 28:8e0c2264c8af | |
36 | user: test |
|
35 | user: test | |
37 | date: Thu Jan 01 00:00:28 1970 +0000 |
|
36 | date: Thu Jan 01 00:00:28 1970 +0000 | |
38 | summary: msg 28 |
|
37 | summary: msg 28 | |
39 |
|
38 | |||
40 | changeset: 27:288867a866e9 |
|
39 | changeset: 27:288867a866e9 | |
41 | user: test |
|
40 | user: test | |
42 | date: Thu Jan 01 00:00:27 1970 +0000 |
|
41 | date: Thu Jan 01 00:00:27 1970 +0000 | |
43 | summary: msg 27 |
|
42 | summary: msg 27 | |
44 |
|
43 | |||
45 | changeset: 26:3efc6fd51aeb |
|
44 | changeset: 26:3efc6fd51aeb | |
46 | user: test |
|
45 | user: test | |
47 | date: Thu Jan 01 00:00:26 1970 +0000 |
|
46 | date: Thu Jan 01 00:00:26 1970 +0000 | |
48 | summary: msg 26 |
|
47 | summary: msg 26 | |
49 |
|
48 | |||
50 | changeset: 25:02a84173a97a |
|
49 | changeset: 25:02a84173a97a | |
51 | user: test |
|
50 | user: test | |
52 | date: Thu Jan 01 00:00:25 1970 +0000 |
|
51 | date: Thu Jan 01 00:00:25 1970 +0000 | |
53 | summary: msg 25 |
|
52 | summary: msg 25 | |
54 |
|
53 | |||
55 | changeset: 24:10e0acd3809e |
|
54 | changeset: 24:10e0acd3809e | |
56 | user: test |
|
55 | user: test | |
57 | date: Thu Jan 01 00:00:24 1970 +0000 |
|
56 | date: Thu Jan 01 00:00:24 1970 +0000 | |
58 | summary: msg 24 |
|
57 | summary: msg 24 | |
59 |
|
58 | |||
60 | changeset: 23:5ec79163bff4 |
|
59 | changeset: 23:5ec79163bff4 | |
61 | user: test |
|
60 | user: test | |
62 | date: Thu Jan 01 00:00:23 1970 +0000 |
|
61 | date: Thu Jan 01 00:00:23 1970 +0000 | |
63 | summary: msg 23 |
|
62 | summary: msg 23 | |
64 |
|
63 | |||
65 | changeset: 22:06c7993750ce |
|
64 | changeset: 22:06c7993750ce | |
66 | user: test |
|
65 | user: test | |
67 | date: Thu Jan 01 00:00:22 1970 +0000 |
|
66 | date: Thu Jan 01 00:00:22 1970 +0000 | |
68 | summary: msg 22 |
|
67 | summary: msg 22 | |
69 |
|
68 | |||
70 | changeset: 21:e5db6aa3fe2a |
|
69 | changeset: 21:e5db6aa3fe2a | |
71 | user: test |
|
70 | user: test | |
72 | date: Thu Jan 01 00:00:21 1970 +0000 |
|
71 | date: Thu Jan 01 00:00:21 1970 +0000 | |
73 | summary: msg 21 |
|
72 | summary: msg 21 | |
74 |
|
73 | |||
75 | changeset: 20:7128fb4fdbc9 |
|
74 | changeset: 20:7128fb4fdbc9 | |
76 | user: test |
|
75 | user: test | |
77 | date: Thu Jan 01 00:00:20 1970 +0000 |
|
76 | date: Thu Jan 01 00:00:20 1970 +0000 | |
78 | summary: msg 20 |
|
77 | summary: msg 20 | |
79 |
|
78 | |||
80 | changeset: 19:52798545b482 |
|
79 | changeset: 19:52798545b482 | |
81 | user: test |
|
80 | user: test | |
82 | date: Thu Jan 01 00:00:19 1970 +0000 |
|
81 | date: Thu Jan 01 00:00:19 1970 +0000 | |
83 | summary: msg 19 |
|
82 | summary: msg 19 | |
84 |
|
83 | |||
85 | changeset: 18:86977a90077e |
|
84 | changeset: 18:86977a90077e | |
86 | user: test |
|
85 | user: test | |
87 | date: Thu Jan 01 00:00:18 1970 +0000 |
|
86 | date: Thu Jan 01 00:00:18 1970 +0000 | |
88 | summary: msg 18 |
|
87 | summary: msg 18 | |
89 |
|
88 | |||
90 | changeset: 17:03515f4a9080 |
|
89 | changeset: 17:03515f4a9080 | |
91 | user: test |
|
90 | user: test | |
92 | date: Thu Jan 01 00:00:17 1970 +0000 |
|
91 | date: Thu Jan 01 00:00:17 1970 +0000 | |
93 | summary: msg 17 |
|
92 | summary: msg 17 | |
94 |
|
93 | |||
95 | changeset: 16:a2e6ea4973e9 |
|
94 | changeset: 16:a2e6ea4973e9 | |
96 | user: test |
|
95 | user: test | |
97 | date: Thu Jan 01 00:00:16 1970 +0000 |
|
96 | date: Thu Jan 01 00:00:16 1970 +0000 | |
98 | summary: msg 16 |
|
97 | summary: msg 16 | |
99 |
|
98 | |||
100 | changeset: 15:e7fa0811edb0 |
|
99 | changeset: 15:e7fa0811edb0 | |
101 | user: test |
|
100 | user: test | |
102 | date: Thu Jan 01 00:00:15 1970 +0000 |
|
101 | date: Thu Jan 01 00:00:15 1970 +0000 | |
103 | summary: msg 15 |
|
102 | summary: msg 15 | |
104 |
|
103 | |||
105 | changeset: 14:ce8f0998e922 |
|
104 | changeset: 14:ce8f0998e922 | |
106 | user: test |
|
105 | user: test | |
107 | date: Thu Jan 01 00:00:14 1970 +0000 |
|
106 | date: Thu Jan 01 00:00:14 1970 +0000 | |
108 | summary: msg 14 |
|
107 | summary: msg 14 | |
109 |
|
108 | |||
110 | changeset: 13:9d7d07bc967c |
|
109 | changeset: 13:9d7d07bc967c | |
111 | user: test |
|
110 | user: test | |
112 | date: Thu Jan 01 00:00:13 1970 +0000 |
|
111 | date: Thu Jan 01 00:00:13 1970 +0000 | |
113 | summary: msg 13 |
|
112 | summary: msg 13 | |
114 |
|
113 | |||
115 | changeset: 12:1941b52820a5 |
|
114 | changeset: 12:1941b52820a5 | |
116 | user: test |
|
115 | user: test | |
117 | date: Thu Jan 01 00:00:12 1970 +0000 |
|
116 | date: Thu Jan 01 00:00:12 1970 +0000 | |
118 | summary: msg 12 |
|
117 | summary: msg 12 | |
119 |
|
118 | |||
120 | changeset: 11:7b4cd9578619 |
|
119 | changeset: 11:7b4cd9578619 | |
121 | user: test |
|
120 | user: test | |
122 | date: Thu Jan 01 00:00:11 1970 +0000 |
|
121 | date: Thu Jan 01 00:00:11 1970 +0000 | |
123 | summary: msg 11 |
|
122 | summary: msg 11 | |
124 |
|
123 | |||
125 | changeset: 10:7c5eff49a6b6 |
|
124 | changeset: 10:7c5eff49a6b6 | |
126 | user: test |
|
125 | user: test | |
127 | date: Thu Jan 01 00:00:10 1970 +0000 |
|
126 | date: Thu Jan 01 00:00:10 1970 +0000 | |
128 | summary: msg 10 |
|
127 | summary: msg 10 | |
129 |
|
128 | |||
130 | changeset: 9:eb44510ef29a |
|
129 | changeset: 9:eb44510ef29a | |
131 | user: test |
|
130 | user: test | |
132 | date: Thu Jan 01 00:00:09 1970 +0000 |
|
131 | date: Thu Jan 01 00:00:09 1970 +0000 | |
133 | summary: msg 9 |
|
132 | summary: msg 9 | |
134 |
|
133 | |||
135 | changeset: 8:453eb4dba229 |
|
134 | changeset: 8:453eb4dba229 | |
136 | user: test |
|
135 | user: test | |
137 | date: Thu Jan 01 00:00:08 1970 +0000 |
|
136 | date: Thu Jan 01 00:00:08 1970 +0000 | |
138 | summary: msg 8 |
|
137 | summary: msg 8 | |
139 |
|
138 | |||
140 | changeset: 7:03750880c6b5 |
|
139 | changeset: 7:03750880c6b5 | |
141 | user: test |
|
140 | user: test | |
142 | date: Thu Jan 01 00:00:07 1970 +0000 |
|
141 | date: Thu Jan 01 00:00:07 1970 +0000 | |
143 | summary: msg 7 |
|
142 | summary: msg 7 | |
144 |
|
143 | |||
145 | changeset: 6:a3d5c6fdf0d3 |
|
144 | changeset: 6:a3d5c6fdf0d3 | |
146 | user: test |
|
145 | user: test | |
147 | date: Thu Jan 01 00:00:06 1970 +0000 |
|
146 | date: Thu Jan 01 00:00:06 1970 +0000 | |
148 | summary: msg 6 |
|
147 | summary: msg 6 | |
149 |
|
148 | |||
150 | changeset: 5:7874a09ea728 |
|
149 | changeset: 5:7874a09ea728 | |
151 | user: test |
|
150 | user: test | |
152 | date: Thu Jan 01 00:00:05 1970 +0000 |
|
151 | date: Thu Jan 01 00:00:05 1970 +0000 | |
153 | summary: msg 5 |
|
152 | summary: msg 5 | |
154 |
|
153 | |||
155 | changeset: 4:9b2ba8336a65 |
|
154 | changeset: 4:9b2ba8336a65 | |
156 | user: test |
|
155 | user: test | |
157 | date: Thu Jan 01 00:00:04 1970 +0000 |
|
156 | date: Thu Jan 01 00:00:04 1970 +0000 | |
158 | summary: msg 4 |
|
157 | summary: msg 4 | |
159 |
|
158 | |||
160 | changeset: 3:b53bea5e2fcb |
|
159 | changeset: 3:b53bea5e2fcb | |
161 | user: test |
|
160 | user: test | |
162 | date: Thu Jan 01 00:00:03 1970 +0000 |
|
161 | date: Thu Jan 01 00:00:03 1970 +0000 | |
163 | summary: msg 3 |
|
162 | summary: msg 3 | |
164 |
|
163 | |||
165 | changeset: 2:db07c04beaca |
|
164 | changeset: 2:db07c04beaca | |
166 | user: test |
|
165 | user: test | |
167 | date: Thu Jan 01 00:00:02 1970 +0000 |
|
166 | date: Thu Jan 01 00:00:02 1970 +0000 | |
168 | summary: msg 2 |
|
167 | summary: msg 2 | |
169 |
|
168 | |||
170 | changeset: 1:5cd978ea5149 |
|
169 | changeset: 1:5cd978ea5149 | |
171 | user: test |
|
170 | user: test | |
172 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
171 | date: Thu Jan 01 00:00:01 1970 +0000 | |
173 | summary: msg 1 |
|
172 | summary: msg 1 | |
174 |
|
173 | |||
175 | changeset: 0:b99c7b9c8e11 |
|
174 | changeset: 0:b99c7b9c8e11 | |
176 | user: test |
|
175 | user: test | |
177 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
176 | date: Thu Jan 01 00:00:00 1970 +0000 | |
178 | summary: msg 0 |
|
177 | summary: msg 0 | |
179 |
|
178 | |||
180 |
|
179 | |||
181 | $ hg up -C |
|
180 | $ hg up -C | |
182 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
181 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
183 |
|
182 | |||
184 | bisect test |
|
183 | bisect test | |
185 |
|
184 | |||
186 | $ hg bisect -r |
|
185 | $ hg bisect -r | |
187 | $ hg bisect -b |
|
186 | $ hg bisect -b | |
188 | $ hg bisect -g 1 |
|
187 | $ hg bisect -g 1 | |
189 | Testing changeset 16:a2e6ea4973e9 (30 changesets remaining, ~4 tests) |
|
188 | Testing changeset 16:a2e6ea4973e9 (30 changesets remaining, ~4 tests) | |
190 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
189 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
191 | $ hg bisect -g |
|
190 | $ hg bisect -g | |
192 | Testing changeset 23:5ec79163bff4 (15 changesets remaining, ~3 tests) |
|
191 | Testing changeset 23:5ec79163bff4 (15 changesets remaining, ~3 tests) | |
193 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
192 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
194 |
|
193 | |||
195 | skip |
|
194 | skip | |
196 |
|
195 | |||
197 | $ hg bisect -s |
|
196 | $ hg bisect -s | |
198 | Testing changeset 24:10e0acd3809e (15 changesets remaining, ~3 tests) |
|
197 | Testing changeset 24:10e0acd3809e (15 changesets remaining, ~3 tests) | |
199 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
198 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
200 | $ hg bisect -g |
|
199 | $ hg bisect -g | |
201 | Testing changeset 27:288867a866e9 (7 changesets remaining, ~2 tests) |
|
200 | Testing changeset 27:288867a866e9 (7 changesets remaining, ~2 tests) | |
202 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
201 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
203 | $ hg bisect -g |
|
202 | $ hg bisect -g | |
204 | Testing changeset 29:b5bd63375ab9 (4 changesets remaining, ~2 tests) |
|
203 | Testing changeset 29:b5bd63375ab9 (4 changesets remaining, ~2 tests) | |
205 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
204 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
206 | $ hg bisect -b |
|
205 | $ hg bisect -b | |
207 | Testing changeset 28:8e0c2264c8af (2 changesets remaining, ~1 tests) |
|
206 | Testing changeset 28:8e0c2264c8af (2 changesets remaining, ~1 tests) | |
208 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
207 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
209 | $ hg bisect -g |
|
208 | $ hg bisect -g | |
210 | The first bad revision is: |
|
209 | The first bad revision is: | |
211 | changeset: 29:b5bd63375ab9 |
|
210 | changeset: 29:b5bd63375ab9 | |
212 | user: test |
|
211 | user: test | |
213 | date: Thu Jan 01 00:00:29 1970 +0000 |
|
212 | date: Thu Jan 01 00:00:29 1970 +0000 | |
214 | summary: msg 29 |
|
213 | summary: msg 29 | |
215 |
|
214 | |||
216 |
|
215 | |||
217 | mark revsets instead of single revs |
|
216 | mark revsets instead of single revs | |
218 |
|
217 | |||
219 | $ hg bisect -r |
|
218 | $ hg bisect -r | |
220 | $ hg bisect -b "0::3" |
|
219 | $ hg bisect -b "0::3" | |
221 | $ hg bisect -s "13::16" |
|
220 | $ hg bisect -s "13::16" | |
222 | $ hg bisect -g "26::tip" |
|
221 | $ hg bisect -g "26::tip" | |
223 | Testing changeset 12:1941b52820a5 (23 changesets remaining, ~4 tests) |
|
222 | Testing changeset 12:1941b52820a5 (23 changesets remaining, ~4 tests) | |
224 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
223 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
225 | $ cat .hg/bisect.state |
|
224 | $ cat .hg/bisect.state | |
226 | skip 9d7d07bc967ca98ad0600c24953fd289ad5fa991 |
|
225 | skip 9d7d07bc967ca98ad0600c24953fd289ad5fa991 | |
227 | skip ce8f0998e922c179e80819d5066fbe46e2998784 |
|
226 | skip ce8f0998e922c179e80819d5066fbe46e2998784 | |
228 | skip e7fa0811edb063f6319531f0d0a865882138e180 |
|
227 | skip e7fa0811edb063f6319531f0d0a865882138e180 | |
229 | skip a2e6ea4973e9196ddd3386493b0c214b41fd97d3 |
|
228 | skip a2e6ea4973e9196ddd3386493b0c214b41fd97d3 | |
230 | bad b99c7b9c8e11558adef3fad9af211c58d46f325b |
|
229 | bad b99c7b9c8e11558adef3fad9af211c58d46f325b | |
231 | bad 5cd978ea51499179507ee7b6f340d2dbaa401185 |
|
230 | bad 5cd978ea51499179507ee7b6f340d2dbaa401185 | |
232 | bad db07c04beaca44cf24832541e7f4a2346a95275b |
|
231 | bad db07c04beaca44cf24832541e7f4a2346a95275b | |
233 | bad b53bea5e2fcb30d3e00bd3409507a5659ce0fd8b |
|
232 | bad b53bea5e2fcb30d3e00bd3409507a5659ce0fd8b | |
234 | good 3efc6fd51aeb8594398044c6c846ca59ae021203 |
|
233 | good 3efc6fd51aeb8594398044c6c846ca59ae021203 | |
235 | good 288867a866e9adb7a29880b66936c874b80f4651 |
|
234 | good 288867a866e9adb7a29880b66936c874b80f4651 | |
236 | good 8e0c2264c8af790daf3585ada0669d93dee09c83 |
|
235 | good 8e0c2264c8af790daf3585ada0669d93dee09c83 | |
237 | good b5bd63375ab9a290419f2024b7f4ee9ea7ce90a8 |
|
236 | good b5bd63375ab9a290419f2024b7f4ee9ea7ce90a8 | |
238 | good ed2d2f24b11c368fa8aa0da9f4e1db580abade59 |
|
237 | good ed2d2f24b11c368fa8aa0da9f4e1db580abade59 | |
239 | good 58c80a7c8a4025a94cedaf7b4a4e3124e8909a96 |
|
238 | good 58c80a7c8a4025a94cedaf7b4a4e3124e8909a96 | |
240 |
|
239 | |||
241 | bisect reverse test |
|
240 | bisect reverse test | |
242 |
|
241 | |||
243 | $ hg bisect -r |
|
242 | $ hg bisect -r | |
244 | $ hg bisect -b null |
|
243 | $ hg bisect -b null | |
245 | $ hg bisect -g tip |
|
244 | $ hg bisect -g tip | |
246 | Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests) |
|
245 | Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests) | |
247 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
246 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
248 | $ hg bisect -g |
|
247 | $ hg bisect -g | |
249 | Testing changeset 7:03750880c6b5 (16 changesets remaining, ~4 tests) |
|
248 | Testing changeset 7:03750880c6b5 (16 changesets remaining, ~4 tests) | |
250 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
249 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
251 |
|
250 | |||
252 | skip |
|
251 | skip | |
253 |
|
252 | |||
254 | $ hg bisect -s |
|
253 | $ hg bisect -s | |
255 | Testing changeset 6:a3d5c6fdf0d3 (16 changesets remaining, ~4 tests) |
|
254 | Testing changeset 6:a3d5c6fdf0d3 (16 changesets remaining, ~4 tests) | |
256 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
255 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
257 | $ hg bisect -g |
|
256 | $ hg bisect -g | |
258 | Testing changeset 2:db07c04beaca (7 changesets remaining, ~2 tests) |
|
257 | Testing changeset 2:db07c04beaca (7 changesets remaining, ~2 tests) | |
259 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
258 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
260 | $ hg bisect -g |
|
259 | $ hg bisect -g | |
261 | Testing changeset 0:b99c7b9c8e11 (3 changesets remaining, ~1 tests) |
|
260 | Testing changeset 0:b99c7b9c8e11 (3 changesets remaining, ~1 tests) | |
262 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
261 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
263 | $ hg bisect -b |
|
262 | $ hg bisect -b | |
264 | Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests) |
|
263 | Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests) | |
265 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
264 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
266 | $ hg bisect -g |
|
265 | $ hg bisect -g | |
267 | The first good revision is: |
|
266 | The first good revision is: | |
268 | changeset: 1:5cd978ea5149 |
|
267 | changeset: 1:5cd978ea5149 | |
269 | user: test |
|
268 | user: test | |
270 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
269 | date: Thu Jan 01 00:00:01 1970 +0000 | |
271 | summary: msg 1 |
|
270 | summary: msg 1 | |
272 |
|
271 | |||
|
272 | $ false | |||
|
273 | [1] | |||
|
274 | ||||
273 |
|
275 | |||
274 | $ hg bisect -r |
|
276 | $ hg bisect -r | |
275 | $ hg bisect -g tip |
|
277 | $ hg bisect -g tip | |
276 |
$ hg bisect -b tip |
|
278 | $ hg bisect -b tip | |
277 | abort: starting revisions are not directly related |
|
279 | abort: starting revisions are not directly related | |
278 | error |
|
|||
279 |
|
280 | |||
280 | $ hg bisect -r |
|
281 | $ hg bisect -r | |
281 | $ hg bisect -g null |
|
282 | $ hg bisect -g null | |
282 | $ hg bisect -bU tip |
|
283 | $ hg bisect -bU tip | |
283 | Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests) |
|
284 | Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests) | |
284 | $ hg id |
|
285 | $ hg id | |
285 | 5cd978ea5149 |
|
286 | 5cd978ea5149 | |
286 |
|
287 | |||
287 |
|
288 | |||
288 | reproduce AssertionError, issue1228 and issue1182 |
|
289 | reproduce AssertionError, issue1228 and issue1182 | |
289 |
|
290 | |||
290 | $ hg bisect -r |
|
291 | $ hg bisect -r | |
291 | $ hg bisect -b 4 |
|
292 | $ hg bisect -b 4 | |
292 | $ hg bisect -g 0 |
|
293 | $ hg bisect -g 0 | |
293 | Testing changeset 2:db07c04beaca (4 changesets remaining, ~2 tests) |
|
294 | Testing changeset 2:db07c04beaca (4 changesets remaining, ~2 tests) | |
294 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
295 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
295 | $ hg bisect -s |
|
296 | $ hg bisect -s | |
296 | Testing changeset 1:5cd978ea5149 (4 changesets remaining, ~2 tests) |
|
297 | Testing changeset 1:5cd978ea5149 (4 changesets remaining, ~2 tests) | |
297 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
298 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
298 | $ hg bisect -s |
|
299 | $ hg bisect -s | |
299 | Testing changeset 3:b53bea5e2fcb (4 changesets remaining, ~2 tests) |
|
300 | Testing changeset 3:b53bea5e2fcb (4 changesets remaining, ~2 tests) | |
300 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
301 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
301 | $ hg bisect -s |
|
302 | $ hg bisect -s | |
302 | Due to skipped revisions, the first bad revision could be any of: |
|
303 | Due to skipped revisions, the first bad revision could be any of: | |
303 | changeset: 1:5cd978ea5149 |
|
304 | changeset: 1:5cd978ea5149 | |
304 | user: test |
|
305 | user: test | |
305 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
306 | date: Thu Jan 01 00:00:01 1970 +0000 | |
306 | summary: msg 1 |
|
307 | summary: msg 1 | |
307 |
|
308 | |||
308 | changeset: 2:db07c04beaca |
|
309 | changeset: 2:db07c04beaca | |
309 | user: test |
|
310 | user: test | |
310 | date: Thu Jan 01 00:00:02 1970 +0000 |
|
311 | date: Thu Jan 01 00:00:02 1970 +0000 | |
311 | summary: msg 2 |
|
312 | summary: msg 2 | |
312 |
|
313 | |||
313 | changeset: 3:b53bea5e2fcb |
|
314 | changeset: 3:b53bea5e2fcb | |
314 | user: test |
|
315 | user: test | |
315 | date: Thu Jan 01 00:00:03 1970 +0000 |
|
316 | date: Thu Jan 01 00:00:03 1970 +0000 | |
316 | summary: msg 3 |
|
317 | summary: msg 3 | |
317 |
|
318 | |||
318 | changeset: 4:9b2ba8336a65 |
|
319 | changeset: 4:9b2ba8336a65 | |
319 | user: test |
|
320 | user: test | |
320 | date: Thu Jan 01 00:00:04 1970 +0000 |
|
321 | date: Thu Jan 01 00:00:04 1970 +0000 | |
321 | summary: msg 4 |
|
322 | summary: msg 4 | |
322 |
|
323 | |||
323 |
|
324 | |||
324 |
|
325 | |||
325 | reproduce non converging bisect, issue1182 |
|
326 | reproduce non converging bisect, issue1182 | |
326 |
|
327 | |||
327 | $ hg bisect -r |
|
328 | $ hg bisect -r | |
328 | $ hg bisect -g 0 |
|
329 | $ hg bisect -g 0 | |
329 | $ hg bisect -b 2 |
|
330 | $ hg bisect -b 2 | |
330 | Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests) |
|
331 | Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests) | |
331 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
332 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
332 | $ hg bisect -s |
|
333 | $ hg bisect -s | |
333 | Due to skipped revisions, the first bad revision could be any of: |
|
334 | Due to skipped revisions, the first bad revision could be any of: | |
334 | changeset: 1:5cd978ea5149 |
|
335 | changeset: 1:5cd978ea5149 | |
335 | user: test |
|
336 | user: test | |
336 | date: Thu Jan 01 00:00:01 1970 +0000 |
|
337 | date: Thu Jan 01 00:00:01 1970 +0000 | |
337 | summary: msg 1 |
|
338 | summary: msg 1 | |
338 |
|
339 | |||
339 | changeset: 2:db07c04beaca |
|
340 | changeset: 2:db07c04beaca | |
340 | user: test |
|
341 | user: test | |
341 | date: Thu Jan 01 00:00:02 1970 +0000 |
|
342 | date: Thu Jan 01 00:00:02 1970 +0000 | |
342 | summary: msg 2 |
|
343 | summary: msg 2 | |
343 |
|
344 | |||
344 |
|
345 | |||
345 |
|
346 | |||
346 | test no action |
|
347 | test no action | |
347 |
|
348 | |||
348 | $ hg bisect -r |
|
349 | $ hg bisect -r | |
349 |
$ hg bisect |
|
350 | $ hg bisect | |
350 | abort: cannot bisect (no known good revisions) |
|
351 | abort: cannot bisect (no known good revisions) | |
351 | failure |
|
|||
352 |
|
352 | |||
353 |
|
353 | |||
354 | reproduce AssertionError, issue1445 |
|
354 | reproduce AssertionError, issue1445 | |
355 |
|
355 | |||
356 | $ hg bisect -r |
|
356 | $ hg bisect -r | |
357 | $ hg bisect -b 6 |
|
357 | $ hg bisect -b 6 | |
358 | $ hg bisect -g 0 |
|
358 | $ hg bisect -g 0 | |
359 | Testing changeset 3:b53bea5e2fcb (6 changesets remaining, ~2 tests) |
|
359 | Testing changeset 3:b53bea5e2fcb (6 changesets remaining, ~2 tests) | |
360 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
360 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
361 | $ hg bisect -s |
|
361 | $ hg bisect -s | |
362 | Testing changeset 2:db07c04beaca (6 changesets remaining, ~2 tests) |
|
362 | Testing changeset 2:db07c04beaca (6 changesets remaining, ~2 tests) | |
363 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
363 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
364 | $ hg bisect -s |
|
364 | $ hg bisect -s | |
365 | Testing changeset 4:9b2ba8336a65 (6 changesets remaining, ~2 tests) |
|
365 | Testing changeset 4:9b2ba8336a65 (6 changesets remaining, ~2 tests) | |
366 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
366 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
367 | $ hg bisect -s |
|
367 | $ hg bisect -s | |
368 | Testing changeset 1:5cd978ea5149 (6 changesets remaining, ~2 tests) |
|
368 | Testing changeset 1:5cd978ea5149 (6 changesets remaining, ~2 tests) | |
369 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
369 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
370 | $ hg bisect -s |
|
370 | $ hg bisect -s | |
371 | Testing changeset 5:7874a09ea728 (6 changesets remaining, ~2 tests) |
|
371 | Testing changeset 5:7874a09ea728 (6 changesets remaining, ~2 tests) | |
372 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
372 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
373 | $ hg bisect -g |
|
373 | $ hg bisect -g | |
374 | The first bad revision is: |
|
374 | The first bad revision is: | |
375 | changeset: 6:a3d5c6fdf0d3 |
|
375 | changeset: 6:a3d5c6fdf0d3 | |
376 | user: test |
|
376 | user: test | |
377 | date: Thu Jan 01 00:00:06 1970 +0000 |
|
377 | date: Thu Jan 01 00:00:06 1970 +0000 | |
378 | summary: msg 6 |
|
378 | summary: msg 6 | |
379 |
|
379 | |||
380 |
|
380 | |||
381 | $ set +e |
|
381 | $ set +e | |
382 |
|
382 | |||
383 | test invalid command |
|
383 | test invalid command | |
384 | assuming that the shell returns 127 if command not found ... |
|
384 | assuming that the shell returns 127 if command not found ... | |
385 |
|
385 | |||
386 | $ hg bisect -r |
|
386 | $ hg bisect -r | |
387 | $ hg bisect --command 'exit 127' |
|
387 | $ hg bisect --command 'exit 127' | |
388 | abort: failed to execute exit 127 |
|
388 | abort: failed to execute exit 127 | |
389 | [255] |
|
389 | [255] | |
390 |
|
390 | |||
391 |
|
391 | |||
392 | test bisecting command |
|
392 | test bisecting command | |
393 |
|
393 | |||
394 | $ cat > script.py <<EOF |
|
394 | $ cat > script.py <<EOF | |
395 | > #!/usr/bin/env python |
|
395 | > #!/usr/bin/env python | |
396 | > import sys |
|
396 | > import sys | |
397 | > from mercurial import ui, hg |
|
397 | > from mercurial import ui, hg | |
398 | > repo = hg.repository(ui.ui(), '.') |
|
398 | > repo = hg.repository(ui.ui(), '.') | |
399 | > if repo['.'].rev() < 6: |
|
399 | > if repo['.'].rev() < 6: | |
400 | > sys.exit(1) |
|
400 | > sys.exit(1) | |
401 | > EOF |
|
401 | > EOF | |
402 | $ chmod +x script.py |
|
402 | $ chmod +x script.py | |
403 | $ hg bisect -r |
|
403 | $ hg bisect -r | |
404 | $ hg bisect --good tip |
|
404 | $ hg bisect --good tip | |
405 | $ hg bisect --bad 0 |
|
405 | $ hg bisect --bad 0 | |
406 | Testing changeset 15:e7fa0811edb0 (31 changesets remaining, ~4 tests) |
|
406 | Testing changeset 15:e7fa0811edb0 (31 changesets remaining, ~4 tests) | |
407 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
407 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
408 | $ hg bisect --command "'`pwd`/script.py' and some parameters" |
|
408 | $ hg bisect --command "'`pwd`/script.py' and some parameters" | |
409 | Changeset 15:e7fa0811edb0: good |
|
409 | Changeset 15:e7fa0811edb0: good | |
410 | Changeset 7:03750880c6b5: good |
|
410 | Changeset 7:03750880c6b5: good | |
411 | Changeset 3:b53bea5e2fcb: bad |
|
411 | Changeset 3:b53bea5e2fcb: bad | |
412 | Changeset 5:7874a09ea728: bad |
|
412 | Changeset 5:7874a09ea728: bad | |
413 | Changeset 6:a3d5c6fdf0d3: good |
|
413 | Changeset 6:a3d5c6fdf0d3: good | |
414 | The first good revision is: |
|
414 | The first good revision is: | |
415 | changeset: 6:a3d5c6fdf0d3 |
|
415 | changeset: 6:a3d5c6fdf0d3 | |
416 | user: test |
|
416 | user: test | |
417 | date: Thu Jan 01 00:00:06 1970 +0000 |
|
417 | date: Thu Jan 01 00:00:06 1970 +0000 | |
418 | summary: msg 6 |
|
418 | summary: msg 6 | |
419 |
|
419 |
@@ -1,147 +1,145 b'' | |||||
1 | this structure seems to tickle a bug in bundle's search for |
|
1 | this structure seems to tickle a bug in bundle's search for | |
2 | changesets, so first we have to recreate it |
|
2 | changesets, so first we have to recreate it | |
3 |
|
3 | |||
4 | o 8 |
|
4 | o 8 | |
5 | | |
|
5 | | | |
6 | | o 7 |
|
6 | | o 7 | |
7 | | | |
|
7 | | | | |
8 | | o 6 |
|
8 | | o 6 | |
9 | |/| |
|
9 | |/| | |
10 | o | 5 |
|
10 | o | 5 | |
11 | | | |
|
11 | | | | |
12 | o | 4 |
|
12 | o | 4 | |
13 | | | |
|
13 | | | | |
14 | | o 3 |
|
14 | | o 3 | |
15 | | | |
|
15 | | | | |
16 | | o 2 |
|
16 | | o 2 | |
17 | |/ |
|
17 | |/ | |
18 | o 1 |
|
18 | o 1 | |
19 | | |
|
19 | | | |
20 | o 0 |
|
20 | o 0 | |
21 |
|
21 | |||
22 | $ mkrev() |
|
22 | $ mkrev() | |
23 | > { |
|
23 | > { | |
24 | > revno=$1 |
|
24 | > revno=$1 | |
25 | > echo "rev $revno" |
|
25 | > echo "rev $revno" | |
26 | > echo "rev $revno" > foo.txt |
|
26 | > echo "rev $revno" > foo.txt | |
27 | > hg -q ci -m"rev $revno" |
|
27 | > hg -q ci -m"rev $revno" | |
28 | > } |
|
28 | > } | |
29 |
|
29 | |||
30 | $ set -e |
|
|||
31 |
|
||||
32 | setup test repo1 |
|
30 | setup test repo1 | |
33 |
|
31 | |||
34 | $ hg init repo1 |
|
32 | $ hg init repo1 | |
35 | $ cd repo1 |
|
33 | $ cd repo1 | |
36 | $ echo "rev 0" > foo.txt |
|
34 | $ echo "rev 0" > foo.txt | |
37 | $ hg ci -Am"rev 0" |
|
35 | $ hg ci -Am"rev 0" | |
38 | adding foo.txt |
|
36 | adding foo.txt | |
39 | $ mkrev 1 |
|
37 | $ mkrev 1 | |
40 | rev 1 |
|
38 | rev 1 | |
41 |
|
39 | |||
42 | first branch |
|
40 | first branch | |
43 |
|
41 | |||
44 | $ mkrev 2 |
|
42 | $ mkrev 2 | |
45 | rev 2 |
|
43 | rev 2 | |
46 | $ mkrev 3 |
|
44 | $ mkrev 3 | |
47 | rev 3 |
|
45 | rev 3 | |
48 |
|
46 | |||
49 | back to rev 1 to create second branch |
|
47 | back to rev 1 to create second branch | |
50 |
|
48 | |||
51 | $ hg up -r1 |
|
49 | $ hg up -r1 | |
52 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
50 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
53 | $ mkrev 4 |
|
51 | $ mkrev 4 | |
54 | rev 4 |
|
52 | rev 4 | |
55 | $ mkrev 5 |
|
53 | $ mkrev 5 | |
56 | rev 5 |
|
54 | rev 5 | |
57 |
|
55 | |||
58 | merge first branch to second branch |
|
56 | merge first branch to second branch | |
59 |
|
57 | |||
60 | $ hg up -C -r5 |
|
58 | $ hg up -C -r5 | |
61 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
59 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
62 | $ HGMERGE=internal:local hg merge |
|
60 | $ HGMERGE=internal:local hg merge | |
63 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
61 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
64 | (branch merge, don't forget to commit) |
|
62 | (branch merge, don't forget to commit) | |
65 | $ echo "merge rev 5, rev 3" > foo.txt |
|
63 | $ echo "merge rev 5, rev 3" > foo.txt | |
66 | $ hg ci -m"merge first branch to second branch" |
|
64 | $ hg ci -m"merge first branch to second branch" | |
67 |
|
65 | |||
68 | one more commit following the merge |
|
66 | one more commit following the merge | |
69 |
|
67 | |||
70 | $ mkrev 7 |
|
68 | $ mkrev 7 | |
71 | rev 7 |
|
69 | rev 7 | |
72 |
|
70 | |||
73 | back to "second branch" to make another head |
|
71 | back to "second branch" to make another head | |
74 |
|
72 | |||
75 | $ hg up -r5 |
|
73 | $ hg up -r5 | |
76 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
74 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
77 | $ mkrev 8 |
|
75 | $ mkrev 8 | |
78 | rev 8 |
|
76 | rev 8 | |
79 |
|
77 | |||
80 | $ echo "[extensions]" >> $HGRCPATH |
|
78 | $ echo "[extensions]" >> $HGRCPATH | |
81 | $ echo "graphlog=" >> $HGRCPATH |
|
79 | $ echo "graphlog=" >> $HGRCPATH | |
82 |
|
80 | |||
83 | the story so far |
|
81 | the story so far | |
84 |
|
82 | |||
85 | $ hg glog --template "{rev}\n" |
|
83 | $ hg glog --template "{rev}\n" | |
86 | @ 8 |
|
84 | @ 8 | |
87 | | |
|
85 | | | |
88 | | o 7 |
|
86 | | o 7 | |
89 | | | |
|
87 | | | | |
90 | | o 6 |
|
88 | | o 6 | |
91 | |/| |
|
89 | |/| | |
92 | o | 5 |
|
90 | o | 5 | |
93 | | | |
|
91 | | | | |
94 | o | 4 |
|
92 | o | 4 | |
95 | | | |
|
93 | | | | |
96 | | o 3 |
|
94 | | o 3 | |
97 | | | |
|
95 | | | | |
98 | | o 2 |
|
96 | | o 2 | |
99 | |/ |
|
97 | |/ | |
100 | o 1 |
|
98 | o 1 | |
101 | | |
|
99 | | | |
102 | o 0 |
|
100 | o 0 | |
103 |
|
101 | |||
104 |
|
102 | |||
105 | check that "hg outgoing" really does the right thing |
|
103 | check that "hg outgoing" really does the right thing | |
106 |
|
104 | |||
107 | sanity check of outgoing: expect revs 4 5 6 7 8 |
|
105 | sanity check of outgoing: expect revs 4 5 6 7 8 | |
108 |
|
106 | |||
109 | $ hg clone -r3 . ../repo2 |
|
107 | $ hg clone -r3 . ../repo2 | |
110 | requesting all changes |
|
108 | requesting all changes | |
111 | adding changesets |
|
109 | adding changesets | |
112 | adding manifests |
|
110 | adding manifests | |
113 | adding file changes |
|
111 | adding file changes | |
114 | added 4 changesets with 4 changes to 1 files |
|
112 | added 4 changesets with 4 changes to 1 files | |
115 | updating to branch default |
|
113 | updating to branch default | |
116 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
114 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
117 |
|
115 | |||
118 | this should (and does) report 5 outgoing revisions: 4 5 6 7 8 |
|
116 | this should (and does) report 5 outgoing revisions: 4 5 6 7 8 | |
119 |
|
117 | |||
120 | $ hg outgoing --template "{rev}\n" ../repo2 |
|
118 | $ hg outgoing --template "{rev}\n" ../repo2 | |
121 | comparing with ../repo2 |
|
119 | comparing with ../repo2 | |
122 | searching for changes |
|
120 | searching for changes | |
123 | 4 |
|
121 | 4 | |
124 | 5 |
|
122 | 5 | |
125 | 6 |
|
123 | 6 | |
126 | 7 |
|
124 | 7 | |
127 | 8 |
|
125 | 8 | |
128 |
|
126 | |||
129 | test bundle (destination repo): expect 5 revisions |
|
127 | test bundle (destination repo): expect 5 revisions | |
130 |
|
128 | |||
131 | this should bundle the same 5 revisions that outgoing reported, but it |
|
129 | this should bundle the same 5 revisions that outgoing reported, but it | |
132 |
|
130 | |||
133 | actually bundles 7 |
|
131 | actually bundles 7 | |
134 |
|
132 | |||
135 | $ hg bundle foo.bundle ../repo2 |
|
133 | $ hg bundle foo.bundle ../repo2 | |
136 | searching for changes |
|
134 | searching for changes | |
137 | 5 changesets found |
|
135 | 5 changesets found | |
138 |
|
136 | |||
139 | test bundle (base revision): expect 5 revisions |
|
137 | test bundle (base revision): expect 5 revisions | |
140 |
|
138 | |||
141 | this should (and does) give exactly the same result as bundle |
|
139 | this should (and does) give exactly the same result as bundle | |
142 |
|
140 | |||
143 | with a destination repo... i.e. it's wrong too |
|
141 | with a destination repo... i.e. it's wrong too | |
144 |
|
142 | |||
145 | $ hg bundle --base 3 foo.bundle |
|
143 | $ hg bundle --base 3 foo.bundle | |
146 | 5 changesets found |
|
144 | 5 changesets found | |
147 |
|
145 |
@@ -1,336 +1,337 b'' | |||||
1 |
|
1 | |||
2 | $ hg init |
|
2 | $ hg init | |
3 |
|
3 | |||
4 | New file: |
|
4 | New file: | |
5 |
|
5 | |||
6 | $ hg import -d "1000000 0" -mnew - <<EOF |
|
6 | $ hg import -d "1000000 0" -mnew - <<EOF | |
7 | > diff --git a/new b/new |
|
7 | > diff --git a/new b/new | |
8 | > new file mode 100644 |
|
8 | > new file mode 100644 | |
9 | > index 0000000..7898192 |
|
9 | > index 0000000..7898192 | |
10 | > --- /dev/null |
|
10 | > --- /dev/null | |
11 | > +++ b/new |
|
11 | > +++ b/new | |
12 | > @@ -0,0 +1 @@ |
|
12 | > @@ -0,0 +1 @@ | |
13 | > +a |
|
13 | > +a | |
14 | > EOF |
|
14 | > EOF | |
15 | applying patch from stdin |
|
15 | applying patch from stdin | |
16 |
|
16 | |||
17 | $ hg tip -q |
|
17 | $ hg tip -q | |
18 | 0:ae3ee40d2079 |
|
18 | 0:ae3ee40d2079 | |
19 |
|
19 | |||
20 | New empty file: |
|
20 | New empty file: | |
21 |
|
21 | |||
22 | $ hg import -d "1000000 0" -mempty - <<EOF |
|
22 | $ hg import -d "1000000 0" -mempty - <<EOF | |
23 | > diff --git a/empty b/empty |
|
23 | > diff --git a/empty b/empty | |
24 | > new file mode 100644 |
|
24 | > new file mode 100644 | |
25 | > EOF |
|
25 | > EOF | |
26 | applying patch from stdin |
|
26 | applying patch from stdin | |
27 |
|
27 | |||
28 | $ hg tip -q |
|
28 | $ hg tip -q | |
29 | 1:ab199dc869b5 |
|
29 | 1:ab199dc869b5 | |
30 |
|
30 | |||
31 | $ hg locate empty |
|
31 | $ hg locate empty | |
32 | empty |
|
32 | empty | |
33 |
|
33 | |||
34 | chmod +x: |
|
34 | chmod +x: | |
35 |
|
35 | |||
36 | $ hg import -d "1000000 0" -msetx - <<EOF |
|
36 | $ hg import -d "1000000 0" -msetx - <<EOF | |
37 | > diff --git a/new b/new |
|
37 | > diff --git a/new b/new | |
38 | > old mode 100644 |
|
38 | > old mode 100644 | |
39 | > new mode 100755 |
|
39 | > new mode 100755 | |
40 | > EOF |
|
40 | > EOF | |
41 | applying patch from stdin |
|
41 | applying patch from stdin | |
42 |
|
42 | |||
43 | $ hg tip -q |
|
43 | $ hg tip -q | |
44 | 2:3a34410f282e |
|
44 | 2:3a34410f282e | |
45 |
|
45 | |||
46 |
$ test -x new |
|
46 | $ test -x new | |
47 |
|
47 | |||
48 | Copy: |
|
48 | Copy: | |
49 |
|
49 | |||
50 | $ hg import -d "1000000 0" -mcopy - <<EOF |
|
50 | $ hg import -d "1000000 0" -mcopy - <<EOF | |
51 | > diff --git a/new b/copy |
|
51 | > diff --git a/new b/copy | |
52 | > old mode 100755 |
|
52 | > old mode 100755 | |
53 | > new mode 100644 |
|
53 | > new mode 100644 | |
54 | > similarity index 100% |
|
54 | > similarity index 100% | |
55 | > copy from new |
|
55 | > copy from new | |
56 | > copy to copy |
|
56 | > copy to copy | |
57 | > diff --git a/new b/copyx |
|
57 | > diff --git a/new b/copyx | |
58 | > similarity index 100% |
|
58 | > similarity index 100% | |
59 | > copy from new |
|
59 | > copy from new | |
60 | > copy to copyx |
|
60 | > copy to copyx | |
61 | > EOF |
|
61 | > EOF | |
62 | applying patch from stdin |
|
62 | applying patch from stdin | |
63 |
|
63 | |||
64 | $ hg tip -q |
|
64 | $ hg tip -q | |
65 | 3:37bacb7ca14d |
|
65 | 3:37bacb7ca14d | |
66 |
|
66 | |||
67 | $ if "$TESTDIR/hghave" -q execbit; then |
|
67 | $ if "$TESTDIR/hghave" -q execbit; then | |
68 |
> test -f copy -a ! -x copy || echo |
|
68 | > test -f copy -a ! -x copy || echo bad | |
69 |
> test -x copyx || echo |
|
69 | > test -x copyx || echo bad | |
70 | > else |
|
70 | > else | |
71 |
> test -f copy || echo |
|
71 | > test -f copy || echo bad | |
72 | > fi |
|
72 | > fi | |
73 |
|
73 | |||
74 | $ cat copy |
|
74 | $ cat copy | |
75 | a |
|
75 | a | |
76 |
|
76 | |||
77 | $ hg cat copy |
|
77 | $ hg cat copy | |
78 | a |
|
78 | a | |
79 |
|
79 | |||
80 | Rename: |
|
80 | Rename: | |
81 |
|
81 | |||
82 | $ hg import -d "1000000 0" -mrename - <<EOF |
|
82 | $ hg import -d "1000000 0" -mrename - <<EOF | |
83 | > diff --git a/copy b/rename |
|
83 | > diff --git a/copy b/rename | |
84 | > similarity index 100% |
|
84 | > similarity index 100% | |
85 | > rename from copy |
|
85 | > rename from copy | |
86 | > rename to rename |
|
86 | > rename to rename | |
87 | > EOF |
|
87 | > EOF | |
88 | applying patch from stdin |
|
88 | applying patch from stdin | |
89 |
|
89 | |||
90 | $ hg tip -q |
|
90 | $ hg tip -q | |
91 | 4:47b81a94361d |
|
91 | 4:47b81a94361d | |
92 |
|
92 | |||
93 | $ hg locate |
|
93 | $ hg locate | |
94 | copyx |
|
94 | copyx | |
95 | empty |
|
95 | empty | |
96 | new |
|
96 | new | |
97 | rename |
|
97 | rename | |
98 |
|
98 | |||
99 | Delete: |
|
99 | Delete: | |
100 |
|
100 | |||
101 | $ hg import -d "1000000 0" -mdelete - <<EOF |
|
101 | $ hg import -d "1000000 0" -mdelete - <<EOF | |
102 | > diff --git a/copyx b/copyx |
|
102 | > diff --git a/copyx b/copyx | |
103 | > deleted file mode 100755 |
|
103 | > deleted file mode 100755 | |
104 | > index 7898192..0000000 |
|
104 | > index 7898192..0000000 | |
105 | > --- a/copyx |
|
105 | > --- a/copyx | |
106 | > +++ /dev/null |
|
106 | > +++ /dev/null | |
107 | > @@ -1 +0,0 @@ |
|
107 | > @@ -1 +0,0 @@ | |
108 | > -a |
|
108 | > -a | |
109 | > EOF |
|
109 | > EOF | |
110 | applying patch from stdin |
|
110 | applying patch from stdin | |
111 |
|
111 | |||
112 | $ hg tip -q |
|
112 | $ hg tip -q | |
113 | 5:d9b001d98336 |
|
113 | 5:d9b001d98336 | |
114 |
|
114 | |||
115 | $ hg locate |
|
115 | $ hg locate | |
116 | empty |
|
116 | empty | |
117 | new |
|
117 | new | |
118 | rename |
|
118 | rename | |
119 |
|
119 | |||
120 | $ test -f copyx && echo failed || true |
|
120 | $ test -f copyx | |
|
121 | [1] | |||
121 |
|
122 | |||
122 | Regular diff: |
|
123 | Regular diff: | |
123 |
|
124 | |||
124 | $ hg import -d "1000000 0" -mregular - <<EOF |
|
125 | $ hg import -d "1000000 0" -mregular - <<EOF | |
125 | > diff --git a/rename b/rename |
|
126 | > diff --git a/rename b/rename | |
126 | > index 7898192..72e1fe3 100644 |
|
127 | > index 7898192..72e1fe3 100644 | |
127 | > --- a/rename |
|
128 | > --- a/rename | |
128 | > +++ b/rename |
|
129 | > +++ b/rename | |
129 | > @@ -1 +1,5 @@ |
|
130 | > @@ -1 +1,5 @@ | |
130 | > a |
|
131 | > a | |
131 | > +a |
|
132 | > +a | |
132 | > +a |
|
133 | > +a | |
133 | > +a |
|
134 | > +a | |
134 | > +a |
|
135 | > +a | |
135 | > EOF |
|
136 | > EOF | |
136 | applying patch from stdin |
|
137 | applying patch from stdin | |
137 |
|
138 | |||
138 | $ hg tip -q |
|
139 | $ hg tip -q | |
139 | 6:ebe901e7576b |
|
140 | 6:ebe901e7576b | |
140 |
|
141 | |||
141 | Copy and modify: |
|
142 | Copy and modify: | |
142 |
|
143 | |||
143 | $ hg import -d "1000000 0" -mcopymod - <<EOF |
|
144 | $ hg import -d "1000000 0" -mcopymod - <<EOF | |
144 | > diff --git a/rename b/copy2 |
|
145 | > diff --git a/rename b/copy2 | |
145 | > similarity index 80% |
|
146 | > similarity index 80% | |
146 | > copy from rename |
|
147 | > copy from rename | |
147 | > copy to copy2 |
|
148 | > copy to copy2 | |
148 | > index 72e1fe3..b53c148 100644 |
|
149 | > index 72e1fe3..b53c148 100644 | |
149 | > --- a/rename |
|
150 | > --- a/rename | |
150 | > +++ b/copy2 |
|
151 | > +++ b/copy2 | |
151 | > @@ -1,5 +1,5 @@ |
|
152 | > @@ -1,5 +1,5 @@ | |
152 | > a |
|
153 | > a | |
153 | > a |
|
154 | > a | |
154 | > -a |
|
155 | > -a | |
155 | > +b |
|
156 | > +b | |
156 | > a |
|
157 | > a | |
157 | > a |
|
158 | > a | |
158 | > EOF |
|
159 | > EOF | |
159 | applying patch from stdin |
|
160 | applying patch from stdin | |
160 |
|
161 | |||
161 | $ hg tip -q |
|
162 | $ hg tip -q | |
162 | 7:18f368958ecd |
|
163 | 7:18f368958ecd | |
163 |
|
164 | |||
164 | $ hg cat copy2 |
|
165 | $ hg cat copy2 | |
165 | a |
|
166 | a | |
166 | a |
|
167 | a | |
167 | b |
|
168 | b | |
168 | a |
|
169 | a | |
169 | a |
|
170 | a | |
170 |
|
171 | |||
171 | Rename and modify: |
|
172 | Rename and modify: | |
172 |
|
173 | |||
173 | $ hg import -d "1000000 0" -mrenamemod - <<EOF |
|
174 | $ hg import -d "1000000 0" -mrenamemod - <<EOF | |
174 | > diff --git a/copy2 b/rename2 |
|
175 | > diff --git a/copy2 b/rename2 | |
175 | > similarity index 80% |
|
176 | > similarity index 80% | |
176 | > rename from copy2 |
|
177 | > rename from copy2 | |
177 | > rename to rename2 |
|
178 | > rename to rename2 | |
178 | > index b53c148..8f81e29 100644 |
|
179 | > index b53c148..8f81e29 100644 | |
179 | > --- a/copy2 |
|
180 | > --- a/copy2 | |
180 | > +++ b/rename2 |
|
181 | > +++ b/rename2 | |
181 | > @@ -1,5 +1,5 @@ |
|
182 | > @@ -1,5 +1,5 @@ | |
182 | > a |
|
183 | > a | |
183 | > a |
|
184 | > a | |
184 | > b |
|
185 | > b | |
185 | > -a |
|
186 | > -a | |
186 | > +c |
|
187 | > +c | |
187 | > a |
|
188 | > a | |
188 | > EOF |
|
189 | > EOF | |
189 | applying patch from stdin |
|
190 | applying patch from stdin | |
190 |
|
191 | |||
191 | $ hg tip -q |
|
192 | $ hg tip -q | |
192 | 8:c32b0d7e6f44 |
|
193 | 8:c32b0d7e6f44 | |
193 |
|
194 | |||
194 | $ hg locate copy2 |
|
195 | $ hg locate copy2 | |
195 | [1] |
|
196 | [1] | |
196 | $ hg cat rename2 |
|
197 | $ hg cat rename2 | |
197 | a |
|
198 | a | |
198 | a |
|
199 | a | |
199 | b |
|
200 | b | |
200 | c |
|
201 | c | |
201 | a |
|
202 | a | |
202 |
|
203 | |||
203 | One file renamed multiple times: |
|
204 | One file renamed multiple times: | |
204 |
|
205 | |||
205 | $ hg import -d "1000000 0" -mmultirenames - <<EOF |
|
206 | $ hg import -d "1000000 0" -mmultirenames - <<EOF | |
206 | > diff --git a/rename2 b/rename3 |
|
207 | > diff --git a/rename2 b/rename3 | |
207 | > rename from rename2 |
|
208 | > rename from rename2 | |
208 | > rename to rename3 |
|
209 | > rename to rename3 | |
209 | > diff --git a/rename2 b/rename3-2 |
|
210 | > diff --git a/rename2 b/rename3-2 | |
210 | > rename from rename2 |
|
211 | > rename from rename2 | |
211 | > rename to rename3-2 |
|
212 | > rename to rename3-2 | |
212 | > EOF |
|
213 | > EOF | |
213 | applying patch from stdin |
|
214 | applying patch from stdin | |
214 |
|
215 | |||
215 | $ hg tip -q |
|
216 | $ hg tip -q | |
216 | 9:034a6bf95330 |
|
217 | 9:034a6bf95330 | |
217 |
|
218 | |||
218 | $ hg log -vr. --template '{rev} {files} / {file_copies}\n' |
|
219 | $ hg log -vr. --template '{rev} {files} / {file_copies}\n' | |
219 | 9 rename2 rename3 rename3-2 / rename3 (rename2)rename3-2 (rename2) |
|
220 | 9 rename2 rename3 rename3-2 / rename3 (rename2)rename3-2 (rename2) | |
220 |
|
221 | |||
221 | $ hg locate rename2 rename3 rename3-2 |
|
222 | $ hg locate rename2 rename3 rename3-2 | |
222 | rename3 |
|
223 | rename3 | |
223 | rename3-2 |
|
224 | rename3-2 | |
224 |
|
225 | |||
225 | $ hg cat rename3 |
|
226 | $ hg cat rename3 | |
226 | a |
|
227 | a | |
227 | a |
|
228 | a | |
228 | b |
|
229 | b | |
229 | c |
|
230 | c | |
230 | a |
|
231 | a | |
231 |
|
232 | |||
232 | $ hg cat rename3-2 |
|
233 | $ hg cat rename3-2 | |
233 | a |
|
234 | a | |
234 | a |
|
235 | a | |
235 | b |
|
236 | b | |
236 | c |
|
237 | c | |
237 | a |
|
238 | a | |
238 |
|
239 | |||
239 | $ echo foo > foo |
|
240 | $ echo foo > foo | |
240 | $ hg add foo |
|
241 | $ hg add foo | |
241 | $ hg ci -m 'add foo' |
|
242 | $ hg ci -m 'add foo' | |
242 |
|
243 | |||
243 | Binary files and regular patch hunks: |
|
244 | Binary files and regular patch hunks: | |
244 |
|
245 | |||
245 | $ hg import -d "1000000 0" -m binaryregular - <<EOF |
|
246 | $ hg import -d "1000000 0" -m binaryregular - <<EOF | |
246 | > diff --git a/binary b/binary |
|
247 | > diff --git a/binary b/binary | |
247 | > new file mode 100644 |
|
248 | > new file mode 100644 | |
248 | > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 |
|
249 | > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 | |
249 | > GIT binary patch |
|
250 | > GIT binary patch | |
250 | > literal 4 |
|
251 | > literal 4 | |
251 | > Lc\${NkU|;|M00aO5 |
|
252 | > Lc\${NkU|;|M00aO5 | |
252 | > |
|
253 | > | |
253 | > diff --git a/foo b/foo2 |
|
254 | > diff --git a/foo b/foo2 | |
254 | > rename from foo |
|
255 | > rename from foo | |
255 | > rename to foo2 |
|
256 | > rename to foo2 | |
256 | > EOF |
|
257 | > EOF | |
257 | applying patch from stdin |
|
258 | applying patch from stdin | |
258 |
|
259 | |||
259 | $ hg tip -q |
|
260 | $ hg tip -q | |
260 | 11:c39bce63e786 |
|
261 | 11:c39bce63e786 | |
261 |
|
262 | |||
262 | $ cat foo2 |
|
263 | $ cat foo2 | |
263 | foo |
|
264 | foo | |
264 |
|
265 | |||
265 | $ hg manifest --debug | grep binary |
|
266 | $ hg manifest --debug | grep binary | |
266 | 045c85ba38952325e126c70962cc0f9d9077bc67 644 binary |
|
267 | 045c85ba38952325e126c70962cc0f9d9077bc67 644 binary | |
267 |
|
268 | |||
268 | Multiple binary files: |
|
269 | Multiple binary files: | |
269 |
|
270 | |||
270 | $ hg import -d "1000000 0" -m multibinary - <<EOF |
|
271 | $ hg import -d "1000000 0" -m multibinary - <<EOF | |
271 | > diff --git a/mbinary1 b/mbinary1 |
|
272 | > diff --git a/mbinary1 b/mbinary1 | |
272 | > new file mode 100644 |
|
273 | > new file mode 100644 | |
273 | > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 |
|
274 | > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 | |
274 | > GIT binary patch |
|
275 | > GIT binary patch | |
275 | > literal 4 |
|
276 | > literal 4 | |
276 | > Lc\${NkU|;|M00aO5 |
|
277 | > Lc\${NkU|;|M00aO5 | |
277 | > |
|
278 | > | |
278 | > diff --git a/mbinary2 b/mbinary2 |
|
279 | > diff --git a/mbinary2 b/mbinary2 | |
279 | > new file mode 100644 |
|
280 | > new file mode 100644 | |
280 | > index 0000000000000000000000000000000000000000..112363ac1917b417ffbd7f376ca786a1e5fa7490 |
|
281 | > index 0000000000000000000000000000000000000000..112363ac1917b417ffbd7f376ca786a1e5fa7490 | |
281 | > GIT binary patch |
|
282 | > GIT binary patch | |
282 | > literal 5 |
|
283 | > literal 5 | |
283 | > Mc\${NkU|\`?^000jF3jhEB |
|
284 | > Mc\${NkU|\`?^000jF3jhEB | |
284 | > |
|
285 | > | |
285 | > EOF |
|
286 | > EOF | |
286 | applying patch from stdin |
|
287 | applying patch from stdin | |
287 |
|
288 | |||
288 | $ hg tip -q |
|
289 | $ hg tip -q | |
289 | 12:30b530085242 |
|
290 | 12:30b530085242 | |
290 |
|
291 | |||
291 | $ hg manifest --debug | grep mbinary |
|
292 | $ hg manifest --debug | grep mbinary | |
292 | 045c85ba38952325e126c70962cc0f9d9077bc67 644 mbinary1 |
|
293 | 045c85ba38952325e126c70962cc0f9d9077bc67 644 mbinary1 | |
293 | a874b471193996e7cb034bb301cac7bdaf3e3f46 644 mbinary2 |
|
294 | a874b471193996e7cb034bb301cac7bdaf3e3f46 644 mbinary2 | |
294 |
|
295 | |||
295 | Filenames with spaces: |
|
296 | Filenames with spaces: | |
296 |
|
297 | |||
297 | $ hg import -d "1000000 0" -m spaces - <<EOF |
|
298 | $ hg import -d "1000000 0" -m spaces - <<EOF | |
298 | > diff --git a/foo bar b/foo bar |
|
299 | > diff --git a/foo bar b/foo bar | |
299 | > new file mode 100644 |
|
300 | > new file mode 100644 | |
300 | > index 0000000..257cc56 |
|
301 | > index 0000000..257cc56 | |
301 | > --- /dev/null |
|
302 | > --- /dev/null | |
302 | > +++ b/foo bar |
|
303 | > +++ b/foo bar | |
303 | > @@ -0,0 +1 @@ |
|
304 | > @@ -0,0 +1 @@ | |
304 | > +foo |
|
305 | > +foo | |
305 | > EOF |
|
306 | > EOF | |
306 | applying patch from stdin |
|
307 | applying patch from stdin | |
307 |
|
308 | |||
308 | $ hg tip -q |
|
309 | $ hg tip -q | |
309 | 13:04750ef42fb3 |
|
310 | 13:04750ef42fb3 | |
310 |
|
311 | |||
311 | $ cat "foo bar" |
|
312 | $ cat "foo bar" | |
312 | foo |
|
313 | foo | |
313 |
|
314 | |||
314 | Copy then modify the original file: |
|
315 | Copy then modify the original file: | |
315 |
|
316 | |||
316 | $ hg import -d "1000000 0" -m copy-mod-orig - <<EOF |
|
317 | $ hg import -d "1000000 0" -m copy-mod-orig - <<EOF | |
317 | > diff --git a/foo2 b/foo2 |
|
318 | > diff --git a/foo2 b/foo2 | |
318 | > index 257cc56..fe08ec6 100644 |
|
319 | > index 257cc56..fe08ec6 100644 | |
319 | > --- a/foo2 |
|
320 | > --- a/foo2 | |
320 | > +++ b/foo2 |
|
321 | > +++ b/foo2 | |
321 | > @@ -1 +1,2 @@ |
|
322 | > @@ -1 +1,2 @@ | |
322 | > foo |
|
323 | > foo | |
323 | > +new line |
|
324 | > +new line | |
324 | > diff --git a/foo2 b/foo3 |
|
325 | > diff --git a/foo2 b/foo3 | |
325 | > similarity index 100% |
|
326 | > similarity index 100% | |
326 | > copy from foo2 |
|
327 | > copy from foo2 | |
327 | > copy to foo3 |
|
328 | > copy to foo3 | |
328 | > EOF |
|
329 | > EOF | |
329 | applying patch from stdin |
|
330 | applying patch from stdin | |
330 |
|
331 | |||
331 | $ hg tip -q |
|
332 | $ hg tip -q | |
332 | 14:c4cd9cdeaa74 |
|
333 | 14:c4cd9cdeaa74 | |
333 |
|
334 | |||
334 | $ cat foo3 |
|
335 | $ cat foo3 | |
335 | foo |
|
336 | foo | |
336 |
|
337 |
@@ -1,881 +1,879 b'' | |||||
1 | @ (34) head |
|
1 | @ (34) head | |
2 | | |
|
2 | | | |
3 | | o (33) head |
|
3 | | o (33) head | |
4 | | | |
|
4 | | | | |
5 | o | (32) expand |
|
5 | o | (32) expand | |
6 | |\ \ |
|
6 | |\ \ | |
7 | | o \ (31) expand |
|
7 | | o \ (31) expand | |
8 | | |\ \ |
|
8 | | |\ \ | |
9 | | | o \ (30) expand |
|
9 | | | o \ (30) expand | |
10 | | | |\ \ |
|
10 | | | |\ \ | |
11 | | | | o | (29) regular commit |
|
11 | | | | o | (29) regular commit | |
12 | | | | | | |
|
12 | | | | | | | |
13 | | | o | | (28) merge zero known |
|
13 | | | o | | (28) merge zero known | |
14 | | | |\ \ \ |
|
14 | | | |\ \ \ | |
15 | o | | | | | (27) collapse |
|
15 | o | | | | | (27) collapse | |
16 | |/ / / / / |
|
16 | |/ / / / / | |
17 | | | o---+ (26) merge one known; far right |
|
17 | | | o---+ (26) merge one known; far right | |
18 | | | | | | |
|
18 | | | | | | | |
19 | +---o | | (25) merge one known; far left |
|
19 | +---o | | (25) merge one known; far left | |
20 | | | | | | |
|
20 | | | | | | | |
21 | | | o | | (24) merge one known; immediate right |
|
21 | | | o | | (24) merge one known; immediate right | |
22 | | | |\| | |
|
22 | | | |\| | | |
23 | | | o | | (23) merge one known; immediate left |
|
23 | | | o | | (23) merge one known; immediate left | |
24 | | |/| | | |
|
24 | | |/| | | | |
25 | +---o---+ (22) merge two known; one far left, one far right |
|
25 | +---o---+ (22) merge two known; one far left, one far right | |
26 | | | / / |
|
26 | | | / / | |
27 | o | | | (21) expand |
|
27 | o | | | (21) expand | |
28 | |\ \ \ \ |
|
28 | |\ \ \ \ | |
29 | | o---+-+ (20) merge two known; two far right |
|
29 | | o---+-+ (20) merge two known; two far right | |
30 | | / / / |
|
30 | | / / / | |
31 | o | | | (19) expand |
|
31 | o | | | (19) expand | |
32 | |\ \ \ \ |
|
32 | |\ \ \ \ | |
33 | +---+---o (18) merge two known; two far left |
|
33 | +---+---o (18) merge two known; two far left | |
34 | | | | | |
|
34 | | | | | | |
35 | | o | | (17) expand |
|
35 | | o | | (17) expand | |
36 | | |\ \ \ |
|
36 | | |\ \ \ | |
37 | | | o---+ (16) merge two known; one immediate right, one near right |
|
37 | | | o---+ (16) merge two known; one immediate right, one near right | |
38 | | | |/ / |
|
38 | | | |/ / | |
39 | o | | | (15) expand |
|
39 | o | | | (15) expand | |
40 | |\ \ \ \ |
|
40 | |\ \ \ \ | |
41 | | o-----+ (14) merge two known; one immediate right, one far right |
|
41 | | o-----+ (14) merge two known; one immediate right, one far right | |
42 | | |/ / / |
|
42 | | |/ / / | |
43 | o | | | (13) expand |
|
43 | o | | | (13) expand | |
44 | |\ \ \ \ |
|
44 | |\ \ \ \ | |
45 | +---o | | (12) merge two known; one immediate right, one far left |
|
45 | +---o | | (12) merge two known; one immediate right, one far left | |
46 | | | |/ / |
|
46 | | | |/ / | |
47 | | o | | (11) expand |
|
47 | | o | | (11) expand | |
48 | | |\ \ \ |
|
48 | | |\ \ \ | |
49 | | | o---+ (10) merge two known; one immediate left, one near right |
|
49 | | | o---+ (10) merge two known; one immediate left, one near right | |
50 | | |/ / / |
|
50 | | |/ / / | |
51 | o | | | (9) expand |
|
51 | o | | | (9) expand | |
52 | |\ \ \ \ |
|
52 | |\ \ \ \ | |
53 | | o-----+ (8) merge two known; one immediate left, one far right |
|
53 | | o-----+ (8) merge two known; one immediate left, one far right | |
54 | |/ / / / |
|
54 | |/ / / / | |
55 | o | | | (7) expand |
|
55 | o | | | (7) expand | |
56 | |\ \ \ \ |
|
56 | |\ \ \ \ | |
57 | +---o | | (6) merge two known; one immediate left, one far left |
|
57 | +---o | | (6) merge two known; one immediate left, one far left | |
58 | | |/ / / |
|
58 | | |/ / / | |
59 | | o | | (5) expand |
|
59 | | o | | (5) expand | |
60 | | |\ \ \ |
|
60 | | |\ \ \ | |
61 | | | o | | (4) merge two known; one immediate left, one immediate right |
|
61 | | | o | | (4) merge two known; one immediate left, one immediate right | |
62 | | |/|/ / |
|
62 | | |/|/ / | |
63 | | o / / (3) collapse |
|
63 | | o / / (3) collapse | |
64 | |/ / / |
|
64 | |/ / / | |
65 | o / / (2) collapse |
|
65 | o / / (2) collapse | |
66 | |/ / |
|
66 | |/ / | |
67 | o / (1) collapse |
|
67 | o / (1) collapse | |
68 | |/ |
|
68 | |/ | |
69 | o (0) root |
|
69 | o (0) root | |
70 |
|
70 | |||
71 |
|
71 | |||
72 | $ "$TESTDIR/hghave" no-outer-repo || exit 80 |
|
72 | $ "$TESTDIR/hghave" no-outer-repo || exit 80 | |
73 |
|
73 | |||
74 | $ set -e |
|
|||
75 |
|
||||
76 | $ commit() |
|
74 | $ commit() | |
77 | > { |
|
75 | > { | |
78 | > rev=$1 |
|
76 | > rev=$1 | |
79 | > msg=$2 |
|
77 | > msg=$2 | |
80 | > shift 2 |
|
78 | > shift 2 | |
81 | > if [ "$#" -gt 0 ]; then |
|
79 | > if [ "$#" -gt 0 ]; then | |
82 | > hg debugsetparents "$@" |
|
80 | > hg debugsetparents "$@" | |
83 | > fi |
|
81 | > fi | |
84 | > echo $rev > a |
|
82 | > echo $rev > a | |
85 | > hg commit -Aqd "$rev 0" -m "($rev) $msg" |
|
83 | > hg commit -Aqd "$rev 0" -m "($rev) $msg" | |
86 | > } |
|
84 | > } | |
87 |
|
85 | |||
88 | $ echo "[extensions]" >> $HGRCPATH |
|
86 | $ echo "[extensions]" >> $HGRCPATH | |
89 | $ echo "graphlog=" >> $HGRCPATH |
|
87 | $ echo "graphlog=" >> $HGRCPATH | |
90 |
|
88 | |||
91 | $ hg init repo |
|
89 | $ hg init repo | |
92 | $ cd repo |
|
90 | $ cd repo | |
93 |
|
91 | |||
94 | Empty repo: |
|
92 | Empty repo: | |
95 |
|
93 | |||
96 | $ hg glog |
|
94 | $ hg glog | |
97 |
|
95 | |||
98 |
|
96 | |||
99 | Building DAG: |
|
97 | Building DAG: | |
100 |
|
98 | |||
101 | $ commit 0 "root" |
|
99 | $ commit 0 "root" | |
102 | $ commit 1 "collapse" 0 |
|
100 | $ commit 1 "collapse" 0 | |
103 | $ commit 2 "collapse" 1 |
|
101 | $ commit 2 "collapse" 1 | |
104 | $ commit 3 "collapse" 2 |
|
102 | $ commit 3 "collapse" 2 | |
105 | $ commit 4 "merge two known; one immediate left, one immediate right" 1 3 |
|
103 | $ commit 4 "merge two known; one immediate left, one immediate right" 1 3 | |
106 | $ commit 5 "expand" 3 4 |
|
104 | $ commit 5 "expand" 3 4 | |
107 | $ commit 6 "merge two known; one immediate left, one far left" 2 5 |
|
105 | $ commit 6 "merge two known; one immediate left, one far left" 2 5 | |
108 | $ commit 7 "expand" 2 5 |
|
106 | $ commit 7 "expand" 2 5 | |
109 | $ commit 8 "merge two known; one immediate left, one far right" 0 7 |
|
107 | $ commit 8 "merge two known; one immediate left, one far right" 0 7 | |
110 | $ commit 9 "expand" 7 8 |
|
108 | $ commit 9 "expand" 7 8 | |
111 | $ commit 10 "merge two known; one immediate left, one near right" 0 6 |
|
109 | $ commit 10 "merge two known; one immediate left, one near right" 0 6 | |
112 | $ commit 11 "expand" 6 10 |
|
110 | $ commit 11 "expand" 6 10 | |
113 | $ commit 12 "merge two known; one immediate right, one far left" 1 9 |
|
111 | $ commit 12 "merge two known; one immediate right, one far left" 1 9 | |
114 | $ commit 13 "expand" 9 11 |
|
112 | $ commit 13 "expand" 9 11 | |
115 | $ commit 14 "merge two known; one immediate right, one far right" 0 12 |
|
113 | $ commit 14 "merge two known; one immediate right, one far right" 0 12 | |
116 | $ commit 15 "expand" 13 14 |
|
114 | $ commit 15 "expand" 13 14 | |
117 | $ commit 16 "merge two known; one immediate right, one near right" 0 1 |
|
115 | $ commit 16 "merge two known; one immediate right, one near right" 0 1 | |
118 | $ commit 17 "expand" 12 16 |
|
116 | $ commit 17 "expand" 12 16 | |
119 | $ commit 18 "merge two known; two far left" 1 15 |
|
117 | $ commit 18 "merge two known; two far left" 1 15 | |
120 | $ commit 19 "expand" 15 17 |
|
118 | $ commit 19 "expand" 15 17 | |
121 | $ commit 20 "merge two known; two far right" 0 18 |
|
119 | $ commit 20 "merge two known; two far right" 0 18 | |
122 | $ commit 21 "expand" 19 20 |
|
120 | $ commit 21 "expand" 19 20 | |
123 | $ commit 22 "merge two known; one far left, one far right" 18 21 |
|
121 | $ commit 22 "merge two known; one far left, one far right" 18 21 | |
124 | $ commit 23 "merge one known; immediate left" 1 22 |
|
122 | $ commit 23 "merge one known; immediate left" 1 22 | |
125 | $ commit 24 "merge one known; immediate right" 0 23 |
|
123 | $ commit 24 "merge one known; immediate right" 0 23 | |
126 | $ commit 25 "merge one known; far left" 21 24 |
|
124 | $ commit 25 "merge one known; far left" 21 24 | |
127 | $ commit 26 "merge one known; far right" 18 25 |
|
125 | $ commit 26 "merge one known; far right" 18 25 | |
128 | $ commit 27 "collapse" 21 |
|
126 | $ commit 27 "collapse" 21 | |
129 | $ commit 28 "merge zero known" 1 26 |
|
127 | $ commit 28 "merge zero known" 1 26 | |
130 | $ commit 29 "regular commit" 0 |
|
128 | $ commit 29 "regular commit" 0 | |
131 | $ commit 30 "expand" 28 29 |
|
129 | $ commit 30 "expand" 28 29 | |
132 | $ commit 31 "expand" 21 30 |
|
130 | $ commit 31 "expand" 21 30 | |
133 | $ commit 32 "expand" 27 31 |
|
131 | $ commit 32 "expand" 27 31 | |
134 | $ commit 33 "head" 18 |
|
132 | $ commit 33 "head" 18 | |
135 | $ commit 34 "head" 32 |
|
133 | $ commit 34 "head" 32 | |
136 |
|
134 | |||
137 |
|
135 | |||
138 | $ hg glog -q |
|
136 | $ hg glog -q | |
139 | @ 34:fea3ac5810e0 |
|
137 | @ 34:fea3ac5810e0 | |
140 | | |
|
138 | | | |
141 | | o 33:68608f5145f9 |
|
139 | | o 33:68608f5145f9 | |
142 | | | |
|
140 | | | | |
143 | o | 32:d06dffa21a31 |
|
141 | o | 32:d06dffa21a31 | |
144 | |\ \ |
|
142 | |\ \ | |
145 | | o \ 31:621d83e11f67 |
|
143 | | o \ 31:621d83e11f67 | |
146 | | |\ \ |
|
144 | | |\ \ | |
147 | | | o \ 30:6e11cd4b648f |
|
145 | | | o \ 30:6e11cd4b648f | |
148 | | | |\ \ |
|
146 | | | |\ \ | |
149 | | | | o | 29:cd9bb2be7593 |
|
147 | | | | o | 29:cd9bb2be7593 | |
150 | | | | | | |
|
148 | | | | | | | |
151 | | | o | | 28:44ecd0b9ae99 |
|
149 | | | o | | 28:44ecd0b9ae99 | |
152 | | | |\ \ \ |
|
150 | | | |\ \ \ | |
153 | o | | | | | 27:886ed638191b |
|
151 | o | | | | | 27:886ed638191b | |
154 | |/ / / / / |
|
152 | |/ / / / / | |
155 | | | o---+ 26:7f25b6c2f0b9 |
|
153 | | | o---+ 26:7f25b6c2f0b9 | |
156 | | | | | | |
|
154 | | | | | | | |
157 | +---o | | 25:91da8ed57247 |
|
155 | +---o | | 25:91da8ed57247 | |
158 | | | | | | |
|
156 | | | | | | | |
159 | | | o | | 24:a9c19a3d96b7 |
|
157 | | | o | | 24:a9c19a3d96b7 | |
160 | | | |\| | |
|
158 | | | |\| | | |
161 | | | o | | 23:a01cddf0766d |
|
159 | | | o | | 23:a01cddf0766d | |
162 | | |/| | | |
|
160 | | |/| | | | |
163 | +---o---+ 22:e0d9cccacb5d |
|
161 | +---o---+ 22:e0d9cccacb5d | |
164 | | | / / |
|
162 | | | / / | |
165 | o | | | 21:d42a756af44d |
|
163 | o | | | 21:d42a756af44d | |
166 | |\ \ \ \ |
|
164 | |\ \ \ \ | |
167 | | o---+-+ 20:d30ed6450e32 |
|
165 | | o---+-+ 20:d30ed6450e32 | |
168 | | / / / |
|
166 | | / / / | |
169 | o | | | 19:31ddc2c1573b |
|
167 | o | | | 19:31ddc2c1573b | |
170 | |\ \ \ \ |
|
168 | |\ \ \ \ | |
171 | +---+---o 18:1aa84d96232a |
|
169 | +---+---o 18:1aa84d96232a | |
172 | | | | | |
|
170 | | | | | | |
173 | | o | | 17:44765d7c06e0 |
|
171 | | o | | 17:44765d7c06e0 | |
174 | | |\ \ \ |
|
172 | | |\ \ \ | |
175 | | | o---+ 16:3677d192927d |
|
173 | | | o---+ 16:3677d192927d | |
176 | | | |/ / |
|
174 | | | |/ / | |
177 | o | | | 15:1dda3f72782d |
|
175 | o | | | 15:1dda3f72782d | |
178 | |\ \ \ \ |
|
176 | |\ \ \ \ | |
179 | | o-----+ 14:8eac370358ef |
|
177 | | o-----+ 14:8eac370358ef | |
180 | | |/ / / |
|
178 | | |/ / / | |
181 | o | | | 13:22d8966a97e3 |
|
179 | o | | | 13:22d8966a97e3 | |
182 | |\ \ \ \ |
|
180 | |\ \ \ \ | |
183 | +---o | | 12:86b91144a6e9 |
|
181 | +---o | | 12:86b91144a6e9 | |
184 | | | |/ / |
|
182 | | | |/ / | |
185 | | o | | 11:832d76e6bdf2 |
|
183 | | o | | 11:832d76e6bdf2 | |
186 | | |\ \ \ |
|
184 | | |\ \ \ | |
187 | | | o---+ 10:74c64d036d72 |
|
185 | | | o---+ 10:74c64d036d72 | |
188 | | |/ / / |
|
186 | | |/ / / | |
189 | o | | | 9:7010c0af0a35 |
|
187 | o | | | 9:7010c0af0a35 | |
190 | |\ \ \ \ |
|
188 | |\ \ \ \ | |
191 | | o-----+ 8:7a0b11f71937 |
|
189 | | o-----+ 8:7a0b11f71937 | |
192 | |/ / / / |
|
190 | |/ / / / | |
193 | o | | | 7:b632bb1b1224 |
|
191 | o | | | 7:b632bb1b1224 | |
194 | |\ \ \ \ |
|
192 | |\ \ \ \ | |
195 | +---o | | 6:b105a072e251 |
|
193 | +---o | | 6:b105a072e251 | |
196 | | |/ / / |
|
194 | | |/ / / | |
197 | | o | | 5:4409d547b708 |
|
195 | | o | | 5:4409d547b708 | |
198 | | |\ \ \ |
|
196 | | |\ \ \ | |
199 | | | o | | 4:26a8bac39d9f |
|
197 | | | o | | 4:26a8bac39d9f | |
200 | | |/|/ / |
|
198 | | |/|/ / | |
201 | | o / / 3:27eef8ed80b4 |
|
199 | | o / / 3:27eef8ed80b4 | |
202 | |/ / / |
|
200 | |/ / / | |
203 | o / / 2:3d9a33b8d1e1 |
|
201 | o / / 2:3d9a33b8d1e1 | |
204 | |/ / |
|
202 | |/ / | |
205 | o / 1:6db2ef61d156 |
|
203 | o / 1:6db2ef61d156 | |
206 | |/ |
|
204 | |/ | |
207 | o 0:e6eb3150255d |
|
205 | o 0:e6eb3150255d | |
208 |
|
206 | |||
209 |
|
207 | |||
210 | $ hg glog |
|
208 | $ hg glog | |
211 | @ changeset: 34:fea3ac5810e0 |
|
209 | @ changeset: 34:fea3ac5810e0 | |
212 | | tag: tip |
|
210 | | tag: tip | |
213 | | parent: 32:d06dffa21a31 |
|
211 | | parent: 32:d06dffa21a31 | |
214 | | user: test |
|
212 | | user: test | |
215 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
213 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
216 | | summary: (34) head |
|
214 | | summary: (34) head | |
217 | | |
|
215 | | | |
218 | | o changeset: 33:68608f5145f9 |
|
216 | | o changeset: 33:68608f5145f9 | |
219 | | | parent: 18:1aa84d96232a |
|
217 | | | parent: 18:1aa84d96232a | |
220 | | | user: test |
|
218 | | | user: test | |
221 | | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
219 | | | date: Thu Jan 01 00:00:33 1970 +0000 | |
222 | | | summary: (33) head |
|
220 | | | summary: (33) head | |
223 | | | |
|
221 | | | | |
224 | o | changeset: 32:d06dffa21a31 |
|
222 | o | changeset: 32:d06dffa21a31 | |
225 | |\ \ parent: 27:886ed638191b |
|
223 | |\ \ parent: 27:886ed638191b | |
226 | | | | parent: 31:621d83e11f67 |
|
224 | | | | parent: 31:621d83e11f67 | |
227 | | | | user: test |
|
225 | | | | user: test | |
228 | | | | date: Thu Jan 01 00:00:32 1970 +0000 |
|
226 | | | | date: Thu Jan 01 00:00:32 1970 +0000 | |
229 | | | | summary: (32) expand |
|
227 | | | | summary: (32) expand | |
230 | | | | |
|
228 | | | | | |
231 | | o | changeset: 31:621d83e11f67 |
|
229 | | o | changeset: 31:621d83e11f67 | |
232 | | |\ \ parent: 21:d42a756af44d |
|
230 | | |\ \ parent: 21:d42a756af44d | |
233 | | | | | parent: 30:6e11cd4b648f |
|
231 | | | | | parent: 30:6e11cd4b648f | |
234 | | | | | user: test |
|
232 | | | | | user: test | |
235 | | | | | date: Thu Jan 01 00:00:31 1970 +0000 |
|
233 | | | | | date: Thu Jan 01 00:00:31 1970 +0000 | |
236 | | | | | summary: (31) expand |
|
234 | | | | | summary: (31) expand | |
237 | | | | | |
|
235 | | | | | | |
238 | | | o | changeset: 30:6e11cd4b648f |
|
236 | | | o | changeset: 30:6e11cd4b648f | |
239 | | | |\ \ parent: 28:44ecd0b9ae99 |
|
237 | | | |\ \ parent: 28:44ecd0b9ae99 | |
240 | | | | | | parent: 29:cd9bb2be7593 |
|
238 | | | | | | parent: 29:cd9bb2be7593 | |
241 | | | | | | user: test |
|
239 | | | | | | user: test | |
242 | | | | | | date: Thu Jan 01 00:00:30 1970 +0000 |
|
240 | | | | | | date: Thu Jan 01 00:00:30 1970 +0000 | |
243 | | | | | | summary: (30) expand |
|
241 | | | | | | summary: (30) expand | |
244 | | | | | | |
|
242 | | | | | | | |
245 | | | | o | changeset: 29:cd9bb2be7593 |
|
243 | | | | o | changeset: 29:cd9bb2be7593 | |
246 | | | | | | parent: 0:e6eb3150255d |
|
244 | | | | | | parent: 0:e6eb3150255d | |
247 | | | | | | user: test |
|
245 | | | | | | user: test | |
248 | | | | | | date: Thu Jan 01 00:00:29 1970 +0000 |
|
246 | | | | | | date: Thu Jan 01 00:00:29 1970 +0000 | |
249 | | | | | | summary: (29) regular commit |
|
247 | | | | | | summary: (29) regular commit | |
250 | | | | | | |
|
248 | | | | | | | |
251 | | | o | | changeset: 28:44ecd0b9ae99 |
|
249 | | | o | | changeset: 28:44ecd0b9ae99 | |
252 | | | |\ \ \ parent: 1:6db2ef61d156 |
|
250 | | | |\ \ \ parent: 1:6db2ef61d156 | |
253 | | | | | | | parent: 26:7f25b6c2f0b9 |
|
251 | | | | | | | parent: 26:7f25b6c2f0b9 | |
254 | | | | | | | user: test |
|
252 | | | | | | | user: test | |
255 | | | | | | | date: Thu Jan 01 00:00:28 1970 +0000 |
|
253 | | | | | | | date: Thu Jan 01 00:00:28 1970 +0000 | |
256 | | | | | | | summary: (28) merge zero known |
|
254 | | | | | | | summary: (28) merge zero known | |
257 | | | | | | | |
|
255 | | | | | | | | |
258 | o | | | | | changeset: 27:886ed638191b |
|
256 | o | | | | | changeset: 27:886ed638191b | |
259 | |/ / / / / parent: 21:d42a756af44d |
|
257 | |/ / / / / parent: 21:d42a756af44d | |
260 | | | | | | user: test |
|
258 | | | | | | user: test | |
261 | | | | | | date: Thu Jan 01 00:00:27 1970 +0000 |
|
259 | | | | | | date: Thu Jan 01 00:00:27 1970 +0000 | |
262 | | | | | | summary: (27) collapse |
|
260 | | | | | | summary: (27) collapse | |
263 | | | | | | |
|
261 | | | | | | | |
264 | | | o---+ changeset: 26:7f25b6c2f0b9 |
|
262 | | | o---+ changeset: 26:7f25b6c2f0b9 | |
265 | | | | | | parent: 18:1aa84d96232a |
|
263 | | | | | | parent: 18:1aa84d96232a | |
266 | | | | | | parent: 25:91da8ed57247 |
|
264 | | | | | | parent: 25:91da8ed57247 | |
267 | | | | | | user: test |
|
265 | | | | | | user: test | |
268 | | | | | | date: Thu Jan 01 00:00:26 1970 +0000 |
|
266 | | | | | | date: Thu Jan 01 00:00:26 1970 +0000 | |
269 | | | | | | summary: (26) merge one known; far right |
|
267 | | | | | | summary: (26) merge one known; far right | |
270 | | | | | | |
|
268 | | | | | | | |
271 | +---o | | changeset: 25:91da8ed57247 |
|
269 | +---o | | changeset: 25:91da8ed57247 | |
272 | | | | | | parent: 21:d42a756af44d |
|
270 | | | | | | parent: 21:d42a756af44d | |
273 | | | | | | parent: 24:a9c19a3d96b7 |
|
271 | | | | | | parent: 24:a9c19a3d96b7 | |
274 | | | | | | user: test |
|
272 | | | | | | user: test | |
275 | | | | | | date: Thu Jan 01 00:00:25 1970 +0000 |
|
273 | | | | | | date: Thu Jan 01 00:00:25 1970 +0000 | |
276 | | | | | | summary: (25) merge one known; far left |
|
274 | | | | | | summary: (25) merge one known; far left | |
277 | | | | | | |
|
275 | | | | | | | |
278 | | | o | | changeset: 24:a9c19a3d96b7 |
|
276 | | | o | | changeset: 24:a9c19a3d96b7 | |
279 | | | |\| | parent: 0:e6eb3150255d |
|
277 | | | |\| | parent: 0:e6eb3150255d | |
280 | | | | | | parent: 23:a01cddf0766d |
|
278 | | | | | | parent: 23:a01cddf0766d | |
281 | | | | | | user: test |
|
279 | | | | | | user: test | |
282 | | | | | | date: Thu Jan 01 00:00:24 1970 +0000 |
|
280 | | | | | | date: Thu Jan 01 00:00:24 1970 +0000 | |
283 | | | | | | summary: (24) merge one known; immediate right |
|
281 | | | | | | summary: (24) merge one known; immediate right | |
284 | | | | | | |
|
282 | | | | | | | |
285 | | | o | | changeset: 23:a01cddf0766d |
|
283 | | | o | | changeset: 23:a01cddf0766d | |
286 | | |/| | | parent: 1:6db2ef61d156 |
|
284 | | |/| | | parent: 1:6db2ef61d156 | |
287 | | | | | | parent: 22:e0d9cccacb5d |
|
285 | | | | | | parent: 22:e0d9cccacb5d | |
288 | | | | | | user: test |
|
286 | | | | | | user: test | |
289 | | | | | | date: Thu Jan 01 00:00:23 1970 +0000 |
|
287 | | | | | | date: Thu Jan 01 00:00:23 1970 +0000 | |
290 | | | | | | summary: (23) merge one known; immediate left |
|
288 | | | | | | summary: (23) merge one known; immediate left | |
291 | | | | | | |
|
289 | | | | | | | |
292 | +---o---+ changeset: 22:e0d9cccacb5d |
|
290 | +---o---+ changeset: 22:e0d9cccacb5d | |
293 | | | | | parent: 18:1aa84d96232a |
|
291 | | | | | parent: 18:1aa84d96232a | |
294 | | | / / parent: 21:d42a756af44d |
|
292 | | | / / parent: 21:d42a756af44d | |
295 | | | | | user: test |
|
293 | | | | | user: test | |
296 | | | | | date: Thu Jan 01 00:00:22 1970 +0000 |
|
294 | | | | | date: Thu Jan 01 00:00:22 1970 +0000 | |
297 | | | | | summary: (22) merge two known; one far left, one far right |
|
295 | | | | | summary: (22) merge two known; one far left, one far right | |
298 | | | | | |
|
296 | | | | | | |
299 | o | | | changeset: 21:d42a756af44d |
|
297 | o | | | changeset: 21:d42a756af44d | |
300 | |\ \ \ \ parent: 19:31ddc2c1573b |
|
298 | |\ \ \ \ parent: 19:31ddc2c1573b | |
301 | | | | | | parent: 20:d30ed6450e32 |
|
299 | | | | | | parent: 20:d30ed6450e32 | |
302 | | | | | | user: test |
|
300 | | | | | | user: test | |
303 | | | | | | date: Thu Jan 01 00:00:21 1970 +0000 |
|
301 | | | | | | date: Thu Jan 01 00:00:21 1970 +0000 | |
304 | | | | | | summary: (21) expand |
|
302 | | | | | | summary: (21) expand | |
305 | | | | | | |
|
303 | | | | | | | |
306 | | o---+-+ changeset: 20:d30ed6450e32 |
|
304 | | o---+-+ changeset: 20:d30ed6450e32 | |
307 | | | | | parent: 0:e6eb3150255d |
|
305 | | | | | parent: 0:e6eb3150255d | |
308 | | / / / parent: 18:1aa84d96232a |
|
306 | | / / / parent: 18:1aa84d96232a | |
309 | | | | | user: test |
|
307 | | | | | user: test | |
310 | | | | | date: Thu Jan 01 00:00:20 1970 +0000 |
|
308 | | | | | date: Thu Jan 01 00:00:20 1970 +0000 | |
311 | | | | | summary: (20) merge two known; two far right |
|
309 | | | | | summary: (20) merge two known; two far right | |
312 | | | | | |
|
310 | | | | | | |
313 | o | | | changeset: 19:31ddc2c1573b |
|
311 | o | | | changeset: 19:31ddc2c1573b | |
314 | |\ \ \ \ parent: 15:1dda3f72782d |
|
312 | |\ \ \ \ parent: 15:1dda3f72782d | |
315 | | | | | | parent: 17:44765d7c06e0 |
|
313 | | | | | | parent: 17:44765d7c06e0 | |
316 | | | | | | user: test |
|
314 | | | | | | user: test | |
317 | | | | | | date: Thu Jan 01 00:00:19 1970 +0000 |
|
315 | | | | | | date: Thu Jan 01 00:00:19 1970 +0000 | |
318 | | | | | | summary: (19) expand |
|
316 | | | | | | summary: (19) expand | |
319 | | | | | | |
|
317 | | | | | | | |
320 | +---+---o changeset: 18:1aa84d96232a |
|
318 | +---+---o changeset: 18:1aa84d96232a | |
321 | | | | | parent: 1:6db2ef61d156 |
|
319 | | | | | parent: 1:6db2ef61d156 | |
322 | | | | | parent: 15:1dda3f72782d |
|
320 | | | | | parent: 15:1dda3f72782d | |
323 | | | | | user: test |
|
321 | | | | | user: test | |
324 | | | | | date: Thu Jan 01 00:00:18 1970 +0000 |
|
322 | | | | | date: Thu Jan 01 00:00:18 1970 +0000 | |
325 | | | | | summary: (18) merge two known; two far left |
|
323 | | | | | summary: (18) merge two known; two far left | |
326 | | | | | |
|
324 | | | | | | |
327 | | o | | changeset: 17:44765d7c06e0 |
|
325 | | o | | changeset: 17:44765d7c06e0 | |
328 | | |\ \ \ parent: 12:86b91144a6e9 |
|
326 | | |\ \ \ parent: 12:86b91144a6e9 | |
329 | | | | | | parent: 16:3677d192927d |
|
327 | | | | | | parent: 16:3677d192927d | |
330 | | | | | | user: test |
|
328 | | | | | | user: test | |
331 | | | | | | date: Thu Jan 01 00:00:17 1970 +0000 |
|
329 | | | | | | date: Thu Jan 01 00:00:17 1970 +0000 | |
332 | | | | | | summary: (17) expand |
|
330 | | | | | | summary: (17) expand | |
333 | | | | | | |
|
331 | | | | | | | |
334 | | | o---+ changeset: 16:3677d192927d |
|
332 | | | o---+ changeset: 16:3677d192927d | |
335 | | | | | | parent: 0:e6eb3150255d |
|
333 | | | | | | parent: 0:e6eb3150255d | |
336 | | | |/ / parent: 1:6db2ef61d156 |
|
334 | | | |/ / parent: 1:6db2ef61d156 | |
337 | | | | | user: test |
|
335 | | | | | user: test | |
338 | | | | | date: Thu Jan 01 00:00:16 1970 +0000 |
|
336 | | | | | date: Thu Jan 01 00:00:16 1970 +0000 | |
339 | | | | | summary: (16) merge two known; one immediate right, one near right |
|
337 | | | | | summary: (16) merge two known; one immediate right, one near right | |
340 | | | | | |
|
338 | | | | | | |
341 | o | | | changeset: 15:1dda3f72782d |
|
339 | o | | | changeset: 15:1dda3f72782d | |
342 | |\ \ \ \ parent: 13:22d8966a97e3 |
|
340 | |\ \ \ \ parent: 13:22d8966a97e3 | |
343 | | | | | | parent: 14:8eac370358ef |
|
341 | | | | | | parent: 14:8eac370358ef | |
344 | | | | | | user: test |
|
342 | | | | | | user: test | |
345 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000 |
|
343 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000 | |
346 | | | | | | summary: (15) expand |
|
344 | | | | | | summary: (15) expand | |
347 | | | | | | |
|
345 | | | | | | | |
348 | | o-----+ changeset: 14:8eac370358ef |
|
346 | | o-----+ changeset: 14:8eac370358ef | |
349 | | | | | | parent: 0:e6eb3150255d |
|
347 | | | | | | parent: 0:e6eb3150255d | |
350 | | |/ / / parent: 12:86b91144a6e9 |
|
348 | | |/ / / parent: 12:86b91144a6e9 | |
351 | | | | | user: test |
|
349 | | | | | user: test | |
352 | | | | | date: Thu Jan 01 00:00:14 1970 +0000 |
|
350 | | | | | date: Thu Jan 01 00:00:14 1970 +0000 | |
353 | | | | | summary: (14) merge two known; one immediate right, one far right |
|
351 | | | | | summary: (14) merge two known; one immediate right, one far right | |
354 | | | | | |
|
352 | | | | | | |
355 | o | | | changeset: 13:22d8966a97e3 |
|
353 | o | | | changeset: 13:22d8966a97e3 | |
356 | |\ \ \ \ parent: 9:7010c0af0a35 |
|
354 | |\ \ \ \ parent: 9:7010c0af0a35 | |
357 | | | | | | parent: 11:832d76e6bdf2 |
|
355 | | | | | | parent: 11:832d76e6bdf2 | |
358 | | | | | | user: test |
|
356 | | | | | | user: test | |
359 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000 |
|
357 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000 | |
360 | | | | | | summary: (13) expand |
|
358 | | | | | | summary: (13) expand | |
361 | | | | | | |
|
359 | | | | | | | |
362 | +---o | | changeset: 12:86b91144a6e9 |
|
360 | +---o | | changeset: 12:86b91144a6e9 | |
363 | | | |/ / parent: 1:6db2ef61d156 |
|
361 | | | |/ / parent: 1:6db2ef61d156 | |
364 | | | | | parent: 9:7010c0af0a35 |
|
362 | | | | | parent: 9:7010c0af0a35 | |
365 | | | | | user: test |
|
363 | | | | | user: test | |
366 | | | | | date: Thu Jan 01 00:00:12 1970 +0000 |
|
364 | | | | | date: Thu Jan 01 00:00:12 1970 +0000 | |
367 | | | | | summary: (12) merge two known; one immediate right, one far left |
|
365 | | | | | summary: (12) merge two known; one immediate right, one far left | |
368 | | | | | |
|
366 | | | | | | |
369 | | o | | changeset: 11:832d76e6bdf2 |
|
367 | | o | | changeset: 11:832d76e6bdf2 | |
370 | | |\ \ \ parent: 6:b105a072e251 |
|
368 | | |\ \ \ parent: 6:b105a072e251 | |
371 | | | | | | parent: 10:74c64d036d72 |
|
369 | | | | | | parent: 10:74c64d036d72 | |
372 | | | | | | user: test |
|
370 | | | | | | user: test | |
373 | | | | | | date: Thu Jan 01 00:00:11 1970 +0000 |
|
371 | | | | | | date: Thu Jan 01 00:00:11 1970 +0000 | |
374 | | | | | | summary: (11) expand |
|
372 | | | | | | summary: (11) expand | |
375 | | | | | | |
|
373 | | | | | | | |
376 | | | o---+ changeset: 10:74c64d036d72 |
|
374 | | | o---+ changeset: 10:74c64d036d72 | |
377 | | | | | | parent: 0:e6eb3150255d |
|
375 | | | | | | parent: 0:e6eb3150255d | |
378 | | |/ / / parent: 6:b105a072e251 |
|
376 | | |/ / / parent: 6:b105a072e251 | |
379 | | | | | user: test |
|
377 | | | | | user: test | |
380 | | | | | date: Thu Jan 01 00:00:10 1970 +0000 |
|
378 | | | | | date: Thu Jan 01 00:00:10 1970 +0000 | |
381 | | | | | summary: (10) merge two known; one immediate left, one near right |
|
379 | | | | | summary: (10) merge two known; one immediate left, one near right | |
382 | | | | | |
|
380 | | | | | | |
383 | o | | | changeset: 9:7010c0af0a35 |
|
381 | o | | | changeset: 9:7010c0af0a35 | |
384 | |\ \ \ \ parent: 7:b632bb1b1224 |
|
382 | |\ \ \ \ parent: 7:b632bb1b1224 | |
385 | | | | | | parent: 8:7a0b11f71937 |
|
383 | | | | | | parent: 8:7a0b11f71937 | |
386 | | | | | | user: test |
|
384 | | | | | | user: test | |
387 | | | | | | date: Thu Jan 01 00:00:09 1970 +0000 |
|
385 | | | | | | date: Thu Jan 01 00:00:09 1970 +0000 | |
388 | | | | | | summary: (9) expand |
|
386 | | | | | | summary: (9) expand | |
389 | | | | | | |
|
387 | | | | | | | |
390 | | o-----+ changeset: 8:7a0b11f71937 |
|
388 | | o-----+ changeset: 8:7a0b11f71937 | |
391 | | | | | | parent: 0:e6eb3150255d |
|
389 | | | | | | parent: 0:e6eb3150255d | |
392 | |/ / / / parent: 7:b632bb1b1224 |
|
390 | |/ / / / parent: 7:b632bb1b1224 | |
393 | | | | | user: test |
|
391 | | | | | user: test | |
394 | | | | | date: Thu Jan 01 00:00:08 1970 +0000 |
|
392 | | | | | date: Thu Jan 01 00:00:08 1970 +0000 | |
395 | | | | | summary: (8) merge two known; one immediate left, one far right |
|
393 | | | | | summary: (8) merge two known; one immediate left, one far right | |
396 | | | | | |
|
394 | | | | | | |
397 | o | | | changeset: 7:b632bb1b1224 |
|
395 | o | | | changeset: 7:b632bb1b1224 | |
398 | |\ \ \ \ parent: 2:3d9a33b8d1e1 |
|
396 | |\ \ \ \ parent: 2:3d9a33b8d1e1 | |
399 | | | | | | parent: 5:4409d547b708 |
|
397 | | | | | | parent: 5:4409d547b708 | |
400 | | | | | | user: test |
|
398 | | | | | | user: test | |
401 | | | | | | date: Thu Jan 01 00:00:07 1970 +0000 |
|
399 | | | | | | date: Thu Jan 01 00:00:07 1970 +0000 | |
402 | | | | | | summary: (7) expand |
|
400 | | | | | | summary: (7) expand | |
403 | | | | | | |
|
401 | | | | | | | |
404 | +---o | | changeset: 6:b105a072e251 |
|
402 | +---o | | changeset: 6:b105a072e251 | |
405 | | |/ / / parent: 2:3d9a33b8d1e1 |
|
403 | | |/ / / parent: 2:3d9a33b8d1e1 | |
406 | | | | | parent: 5:4409d547b708 |
|
404 | | | | | parent: 5:4409d547b708 | |
407 | | | | | user: test |
|
405 | | | | | user: test | |
408 | | | | | date: Thu Jan 01 00:00:06 1970 +0000 |
|
406 | | | | | date: Thu Jan 01 00:00:06 1970 +0000 | |
409 | | | | | summary: (6) merge two known; one immediate left, one far left |
|
407 | | | | | summary: (6) merge two known; one immediate left, one far left | |
410 | | | | | |
|
408 | | | | | | |
411 | | o | | changeset: 5:4409d547b708 |
|
409 | | o | | changeset: 5:4409d547b708 | |
412 | | |\ \ \ parent: 3:27eef8ed80b4 |
|
410 | | |\ \ \ parent: 3:27eef8ed80b4 | |
413 | | | | | | parent: 4:26a8bac39d9f |
|
411 | | | | | | parent: 4:26a8bac39d9f | |
414 | | | | | | user: test |
|
412 | | | | | | user: test | |
415 | | | | | | date: Thu Jan 01 00:00:05 1970 +0000 |
|
413 | | | | | | date: Thu Jan 01 00:00:05 1970 +0000 | |
416 | | | | | | summary: (5) expand |
|
414 | | | | | | summary: (5) expand | |
417 | | | | | | |
|
415 | | | | | | | |
418 | | | o | | changeset: 4:26a8bac39d9f |
|
416 | | | o | | changeset: 4:26a8bac39d9f | |
419 | | |/|/ / parent: 1:6db2ef61d156 |
|
417 | | |/|/ / parent: 1:6db2ef61d156 | |
420 | | | | | parent: 3:27eef8ed80b4 |
|
418 | | | | | parent: 3:27eef8ed80b4 | |
421 | | | | | user: test |
|
419 | | | | | user: test | |
422 | | | | | date: Thu Jan 01 00:00:04 1970 +0000 |
|
420 | | | | | date: Thu Jan 01 00:00:04 1970 +0000 | |
423 | | | | | summary: (4) merge two known; one immediate left, one immediate right |
|
421 | | | | | summary: (4) merge two known; one immediate left, one immediate right | |
424 | | | | | |
|
422 | | | | | | |
425 | | o | | changeset: 3:27eef8ed80b4 |
|
423 | | o | | changeset: 3:27eef8ed80b4 | |
426 | |/ / / user: test |
|
424 | |/ / / user: test | |
427 | | | | date: Thu Jan 01 00:00:03 1970 +0000 |
|
425 | | | | date: Thu Jan 01 00:00:03 1970 +0000 | |
428 | | | | summary: (3) collapse |
|
426 | | | | summary: (3) collapse | |
429 | | | | |
|
427 | | | | | |
430 | o | | changeset: 2:3d9a33b8d1e1 |
|
428 | o | | changeset: 2:3d9a33b8d1e1 | |
431 | |/ / user: test |
|
429 | |/ / user: test | |
432 | | | date: Thu Jan 01 00:00:02 1970 +0000 |
|
430 | | | date: Thu Jan 01 00:00:02 1970 +0000 | |
433 | | | summary: (2) collapse |
|
431 | | | summary: (2) collapse | |
434 | | | |
|
432 | | | | |
435 | o | changeset: 1:6db2ef61d156 |
|
433 | o | changeset: 1:6db2ef61d156 | |
436 | |/ user: test |
|
434 | |/ user: test | |
437 | | date: Thu Jan 01 00:00:01 1970 +0000 |
|
435 | | date: Thu Jan 01 00:00:01 1970 +0000 | |
438 | | summary: (1) collapse |
|
436 | | summary: (1) collapse | |
439 | | |
|
437 | | | |
440 | o changeset: 0:e6eb3150255d |
|
438 | o changeset: 0:e6eb3150255d | |
441 | user: test |
|
439 | user: test | |
442 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
440 | date: Thu Jan 01 00:00:00 1970 +0000 | |
443 | summary: (0) root |
|
441 | summary: (0) root | |
444 |
|
442 | |||
445 |
|
443 | |||
446 | File glog: |
|
444 | File glog: | |
447 | $ hg glog a |
|
445 | $ hg glog a | |
448 | @ changeset: 34:fea3ac5810e0 |
|
446 | @ changeset: 34:fea3ac5810e0 | |
449 | | tag: tip |
|
447 | | tag: tip | |
450 | | parent: 32:d06dffa21a31 |
|
448 | | parent: 32:d06dffa21a31 | |
451 | | user: test |
|
449 | | user: test | |
452 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
450 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
453 | | summary: (34) head |
|
451 | | summary: (34) head | |
454 | | |
|
452 | | | |
455 | | o changeset: 33:68608f5145f9 |
|
453 | | o changeset: 33:68608f5145f9 | |
456 | | | parent: 18:1aa84d96232a |
|
454 | | | parent: 18:1aa84d96232a | |
457 | | | user: test |
|
455 | | | user: test | |
458 | | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
456 | | | date: Thu Jan 01 00:00:33 1970 +0000 | |
459 | | | summary: (33) head |
|
457 | | | summary: (33) head | |
460 | | | |
|
458 | | | | |
461 | o | changeset: 32:d06dffa21a31 |
|
459 | o | changeset: 32:d06dffa21a31 | |
462 | |\ \ parent: 27:886ed638191b |
|
460 | |\ \ parent: 27:886ed638191b | |
463 | | | | parent: 31:621d83e11f67 |
|
461 | | | | parent: 31:621d83e11f67 | |
464 | | | | user: test |
|
462 | | | | user: test | |
465 | | | | date: Thu Jan 01 00:00:32 1970 +0000 |
|
463 | | | | date: Thu Jan 01 00:00:32 1970 +0000 | |
466 | | | | summary: (32) expand |
|
464 | | | | summary: (32) expand | |
467 | | | | |
|
465 | | | | | |
468 | | o | changeset: 31:621d83e11f67 |
|
466 | | o | changeset: 31:621d83e11f67 | |
469 | | | | parent: 21:d42a756af44d |
|
467 | | | | parent: 21:d42a756af44d | |
470 | | | | parent: 30:6e11cd4b648f |
|
468 | | | | parent: 30:6e11cd4b648f | |
471 | | | | user: test |
|
469 | | | | user: test | |
472 | | | | date: Thu Jan 01 00:00:31 1970 +0000 |
|
470 | | | | date: Thu Jan 01 00:00:31 1970 +0000 | |
473 | | | | summary: (31) expand |
|
471 | | | | summary: (31) expand | |
474 | | | | |
|
472 | | | | | |
475 | | o | changeset: 30:6e11cd4b648f |
|
473 | | o | changeset: 30:6e11cd4b648f | |
476 | | |\ \ parent: 28:44ecd0b9ae99 |
|
474 | | |\ \ parent: 28:44ecd0b9ae99 | |
477 | | | | | parent: 29:cd9bb2be7593 |
|
475 | | | | | parent: 29:cd9bb2be7593 | |
478 | | | | | user: test |
|
476 | | | | | user: test | |
479 | | | | | date: Thu Jan 01 00:00:30 1970 +0000 |
|
477 | | | | | date: Thu Jan 01 00:00:30 1970 +0000 | |
480 | | | | | summary: (30) expand |
|
478 | | | | | summary: (30) expand | |
481 | | | | | |
|
479 | | | | | | |
482 | | | o | changeset: 29:cd9bb2be7593 |
|
480 | | | o | changeset: 29:cd9bb2be7593 | |
483 | | | | | parent: 0:e6eb3150255d |
|
481 | | | | | parent: 0:e6eb3150255d | |
484 | | | | | user: test |
|
482 | | | | | user: test | |
485 | | | | | date: Thu Jan 01 00:00:29 1970 +0000 |
|
483 | | | | | date: Thu Jan 01 00:00:29 1970 +0000 | |
486 | | | | | summary: (29) regular commit |
|
484 | | | | | summary: (29) regular commit | |
487 | | | | | |
|
485 | | | | | | |
488 | | o | | changeset: 28:44ecd0b9ae99 |
|
486 | | o | | changeset: 28:44ecd0b9ae99 | |
489 | | | | | parent: 1:6db2ef61d156 |
|
487 | | | | | parent: 1:6db2ef61d156 | |
490 | | | | | parent: 26:7f25b6c2f0b9 |
|
488 | | | | | parent: 26:7f25b6c2f0b9 | |
491 | | | | | user: test |
|
489 | | | | | user: test | |
492 | | | | | date: Thu Jan 01 00:00:28 1970 +0000 |
|
490 | | | | | date: Thu Jan 01 00:00:28 1970 +0000 | |
493 | | | | | summary: (28) merge zero known |
|
491 | | | | | summary: (28) merge zero known | |
494 | | | | | |
|
492 | | | | | | |
495 | o | | | changeset: 27:886ed638191b |
|
493 | o | | | changeset: 27:886ed638191b | |
496 | | | | | parent: 21:d42a756af44d |
|
494 | | | | | parent: 21:d42a756af44d | |
497 | | | | | user: test |
|
495 | | | | | user: test | |
498 | | | | | date: Thu Jan 01 00:00:27 1970 +0000 |
|
496 | | | | | date: Thu Jan 01 00:00:27 1970 +0000 | |
499 | | | | | summary: (27) collapse |
|
497 | | | | | summary: (27) collapse | |
500 | | | | | |
|
498 | | | | | | |
501 | | o | | changeset: 26:7f25b6c2f0b9 |
|
499 | | o | | changeset: 26:7f25b6c2f0b9 | |
502 | | | | | parent: 18:1aa84d96232a |
|
500 | | | | | parent: 18:1aa84d96232a | |
503 | | | | | parent: 25:91da8ed57247 |
|
501 | | | | | parent: 25:91da8ed57247 | |
504 | | | | | user: test |
|
502 | | | | | user: test | |
505 | | | | | date: Thu Jan 01 00:00:26 1970 +0000 |
|
503 | | | | | date: Thu Jan 01 00:00:26 1970 +0000 | |
506 | | | | | summary: (26) merge one known; far right |
|
504 | | | | | summary: (26) merge one known; far right | |
507 | | | | | |
|
505 | | | | | | |
508 | | o | | changeset: 25:91da8ed57247 |
|
506 | | o | | changeset: 25:91da8ed57247 | |
509 | | | | | parent: 21:d42a756af44d |
|
507 | | | | | parent: 21:d42a756af44d | |
510 | | | | | parent: 24:a9c19a3d96b7 |
|
508 | | | | | parent: 24:a9c19a3d96b7 | |
511 | | | | | user: test |
|
509 | | | | | user: test | |
512 | | | | | date: Thu Jan 01 00:00:25 1970 +0000 |
|
510 | | | | | date: Thu Jan 01 00:00:25 1970 +0000 | |
513 | | | | | summary: (25) merge one known; far left |
|
511 | | | | | summary: (25) merge one known; far left | |
514 | | | | | |
|
512 | | | | | | |
515 | | o | | changeset: 24:a9c19a3d96b7 |
|
513 | | o | | changeset: 24:a9c19a3d96b7 | |
516 | | | | | parent: 0:e6eb3150255d |
|
514 | | | | | parent: 0:e6eb3150255d | |
517 | | | | | parent: 23:a01cddf0766d |
|
515 | | | | | parent: 23:a01cddf0766d | |
518 | | | | | user: test |
|
516 | | | | | user: test | |
519 | | | | | date: Thu Jan 01 00:00:24 1970 +0000 |
|
517 | | | | | date: Thu Jan 01 00:00:24 1970 +0000 | |
520 | | | | | summary: (24) merge one known; immediate right |
|
518 | | | | | summary: (24) merge one known; immediate right | |
521 | | | | | |
|
519 | | | | | | |
522 | | o | | changeset: 23:a01cddf0766d |
|
520 | | o | | changeset: 23:a01cddf0766d | |
523 | | | | | parent: 1:6db2ef61d156 |
|
521 | | | | | parent: 1:6db2ef61d156 | |
524 | | | | | parent: 22:e0d9cccacb5d |
|
522 | | | | | parent: 22:e0d9cccacb5d | |
525 | | | | | user: test |
|
523 | | | | | user: test | |
526 | | | | | date: Thu Jan 01 00:00:23 1970 +0000 |
|
524 | | | | | date: Thu Jan 01 00:00:23 1970 +0000 | |
527 | | | | | summary: (23) merge one known; immediate left |
|
525 | | | | | summary: (23) merge one known; immediate left | |
528 | | | | | |
|
526 | | | | | | |
529 | | o | | changeset: 22:e0d9cccacb5d |
|
527 | | o | | changeset: 22:e0d9cccacb5d | |
530 | |/ / / parent: 18:1aa84d96232a |
|
528 | |/ / / parent: 18:1aa84d96232a | |
531 | | | | parent: 21:d42a756af44d |
|
529 | | | | parent: 21:d42a756af44d | |
532 | | | | user: test |
|
530 | | | | user: test | |
533 | | | | date: Thu Jan 01 00:00:22 1970 +0000 |
|
531 | | | | date: Thu Jan 01 00:00:22 1970 +0000 | |
534 | | | | summary: (22) merge two known; one far left, one far right |
|
532 | | | | summary: (22) merge two known; one far left, one far right | |
535 | | | | |
|
533 | | | | | |
536 | o | | changeset: 21:d42a756af44d |
|
534 | o | | changeset: 21:d42a756af44d | |
537 | |\ \ \ parent: 19:31ddc2c1573b |
|
535 | |\ \ \ parent: 19:31ddc2c1573b | |
538 | | | | | parent: 20:d30ed6450e32 |
|
536 | | | | | parent: 20:d30ed6450e32 | |
539 | | | | | user: test |
|
537 | | | | | user: test | |
540 | | | | | date: Thu Jan 01 00:00:21 1970 +0000 |
|
538 | | | | | date: Thu Jan 01 00:00:21 1970 +0000 | |
541 | | | | | summary: (21) expand |
|
539 | | | | | summary: (21) expand | |
542 | | | | | |
|
540 | | | | | | |
543 | | o---+ changeset: 20:d30ed6450e32 |
|
541 | | o---+ changeset: 20:d30ed6450e32 | |
544 | | | | parent: 0:e6eb3150255d |
|
542 | | | | parent: 0:e6eb3150255d | |
545 | | / / parent: 18:1aa84d96232a |
|
543 | | / / parent: 18:1aa84d96232a | |
546 | | | | user: test |
|
544 | | | | user: test | |
547 | | | | date: Thu Jan 01 00:00:20 1970 +0000 |
|
545 | | | | date: Thu Jan 01 00:00:20 1970 +0000 | |
548 | | | | summary: (20) merge two known; two far right |
|
546 | | | | summary: (20) merge two known; two far right | |
549 | | | | |
|
547 | | | | | |
550 | o | | changeset: 19:31ddc2c1573b |
|
548 | o | | changeset: 19:31ddc2c1573b | |
551 | |\ \ \ parent: 15:1dda3f72782d |
|
549 | |\ \ \ parent: 15:1dda3f72782d | |
552 | | | | | parent: 17:44765d7c06e0 |
|
550 | | | | | parent: 17:44765d7c06e0 | |
553 | | | | | user: test |
|
551 | | | | | user: test | |
554 | | | | | date: Thu Jan 01 00:00:19 1970 +0000 |
|
552 | | | | | date: Thu Jan 01 00:00:19 1970 +0000 | |
555 | | | | | summary: (19) expand |
|
553 | | | | | summary: (19) expand | |
556 | | | | | |
|
554 | | | | | | |
557 | +-----o changeset: 18:1aa84d96232a |
|
555 | +-----o changeset: 18:1aa84d96232a | |
558 | | | | parent: 1:6db2ef61d156 |
|
556 | | | | parent: 1:6db2ef61d156 | |
559 | | | | parent: 15:1dda3f72782d |
|
557 | | | | parent: 15:1dda3f72782d | |
560 | | | | user: test |
|
558 | | | | user: test | |
561 | | | | date: Thu Jan 01 00:00:18 1970 +0000 |
|
559 | | | | date: Thu Jan 01 00:00:18 1970 +0000 | |
562 | | | | summary: (18) merge two known; two far left |
|
560 | | | | summary: (18) merge two known; two far left | |
563 | | | | |
|
561 | | | | | |
564 | | o | changeset: 17:44765d7c06e0 |
|
562 | | o | changeset: 17:44765d7c06e0 | |
565 | | |\ \ parent: 12:86b91144a6e9 |
|
563 | | |\ \ parent: 12:86b91144a6e9 | |
566 | | | | | parent: 16:3677d192927d |
|
564 | | | | | parent: 16:3677d192927d | |
567 | | | | | user: test |
|
565 | | | | | user: test | |
568 | | | | | date: Thu Jan 01 00:00:17 1970 +0000 |
|
566 | | | | | date: Thu Jan 01 00:00:17 1970 +0000 | |
569 | | | | | summary: (17) expand |
|
567 | | | | | summary: (17) expand | |
570 | | | | | |
|
568 | | | | | | |
571 | | | o | changeset: 16:3677d192927d |
|
569 | | | o | changeset: 16:3677d192927d | |
572 | | | | | parent: 0:e6eb3150255d |
|
570 | | | | | parent: 0:e6eb3150255d | |
573 | | | | | parent: 1:6db2ef61d156 |
|
571 | | | | | parent: 1:6db2ef61d156 | |
574 | | | | | user: test |
|
572 | | | | | user: test | |
575 | | | | | date: Thu Jan 01 00:00:16 1970 +0000 |
|
573 | | | | | date: Thu Jan 01 00:00:16 1970 +0000 | |
576 | | | | | summary: (16) merge two known; one immediate right, one near right |
|
574 | | | | | summary: (16) merge two known; one immediate right, one near right | |
577 | | | | | |
|
575 | | | | | | |
578 | o | | | changeset: 15:1dda3f72782d |
|
576 | o | | | changeset: 15:1dda3f72782d | |
579 | |\ \ \ \ parent: 13:22d8966a97e3 |
|
577 | |\ \ \ \ parent: 13:22d8966a97e3 | |
580 | | | | | | parent: 14:8eac370358ef |
|
578 | | | | | | parent: 14:8eac370358ef | |
581 | | | | | | user: test |
|
579 | | | | | | user: test | |
582 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000 |
|
580 | | | | | | date: Thu Jan 01 00:00:15 1970 +0000 | |
583 | | | | | | summary: (15) expand |
|
581 | | | | | | summary: (15) expand | |
584 | | | | | | |
|
582 | | | | | | | |
585 | | o | | | changeset: 14:8eac370358ef |
|
583 | | o | | | changeset: 14:8eac370358ef | |
586 | | |/ / / parent: 0:e6eb3150255d |
|
584 | | |/ / / parent: 0:e6eb3150255d | |
587 | | | | | parent: 12:86b91144a6e9 |
|
585 | | | | | parent: 12:86b91144a6e9 | |
588 | | | | | user: test |
|
586 | | | | | user: test | |
589 | | | | | date: Thu Jan 01 00:00:14 1970 +0000 |
|
587 | | | | | date: Thu Jan 01 00:00:14 1970 +0000 | |
590 | | | | | summary: (14) merge two known; one immediate right, one far right |
|
588 | | | | | summary: (14) merge two known; one immediate right, one far right | |
591 | | | | | |
|
589 | | | | | | |
592 | o | | | changeset: 13:22d8966a97e3 |
|
590 | o | | | changeset: 13:22d8966a97e3 | |
593 | |\ \ \ \ parent: 9:7010c0af0a35 |
|
591 | |\ \ \ \ parent: 9:7010c0af0a35 | |
594 | | | | | | parent: 11:832d76e6bdf2 |
|
592 | | | | | | parent: 11:832d76e6bdf2 | |
595 | | | | | | user: test |
|
593 | | | | | | user: test | |
596 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000 |
|
594 | | | | | | date: Thu Jan 01 00:00:13 1970 +0000 | |
597 | | | | | | summary: (13) expand |
|
595 | | | | | | summary: (13) expand | |
598 | | | | | | |
|
596 | | | | | | | |
599 | +---o | | changeset: 12:86b91144a6e9 |
|
597 | +---o | | changeset: 12:86b91144a6e9 | |
600 | | | / / parent: 1:6db2ef61d156 |
|
598 | | | / / parent: 1:6db2ef61d156 | |
601 | | | | | parent: 9:7010c0af0a35 |
|
599 | | | | | parent: 9:7010c0af0a35 | |
602 | | | | | user: test |
|
600 | | | | | user: test | |
603 | | | | | date: Thu Jan 01 00:00:12 1970 +0000 |
|
601 | | | | | date: Thu Jan 01 00:00:12 1970 +0000 | |
604 | | | | | summary: (12) merge two known; one immediate right, one far left |
|
602 | | | | | summary: (12) merge two known; one immediate right, one far left | |
605 | | | | | |
|
603 | | | | | | |
606 | | o | | changeset: 11:832d76e6bdf2 |
|
604 | | o | | changeset: 11:832d76e6bdf2 | |
607 | | | | | parent: 6:b105a072e251 |
|
605 | | | | | parent: 6:b105a072e251 | |
608 | | | | | parent: 10:74c64d036d72 |
|
606 | | | | | parent: 10:74c64d036d72 | |
609 | | | | | user: test |
|
607 | | | | | user: test | |
610 | | | | | date: Thu Jan 01 00:00:11 1970 +0000 |
|
608 | | | | | date: Thu Jan 01 00:00:11 1970 +0000 | |
611 | | | | | summary: (11) expand |
|
609 | | | | | summary: (11) expand | |
612 | | | | | |
|
610 | | | | | | |
613 | | o | | changeset: 10:74c64d036d72 |
|
611 | | o | | changeset: 10:74c64d036d72 | |
614 | | | | | parent: 0:e6eb3150255d |
|
612 | | | | | parent: 0:e6eb3150255d | |
615 | | | | | parent: 6:b105a072e251 |
|
613 | | | | | parent: 6:b105a072e251 | |
616 | | | | | user: test |
|
614 | | | | | user: test | |
617 | | | | | date: Thu Jan 01 00:00:10 1970 +0000 |
|
615 | | | | | date: Thu Jan 01 00:00:10 1970 +0000 | |
618 | | | | | summary: (10) merge two known; one immediate left, one near right |
|
616 | | | | | summary: (10) merge two known; one immediate left, one near right | |
619 | | | | | |
|
617 | | | | | | |
620 | o | | | changeset: 9:7010c0af0a35 |
|
618 | o | | | changeset: 9:7010c0af0a35 | |
621 | | | | | parent: 7:b632bb1b1224 |
|
619 | | | | | parent: 7:b632bb1b1224 | |
622 | | | | | parent: 8:7a0b11f71937 |
|
620 | | | | | parent: 8:7a0b11f71937 | |
623 | | | | | user: test |
|
621 | | | | | user: test | |
624 | | | | | date: Thu Jan 01 00:00:09 1970 +0000 |
|
622 | | | | | date: Thu Jan 01 00:00:09 1970 +0000 | |
625 | | | | | summary: (9) expand |
|
623 | | | | | summary: (9) expand | |
626 | | | | | |
|
624 | | | | | | |
627 | o | | | changeset: 8:7a0b11f71937 |
|
625 | o | | | changeset: 8:7a0b11f71937 | |
628 | | | | | parent: 0:e6eb3150255d |
|
626 | | | | | parent: 0:e6eb3150255d | |
629 | | | | | parent: 7:b632bb1b1224 |
|
627 | | | | | parent: 7:b632bb1b1224 | |
630 | | | | | user: test |
|
628 | | | | | user: test | |
631 | | | | | date: Thu Jan 01 00:00:08 1970 +0000 |
|
629 | | | | | date: Thu Jan 01 00:00:08 1970 +0000 | |
632 | | | | | summary: (8) merge two known; one immediate left, one far right |
|
630 | | | | | summary: (8) merge two known; one immediate left, one far right | |
633 | | | | | |
|
631 | | | | | | |
634 | o | | | changeset: 7:b632bb1b1224 |
|
632 | o | | | changeset: 7:b632bb1b1224 | |
635 | | | | | parent: 2:3d9a33b8d1e1 |
|
633 | | | | | parent: 2:3d9a33b8d1e1 | |
636 | | | | | parent: 5:4409d547b708 |
|
634 | | | | | parent: 5:4409d547b708 | |
637 | | | | | user: test |
|
635 | | | | | user: test | |
638 | | | | | date: Thu Jan 01 00:00:07 1970 +0000 |
|
636 | | | | | date: Thu Jan 01 00:00:07 1970 +0000 | |
639 | | | | | summary: (7) expand |
|
637 | | | | | summary: (7) expand | |
640 | | | | | |
|
638 | | | | | | |
641 | | o | | changeset: 6:b105a072e251 |
|
639 | | o | | changeset: 6:b105a072e251 | |
642 | |/ / / parent: 2:3d9a33b8d1e1 |
|
640 | |/ / / parent: 2:3d9a33b8d1e1 | |
643 | | | | parent: 5:4409d547b708 |
|
641 | | | | parent: 5:4409d547b708 | |
644 | | | | user: test |
|
642 | | | | user: test | |
645 | | | | date: Thu Jan 01 00:00:06 1970 +0000 |
|
643 | | | | date: Thu Jan 01 00:00:06 1970 +0000 | |
646 | | | | summary: (6) merge two known; one immediate left, one far left |
|
644 | | | | summary: (6) merge two known; one immediate left, one far left | |
647 | | | | |
|
645 | | | | | |
648 | o | | changeset: 5:4409d547b708 |
|
646 | o | | changeset: 5:4409d547b708 | |
649 | | | | parent: 3:27eef8ed80b4 |
|
647 | | | | parent: 3:27eef8ed80b4 | |
650 | | | | parent: 4:26a8bac39d9f |
|
648 | | | | parent: 4:26a8bac39d9f | |
651 | | | | user: test |
|
649 | | | | user: test | |
652 | | | | date: Thu Jan 01 00:00:05 1970 +0000 |
|
650 | | | | date: Thu Jan 01 00:00:05 1970 +0000 | |
653 | | | | summary: (5) expand |
|
651 | | | | summary: (5) expand | |
654 | | | | |
|
652 | | | | | |
655 | o | | changeset: 4:26a8bac39d9f |
|
653 | o | | changeset: 4:26a8bac39d9f | |
656 | | | | parent: 1:6db2ef61d156 |
|
654 | | | | parent: 1:6db2ef61d156 | |
657 | | | | parent: 3:27eef8ed80b4 |
|
655 | | | | parent: 3:27eef8ed80b4 | |
658 | | | | user: test |
|
656 | | | | user: test | |
659 | | | | date: Thu Jan 01 00:00:04 1970 +0000 |
|
657 | | | | date: Thu Jan 01 00:00:04 1970 +0000 | |
660 | | | | summary: (4) merge two known; one immediate left, one immediate right |
|
658 | | | | summary: (4) merge two known; one immediate left, one immediate right | |
661 | | | | |
|
659 | | | | | |
662 | o | | changeset: 3:27eef8ed80b4 |
|
660 | o | | changeset: 3:27eef8ed80b4 | |
663 | | | | user: test |
|
661 | | | | user: test | |
664 | | | | date: Thu Jan 01 00:00:03 1970 +0000 |
|
662 | | | | date: Thu Jan 01 00:00:03 1970 +0000 | |
665 | | | | summary: (3) collapse |
|
663 | | | | summary: (3) collapse | |
666 | | | | |
|
664 | | | | | |
667 | o | | changeset: 2:3d9a33b8d1e1 |
|
665 | o | | changeset: 2:3d9a33b8d1e1 | |
668 | |/ / user: test |
|
666 | |/ / user: test | |
669 | | | date: Thu Jan 01 00:00:02 1970 +0000 |
|
667 | | | date: Thu Jan 01 00:00:02 1970 +0000 | |
670 | | | summary: (2) collapse |
|
668 | | | summary: (2) collapse | |
671 | | | |
|
669 | | | | |
672 | o | changeset: 1:6db2ef61d156 |
|
670 | o | changeset: 1:6db2ef61d156 | |
673 | |/ user: test |
|
671 | |/ user: test | |
674 | | date: Thu Jan 01 00:00:01 1970 +0000 |
|
672 | | date: Thu Jan 01 00:00:01 1970 +0000 | |
675 | | summary: (1) collapse |
|
673 | | summary: (1) collapse | |
676 | | |
|
674 | | | |
677 | o changeset: 0:e6eb3150255d |
|
675 | o changeset: 0:e6eb3150255d | |
678 | user: test |
|
676 | user: test | |
679 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
677 | date: Thu Jan 01 00:00:00 1970 +0000 | |
680 | summary: (0) root |
|
678 | summary: (0) root | |
681 |
|
679 | |||
682 |
|
680 | |||
683 | Unused arguments: |
|
681 | Unused arguments: | |
684 |
$ hg glog -q foo bar |
|
682 | $ hg glog -q foo bar | |
685 | hg glog: invalid arguments |
|
683 | hg glog: invalid arguments | |
686 | hg glog [OPTION]... [FILE] |
|
684 | hg glog [OPTION]... [FILE] | |
687 |
|
685 | |||
688 | show revision history alongside an ASCII revision graph |
|
686 | show revision history alongside an ASCII revision graph | |
689 | failed |
|
687 | [255] | |
690 |
|
688 | |||
691 | Empty revision range - display nothing: |
|
689 | Empty revision range - display nothing: | |
692 | $ hg glog -r 1..0 |
|
690 | $ hg glog -r 1..0 | |
693 |
|
691 | |||
694 | From outer space: |
|
692 | From outer space: | |
695 | $ cd .. |
|
693 | $ cd .. | |
696 | $ hg glog -l1 repo |
|
694 | $ hg glog -l1 repo | |
697 | @ changeset: 34:fea3ac5810e0 |
|
695 | @ changeset: 34:fea3ac5810e0 | |
698 | | tag: tip |
|
696 | | tag: tip | |
699 | | parent: 32:d06dffa21a31 |
|
697 | | parent: 32:d06dffa21a31 | |
700 | | user: test |
|
698 | | user: test | |
701 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
699 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
702 | | summary: (34) head |
|
700 | | summary: (34) head | |
703 | | |
|
701 | | | |
704 | $ hg glog -l1 repo/a |
|
702 | $ hg glog -l1 repo/a | |
705 | @ changeset: 34:fea3ac5810e0 |
|
703 | @ changeset: 34:fea3ac5810e0 | |
706 | | tag: tip |
|
704 | | tag: tip | |
707 | | parent: 32:d06dffa21a31 |
|
705 | | parent: 32:d06dffa21a31 | |
708 | | user: test |
|
706 | | user: test | |
709 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
707 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
710 | | summary: (34) head |
|
708 | | summary: (34) head | |
711 | | |
|
709 | | | |
712 | $ hg glog -l1 repo/missing |
|
710 | $ hg glog -l1 repo/missing | |
713 |
|
711 | |||
714 | File log with revs != cset revs: |
|
712 | File log with revs != cset revs: | |
715 | $ hg init flog |
|
713 | $ hg init flog | |
716 | $ cd flog |
|
714 | $ cd flog | |
717 | $ echo one >one |
|
715 | $ echo one >one | |
718 | $ hg add one |
|
716 | $ hg add one | |
719 | $ hg commit -mone |
|
717 | $ hg commit -mone | |
720 | $ echo two >two |
|
718 | $ echo two >two | |
721 | $ hg add two |
|
719 | $ hg add two | |
722 | $ hg commit -mtwo |
|
720 | $ hg commit -mtwo | |
723 | $ echo more >two |
|
721 | $ echo more >two | |
724 | $ hg commit -mmore |
|
722 | $ hg commit -mmore | |
725 | $ hg glog two |
|
723 | $ hg glog two | |
726 | @ changeset: 2:12c28321755b |
|
724 | @ changeset: 2:12c28321755b | |
727 | | tag: tip |
|
725 | | tag: tip | |
728 | | user: test |
|
726 | | user: test | |
729 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
727 | | date: Thu Jan 01 00:00:00 1970 +0000 | |
730 | | summary: more |
|
728 | | summary: more | |
731 | | |
|
729 | | | |
732 | o changeset: 1:5ac72c0599bf |
|
730 | o changeset: 1:5ac72c0599bf | |
733 | user: test |
|
731 | user: test | |
734 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
732 | date: Thu Jan 01 00:00:00 1970 +0000 | |
735 | summary: two |
|
733 | summary: two | |
736 |
|
734 | |||
737 |
|
735 | |||
738 | File log with explicit style (issue 1896): |
|
736 | File log with explicit style (issue 1896): | |
739 | $ hg glog --style=default one |
|
737 | $ hg glog --style=default one | |
740 | o changeset: 0:3d578b4a1f53 |
|
738 | o changeset: 0:3d578b4a1f53 | |
741 | user: test |
|
739 | user: test | |
742 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
740 | date: Thu Jan 01 00:00:00 1970 +0000 | |
743 | summary: one |
|
741 | summary: one | |
744 |
|
742 | |||
745 | $ cd .. |
|
743 | $ cd .. | |
746 |
|
744 | |||
747 | Incoming and outgoing: |
|
745 | Incoming and outgoing: | |
748 |
|
746 | |||
749 | $ hg clone -U -r31 repo repo2 |
|
747 | $ hg clone -U -r31 repo repo2 | |
750 | requesting all changes |
|
748 | requesting all changes | |
751 | adding changesets |
|
749 | adding changesets | |
752 | adding manifests |
|
750 | adding manifests | |
753 | adding file changes |
|
751 | adding file changes | |
754 | added 31 changesets with 31 changes to 1 files |
|
752 | added 31 changesets with 31 changes to 1 files | |
755 | $ cd repo2 |
|
753 | $ cd repo2 | |
756 |
|
754 | |||
757 | $ hg incoming --graph ../repo |
|
755 | $ hg incoming --graph ../repo | |
758 | comparing with ../repo |
|
756 | comparing with ../repo | |
759 | searching for changes |
|
757 | searching for changes | |
760 | o changeset: 34:fea3ac5810e0 |
|
758 | o changeset: 34:fea3ac5810e0 | |
761 | | tag: tip |
|
759 | | tag: tip | |
762 | | parent: 32:d06dffa21a31 |
|
760 | | parent: 32:d06dffa21a31 | |
763 | | user: test |
|
761 | | user: test | |
764 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
762 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
765 | | summary: (34) head |
|
763 | | summary: (34) head | |
766 | | |
|
764 | | | |
767 | | o changeset: 33:68608f5145f9 |
|
765 | | o changeset: 33:68608f5145f9 | |
768 | | parent: 18:1aa84d96232a |
|
766 | | parent: 18:1aa84d96232a | |
769 | | user: test |
|
767 | | user: test | |
770 | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
768 | | date: Thu Jan 01 00:00:33 1970 +0000 | |
771 | | summary: (33) head |
|
769 | | summary: (33) head | |
772 | | |
|
770 | | | |
773 | o changeset: 32:d06dffa21a31 |
|
771 | o changeset: 32:d06dffa21a31 | |
774 | | parent: 27:886ed638191b |
|
772 | | parent: 27:886ed638191b | |
775 | | parent: 31:621d83e11f67 |
|
773 | | parent: 31:621d83e11f67 | |
776 | | user: test |
|
774 | | user: test | |
777 | | date: Thu Jan 01 00:00:32 1970 +0000 |
|
775 | | date: Thu Jan 01 00:00:32 1970 +0000 | |
778 | | summary: (32) expand |
|
776 | | summary: (32) expand | |
779 | | |
|
777 | | | |
780 | o changeset: 27:886ed638191b |
|
778 | o changeset: 27:886ed638191b | |
781 | parent: 21:d42a756af44d |
|
779 | parent: 21:d42a756af44d | |
782 | user: test |
|
780 | user: test | |
783 | date: Thu Jan 01 00:00:27 1970 +0000 |
|
781 | date: Thu Jan 01 00:00:27 1970 +0000 | |
784 | summary: (27) collapse |
|
782 | summary: (27) collapse | |
785 |
|
783 | |||
786 | $ cd .. |
|
784 | $ cd .. | |
787 |
|
785 | |||
788 | $ hg -R repo outgoing --graph repo2 |
|
786 | $ hg -R repo outgoing --graph repo2 | |
789 | comparing with repo2 |
|
787 | comparing with repo2 | |
790 | searching for changes |
|
788 | searching for changes | |
791 | @ changeset: 34:fea3ac5810e0 |
|
789 | @ changeset: 34:fea3ac5810e0 | |
792 | | tag: tip |
|
790 | | tag: tip | |
793 | | parent: 32:d06dffa21a31 |
|
791 | | parent: 32:d06dffa21a31 | |
794 | | user: test |
|
792 | | user: test | |
795 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
793 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
796 | | summary: (34) head |
|
794 | | summary: (34) head | |
797 | | |
|
795 | | | |
798 | | o changeset: 33:68608f5145f9 |
|
796 | | o changeset: 33:68608f5145f9 | |
799 | | parent: 18:1aa84d96232a |
|
797 | | parent: 18:1aa84d96232a | |
800 | | user: test |
|
798 | | user: test | |
801 | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
799 | | date: Thu Jan 01 00:00:33 1970 +0000 | |
802 | | summary: (33) head |
|
800 | | summary: (33) head | |
803 | | |
|
801 | | | |
804 | o changeset: 32:d06dffa21a31 |
|
802 | o changeset: 32:d06dffa21a31 | |
805 | | parent: 27:886ed638191b |
|
803 | | parent: 27:886ed638191b | |
806 | | parent: 31:621d83e11f67 |
|
804 | | parent: 31:621d83e11f67 | |
807 | | user: test |
|
805 | | user: test | |
808 | | date: Thu Jan 01 00:00:32 1970 +0000 |
|
806 | | date: Thu Jan 01 00:00:32 1970 +0000 | |
809 | | summary: (32) expand |
|
807 | | summary: (32) expand | |
810 | | |
|
808 | | | |
811 | o changeset: 27:886ed638191b |
|
809 | o changeset: 27:886ed638191b | |
812 | parent: 21:d42a756af44d |
|
810 | parent: 21:d42a756af44d | |
813 | user: test |
|
811 | user: test | |
814 | date: Thu Jan 01 00:00:27 1970 +0000 |
|
812 | date: Thu Jan 01 00:00:27 1970 +0000 | |
815 | summary: (27) collapse |
|
813 | summary: (27) collapse | |
816 |
|
814 | |||
817 |
|
815 | |||
818 | File + limit with revs != cset revs: |
|
816 | File + limit with revs != cset revs: | |
819 | $ cd repo |
|
817 | $ cd repo | |
820 | $ touch b |
|
818 | $ touch b | |
821 | $ hg ci -Aqm0 |
|
819 | $ hg ci -Aqm0 | |
822 | $ hg glog -l2 a |
|
820 | $ hg glog -l2 a | |
823 | o changeset: 34:fea3ac5810e0 |
|
821 | o changeset: 34:fea3ac5810e0 | |
824 | | parent: 32:d06dffa21a31 |
|
822 | | parent: 32:d06dffa21a31 | |
825 | | user: test |
|
823 | | user: test | |
826 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
824 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
827 | | summary: (34) head |
|
825 | | summary: (34) head | |
828 | | |
|
826 | | | |
829 | | o changeset: 33:68608f5145f9 |
|
827 | | o changeset: 33:68608f5145f9 | |
830 | | | parent: 18:1aa84d96232a |
|
828 | | | parent: 18:1aa84d96232a | |
831 | | | user: test |
|
829 | | | user: test | |
832 | | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
830 | | | date: Thu Jan 01 00:00:33 1970 +0000 | |
833 | | | summary: (33) head |
|
831 | | | summary: (33) head | |
834 | | | |
|
832 | | | | |
835 |
|
833 | |||
836 | File + limit + -ra:b, (b - a) < limit: |
|
834 | File + limit + -ra:b, (b - a) < limit: | |
837 | $ hg glog -l3000 -r32:tip a |
|
835 | $ hg glog -l3000 -r32:tip a | |
838 | o changeset: 34:fea3ac5810e0 |
|
836 | o changeset: 34:fea3ac5810e0 | |
839 | | parent: 32:d06dffa21a31 |
|
837 | | parent: 32:d06dffa21a31 | |
840 | | user: test |
|
838 | | user: test | |
841 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
839 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
842 | | summary: (34) head |
|
840 | | summary: (34) head | |
843 | | |
|
841 | | | |
844 | | o changeset: 33:68608f5145f9 |
|
842 | | o changeset: 33:68608f5145f9 | |
845 | | | parent: 18:1aa84d96232a |
|
843 | | | parent: 18:1aa84d96232a | |
846 | | | user: test |
|
844 | | | user: test | |
847 | | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
845 | | | date: Thu Jan 01 00:00:33 1970 +0000 | |
848 | | | summary: (33) head |
|
846 | | | summary: (33) head | |
849 | | | |
|
847 | | | | |
850 | o | changeset: 32:d06dffa21a31 |
|
848 | o | changeset: 32:d06dffa21a31 | |
851 | |\ \ parent: 27:886ed638191b |
|
849 | |\ \ parent: 27:886ed638191b | |
852 | | | | parent: 31:621d83e11f67 |
|
850 | | | | parent: 31:621d83e11f67 | |
853 | | | | user: test |
|
851 | | | | user: test | |
854 | | | | date: Thu Jan 01 00:00:32 1970 +0000 |
|
852 | | | | date: Thu Jan 01 00:00:32 1970 +0000 | |
855 | | | | summary: (32) expand |
|
853 | | | | summary: (32) expand | |
856 | | | | |
|
854 | | | | | |
857 |
|
855 | |||
858 | File + limit + -ra:b, b < tip: |
|
856 | File + limit + -ra:b, b < tip: | |
859 | $ hg glog -l1 -r32:34 a |
|
857 | $ hg glog -l1 -r32:34 a | |
860 | o changeset: 34:fea3ac5810e0 |
|
858 | o changeset: 34:fea3ac5810e0 | |
861 | | parent: 32:d06dffa21a31 |
|
859 | | parent: 32:d06dffa21a31 | |
862 | | user: test |
|
860 | | user: test | |
863 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
861 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
864 | | summary: (34) head |
|
862 | | summary: (34) head | |
865 | | |
|
863 | | | |
866 |
|
864 | |||
867 | File + limit + -ra:b, b < tip, (b - a) < limit: |
|
865 | File + limit + -ra:b, b < tip, (b - a) < limit: | |
868 | $ hg glog -l10 -r33:34 a |
|
866 | $ hg glog -l10 -r33:34 a | |
869 | o changeset: 34:fea3ac5810e0 |
|
867 | o changeset: 34:fea3ac5810e0 | |
870 | | parent: 32:d06dffa21a31 |
|
868 | | parent: 32:d06dffa21a31 | |
871 | | user: test |
|
869 | | user: test | |
872 | | date: Thu Jan 01 00:00:34 1970 +0000 |
|
870 | | date: Thu Jan 01 00:00:34 1970 +0000 | |
873 | | summary: (34) head |
|
871 | | summary: (34) head | |
874 | | |
|
872 | | | |
875 | | o changeset: 33:68608f5145f9 |
|
873 | | o changeset: 33:68608f5145f9 | |
876 | | | parent: 18:1aa84d96232a |
|
874 | | | parent: 18:1aa84d96232a | |
877 | | | user: test |
|
875 | | | user: test | |
878 | | | date: Thu Jan 01 00:00:33 1970 +0000 |
|
876 | | | date: Thu Jan 01 00:00:33 1970 +0000 | |
879 | | | summary: (33) head |
|
877 | | | summary: (33) head | |
880 | | | |
|
878 | | | | |
881 |
|
879 |
@@ -1,122 +1,121 b'' | |||||
1 | $ mkdir t |
|
1 | $ mkdir t | |
2 | $ cd t |
|
2 | $ cd t | |
3 | $ hg init |
|
3 | $ hg init | |
4 | $ echo 0 > a |
|
4 | $ echo 0 > a | |
5 | $ echo 0 > b |
|
5 | $ echo 0 > b | |
6 | $ echo 0 > t.h |
|
6 | $ echo 0 > t.h | |
7 | $ mkdir t |
|
7 | $ mkdir t | |
8 | $ echo 0 > t/x |
|
8 | $ echo 0 > t/x | |
9 | $ echo 0 > t/b |
|
9 | $ echo 0 > t/b | |
10 | $ echo 0 > t/e.h |
|
10 | $ echo 0 > t/e.h | |
11 | $ mkdir dir.h |
|
11 | $ mkdir dir.h | |
12 | $ echo 0 > dir.h/foo |
|
12 | $ echo 0 > dir.h/foo | |
13 |
|
13 | |||
14 | $ hg ci -A -m m |
|
14 | $ hg ci -A -m m | |
15 | adding a |
|
15 | adding a | |
16 | adding b |
|
16 | adding b | |
17 | adding dir.h/foo |
|
17 | adding dir.h/foo | |
18 | adding t.h |
|
18 | adding t.h | |
19 | adding t/b |
|
19 | adding t/b | |
20 | adding t/e.h |
|
20 | adding t/e.h | |
21 | adding t/x |
|
21 | adding t/x | |
22 |
|
22 | |||
23 | $ touch nottracked |
|
23 | $ touch nottracked | |
24 |
|
24 | |||
25 | $ hg locate a && echo locate succeeded || echo locate failed |
|
25 | $ hg locate a | |
26 | a |
|
26 | a | |
27 | locate succeeded |
|
|||
28 |
|
27 | |||
29 | $ hg locate NONEXISTENT && echo locate succeeded || echo locate failed |
|
28 | $ hg locate NONEXISTENT | |
30 | locate failed |
|
29 | [1] | |
31 |
|
30 | |||
32 | $ hg locate |
|
31 | $ hg locate | |
33 | a |
|
32 | a | |
34 | b |
|
33 | b | |
35 | dir.h/foo |
|
34 | dir.h/foo | |
36 | t.h |
|
35 | t.h | |
37 | t/b |
|
36 | t/b | |
38 | t/e.h |
|
37 | t/e.h | |
39 | t/x |
|
38 | t/x | |
40 |
|
39 | |||
41 | $ hg rm a |
|
40 | $ hg rm a | |
42 | $ hg ci -m m |
|
41 | $ hg ci -m m | |
43 |
|
42 | |||
44 | $ hg locate a |
|
43 | $ hg locate a | |
45 | [1] |
|
44 | [1] | |
46 | $ hg locate NONEXISTENT |
|
45 | $ hg locate NONEXISTENT | |
47 | [1] |
|
46 | [1] | |
48 | $ hg locate relpath:NONEXISTENT |
|
47 | $ hg locate relpath:NONEXISTENT | |
49 | [1] |
|
48 | [1] | |
50 | $ hg locate |
|
49 | $ hg locate | |
51 | b |
|
50 | b | |
52 | dir.h/foo |
|
51 | dir.h/foo | |
53 | t.h |
|
52 | t.h | |
54 | t/b |
|
53 | t/b | |
55 | t/e.h |
|
54 | t/e.h | |
56 | t/x |
|
55 | t/x | |
57 | $ hg locate -r 0 a |
|
56 | $ hg locate -r 0 a | |
58 | a |
|
57 | a | |
59 | $ hg locate -r 0 NONEXISTENT |
|
58 | $ hg locate -r 0 NONEXISTENT | |
60 | [1] |
|
59 | [1] | |
61 | $ hg locate -r 0 relpath:NONEXISTENT |
|
60 | $ hg locate -r 0 relpath:NONEXISTENT | |
62 | [1] |
|
61 | [1] | |
63 | $ hg locate -r 0 |
|
62 | $ hg locate -r 0 | |
64 | a |
|
63 | a | |
65 | b |
|
64 | b | |
66 | dir.h/foo |
|
65 | dir.h/foo | |
67 | t.h |
|
66 | t.h | |
68 | t/b |
|
67 | t/b | |
69 | t/e.h |
|
68 | t/e.h | |
70 | t/x |
|
69 | t/x | |
71 |
|
70 | |||
72 | -I/-X with relative path should work: |
|
71 | -I/-X with relative path should work: | |
73 |
|
72 | |||
74 | $ cd t |
|
73 | $ cd t | |
75 | $ hg locate |
|
74 | $ hg locate | |
76 | b |
|
75 | b | |
77 | dir.h/foo |
|
76 | dir.h/foo | |
78 | t.h |
|
77 | t.h | |
79 | t/b |
|
78 | t/b | |
80 | t/e.h |
|
79 | t/e.h | |
81 | t/x |
|
80 | t/x | |
82 | $ hg locate -I ../t |
|
81 | $ hg locate -I ../t | |
83 | t/b |
|
82 | t/b | |
84 | t/e.h |
|
83 | t/e.h | |
85 | t/x |
|
84 | t/x | |
86 |
|
85 | |||
87 | Test issue294: |
|
86 | Test issue294: | |
88 |
|
87 | |||
89 | $ cd .. |
|
88 | $ cd .. | |
90 | $ rm -r t |
|
89 | $ rm -r t | |
91 |
|
90 | |||
92 | $ hg locate 't/**' |
|
91 | $ hg locate 't/**' | |
93 | t/b |
|
92 | t/b | |
94 | t/e.h |
|
93 | t/e.h | |
95 | t/x |
|
94 | t/x | |
96 |
|
95 | |||
97 | $ mkdir otherdir |
|
96 | $ mkdir otherdir | |
98 | $ cd otherdir |
|
97 | $ cd otherdir | |
99 |
|
98 | |||
100 | $ hg locate b |
|
99 | $ hg locate b | |
101 | ../b |
|
100 | ../b | |
102 | ../t/b |
|
101 | ../t/b | |
103 | $ hg locate '*.h' |
|
102 | $ hg locate '*.h' | |
104 | ../t.h |
|
103 | ../t.h | |
105 | ../t/e.h |
|
104 | ../t/e.h | |
106 | $ hg locate path:t/x |
|
105 | $ hg locate path:t/x | |
107 | ../t/x |
|
106 | ../t/x | |
108 | $ hg locate 're:.*\.h$' |
|
107 | $ hg locate 're:.*\.h$' | |
109 | ../t.h |
|
108 | ../t.h | |
110 | ../t/e.h |
|
109 | ../t/e.h | |
111 | $ hg locate -r 0 b |
|
110 | $ hg locate -r 0 b | |
112 | ../b |
|
111 | ../b | |
113 | ../t/b |
|
112 | ../t/b | |
114 | $ hg locate -r 0 '*.h' |
|
113 | $ hg locate -r 0 '*.h' | |
115 | ../t.h |
|
114 | ../t.h | |
116 | ../t/e.h |
|
115 | ../t/e.h | |
117 | $ hg locate -r 0 path:t/x |
|
116 | $ hg locate -r 0 path:t/x | |
118 | ../t/x |
|
117 | ../t/x | |
119 | $ hg locate -r 0 're:.*\.h$' |
|
118 | $ hg locate -r 0 're:.*\.h$' | |
120 | ../t.h |
|
119 | ../t.h | |
121 | ../t/e.h |
|
120 | ../t/e.h | |
122 |
|
121 |
@@ -1,143 +1,142 b'' | |||||
1 | Test for |
|
1 | Test for | |
2 | b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again |
|
2 | b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again | |
3 | (issue897) |
|
3 | (issue897) | |
4 |
|
4 | |||
5 | 840e2b315c1f: Fix misleading error and prompts during update/merge |
|
5 | 840e2b315c1f: Fix misleading error and prompts during update/merge | |
6 | (issue556) |
|
6 | (issue556) | |
7 |
|
7 | |||
8 | $ status() { |
|
8 | $ status() { | |
9 | > [ $? -ne 0 ] && echo "failed." |
|
|||
10 | > echo "--- status ---" |
|
9 | > echo "--- status ---" | |
11 | > hg st -A file1 file2 |
|
10 | > hg st -A file1 file2 | |
12 | > for file in file1 file2; do |
|
11 | > for file in file1 file2; do | |
13 | > if [ -f $file ]; then |
|
12 | > if [ -f $file ]; then | |
14 | > echo "--- $file ---" |
|
13 | > echo "--- $file ---" | |
15 | > cat $file |
|
14 | > cat $file | |
16 | > else |
|
15 | > else | |
17 | > echo "*** $file does not exist" |
|
16 | > echo "*** $file does not exist" | |
18 | > fi |
|
17 | > fi | |
19 | > done |
|
18 | > done | |
20 | > } |
|
19 | > } | |
21 |
|
20 | |||
22 | $ hg init |
|
21 | $ hg init | |
23 |
|
22 | |||
24 | $ echo 1 > file1 |
|
23 | $ echo 1 > file1 | |
25 | $ echo 2 > file2 |
|
24 | $ echo 2 > file2 | |
26 | $ hg ci -Am 'added file1 and file2' |
|
25 | $ hg ci -Am 'added file1 and file2' | |
27 | adding file1 |
|
26 | adding file1 | |
28 | adding file2 |
|
27 | adding file2 | |
29 |
|
28 | |||
30 | $ hg rm file1 |
|
29 | $ hg rm file1 | |
31 | $ echo changed >> file2 |
|
30 | $ echo changed >> file2 | |
32 | $ hg ci -m 'removed file1, changed file2' |
|
31 | $ hg ci -m 'removed file1, changed file2' | |
33 |
|
32 | |||
34 | $ hg co 0 |
|
33 | $ hg co 0 | |
35 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
34 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
36 |
|
35 | |||
37 | $ echo changed >> file1 |
|
36 | $ echo changed >> file1 | |
38 | $ hg rm file2 |
|
37 | $ hg rm file2 | |
39 | $ hg ci -m 'changed file1, removed file2' |
|
38 | $ hg ci -m 'changed file1, removed file2' | |
40 | created new head |
|
39 | created new head | |
41 |
|
40 | |||
42 |
|
41 | |||
43 | Non-interactive merge: |
|
42 | Non-interactive merge: | |
44 |
|
43 | |||
45 |
$ hg merge -y |
|
44 | $ hg merge -y | |
46 | local changed file1 which remote deleted |
|
45 | local changed file1 which remote deleted | |
47 | use (c)hanged version or (d)elete? c |
|
46 | use (c)hanged version or (d)elete? c | |
48 | remote changed file2 which local deleted |
|
47 | remote changed file2 which local deleted | |
49 | use (c)hanged version or leave (d)eleted? c |
|
48 | use (c)hanged version or leave (d)eleted? c | |
50 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
49 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
51 | (branch merge, don't forget to commit) |
|
50 | (branch merge, don't forget to commit) | |
52 |
|
51 | |||
53 | $ status |
|
52 | $ status | |
54 | --- status --- |
|
53 | --- status --- | |
55 | M file2 |
|
54 | M file2 | |
56 | C file1 |
|
55 | C file1 | |
57 | --- file1 --- |
|
56 | --- file1 --- | |
58 | 1 |
|
57 | 1 | |
59 | changed |
|
58 | changed | |
60 | --- file2 --- |
|
59 | --- file2 --- | |
61 | 2 |
|
60 | 2 | |
62 | changed |
|
61 | changed | |
63 |
|
62 | |||
64 |
|
63 | |||
65 | Interactive merge: |
|
64 | Interactive merge: | |
66 |
|
65 | |||
67 | $ hg co -C |
|
66 | $ hg co -C | |
68 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
67 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
69 |
|
68 | |||
70 |
$ hg merge --config ui.interactive=true <<EOF |
|
69 | $ hg merge --config ui.interactive=true <<EOF | |
71 | > c |
|
70 | > c | |
72 | > d |
|
71 | > d | |
73 | > EOF |
|
72 | > EOF | |
74 | local changed file1 which remote deleted |
|
73 | local changed file1 which remote deleted | |
75 | use (c)hanged version or (d)elete? remote changed file2 which local deleted |
|
74 | use (c)hanged version or (d)elete? remote changed file2 which local deleted | |
76 | use (c)hanged version or leave (d)eleted? 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
75 | use (c)hanged version or leave (d)eleted? 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
77 | (branch merge, don't forget to commit) |
|
76 | (branch merge, don't forget to commit) | |
78 |
|
77 | |||
79 | $ status |
|
78 | $ status | |
80 | --- status --- |
|
79 | --- status --- | |
81 | file2: No such file or directory |
|
80 | file2: No such file or directory | |
82 | C file1 |
|
81 | C file1 | |
83 | --- file1 --- |
|
82 | --- file1 --- | |
84 | 1 |
|
83 | 1 | |
85 | changed |
|
84 | changed | |
86 | *** file2 does not exist |
|
85 | *** file2 does not exist | |
87 |
|
86 | |||
88 |
|
87 | |||
89 | Interactive merge with bad input: |
|
88 | Interactive merge with bad input: | |
90 |
|
89 | |||
91 | $ hg co -C |
|
90 | $ hg co -C | |
92 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
91 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
93 |
|
92 | |||
94 |
$ hg merge --config ui.interactive=true <<EOF |
|
93 | $ hg merge --config ui.interactive=true <<EOF | |
95 | > foo |
|
94 | > foo | |
96 | > bar |
|
95 | > bar | |
97 | > d |
|
96 | > d | |
98 | > baz |
|
97 | > baz | |
99 | > c |
|
98 | > c | |
100 | > EOF |
|
99 | > EOF | |
101 | local changed file1 which remote deleted |
|
100 | local changed file1 which remote deleted | |
102 | use (c)hanged version or (d)elete? unrecognized response |
|
101 | use (c)hanged version or (d)elete? unrecognized response | |
103 | local changed file1 which remote deleted |
|
102 | local changed file1 which remote deleted | |
104 | use (c)hanged version or (d)elete? unrecognized response |
|
103 | use (c)hanged version or (d)elete? unrecognized response | |
105 | local changed file1 which remote deleted |
|
104 | local changed file1 which remote deleted | |
106 | use (c)hanged version or (d)elete? remote changed file2 which local deleted |
|
105 | use (c)hanged version or (d)elete? remote changed file2 which local deleted | |
107 | use (c)hanged version or leave (d)eleted? unrecognized response |
|
106 | use (c)hanged version or leave (d)eleted? unrecognized response | |
108 | remote changed file2 which local deleted |
|
107 | remote changed file2 which local deleted | |
109 | use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
108 | use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
110 | (branch merge, don't forget to commit) |
|
109 | (branch merge, don't forget to commit) | |
111 |
|
110 | |||
112 | $ status |
|
111 | $ status | |
113 | --- status --- |
|
112 | --- status --- | |
114 | M file2 |
|
113 | M file2 | |
115 | R file1 |
|
114 | R file1 | |
116 | *** file1 does not exist |
|
115 | *** file1 does not exist | |
117 | --- file2 --- |
|
116 | --- file2 --- | |
118 | 2 |
|
117 | 2 | |
119 | changed |
|
118 | changed | |
120 |
|
119 | |||
121 |
|
120 | |||
122 | Interactive merge with not enough input: |
|
121 | Interactive merge with not enough input: | |
123 |
|
122 | |||
124 | $ hg co -C |
|
123 | $ hg co -C | |
125 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
124 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
126 |
|
125 | |||
127 |
$ hg merge --config ui.interactive=true <<EOF |
|
126 | $ hg merge --config ui.interactive=true <<EOF | |
128 | > d |
|
127 | > d | |
129 | > EOF |
|
128 | > EOF | |
130 | local changed file1 which remote deleted |
|
129 | local changed file1 which remote deleted | |
131 | use (c)hanged version or (d)elete? remote changed file2 which local deleted |
|
130 | use (c)hanged version or (d)elete? remote changed file2 which local deleted | |
132 | use (c)hanged version or leave (d)eleted? abort: response expected |
|
131 | use (c)hanged version or leave (d)eleted? abort: response expected | |
133 | failed |
|
132 | [255] | |
134 |
|
133 | |||
135 | $ status |
|
134 | $ status | |
136 | --- status --- |
|
135 | --- status --- | |
137 | file2: No such file or directory |
|
136 | file2: No such file or directory | |
138 | C file1 |
|
137 | C file1 | |
139 | --- file1 --- |
|
138 | --- file1 --- | |
140 | 1 |
|
139 | 1 | |
141 | changed |
|
140 | changed | |
142 | *** file2 does not exist |
|
141 | *** file2 does not exist | |
143 |
|
142 |
@@ -1,1390 +1,1368 b'' | |||||
1 | $ checkundo() |
|
1 | $ checkundo() | |
2 | > { |
|
2 | > { | |
3 | > if [ -f .hg/store/undo ]; then |
|
3 | > if [ -f .hg/store/undo ]; then | |
4 | > echo ".hg/store/undo still exists after $1" |
|
4 | > echo ".hg/store/undo still exists after $1" | |
5 | > fi |
|
5 | > fi | |
6 | > } |
|
6 | > } | |
7 |
|
7 | |||
8 | $ echo "[extensions]" >> $HGRCPATH |
|
8 | $ echo "[extensions]" >> $HGRCPATH | |
9 | $ echo "mq=" >> $HGRCPATH |
|
9 | $ echo "mq=" >> $HGRCPATH | |
10 |
|
10 | |||
11 | $ echo "[mq]" >> $HGRCPATH |
|
11 | $ echo "[mq]" >> $HGRCPATH | |
12 | $ echo "plain=true" >> $HGRCPATH |
|
12 | $ echo "plain=true" >> $HGRCPATH | |
13 |
|
13 | |||
14 |
|
14 | |||
15 | help |
|
15 | help | |
16 |
|
16 | |||
17 | $ hg help mq |
|
17 | $ hg help mq | |
18 | mq extension - manage a stack of patches |
|
18 | mq extension - manage a stack of patches | |
19 |
|
19 | |||
20 | This extension lets you work with a stack of patches in a Mercurial |
|
20 | This extension lets you work with a stack of patches in a Mercurial | |
21 | repository. It manages two stacks of patches - all known patches, and applied |
|
21 | repository. It manages two stacks of patches - all known patches, and applied | |
22 | patches (subset of known patches). |
|
22 | patches (subset of known patches). | |
23 |
|
23 | |||
24 | Known patches are represented as patch files in the .hg/patches directory. |
|
24 | Known patches are represented as patch files in the .hg/patches directory. | |
25 | Applied patches are both patch files and changesets. |
|
25 | Applied patches are both patch files and changesets. | |
26 |
|
26 | |||
27 | Common tasks (use "hg help command" for more details): |
|
27 | Common tasks (use "hg help command" for more details): | |
28 |
|
28 | |||
29 | create new patch qnew |
|
29 | create new patch qnew | |
30 | import existing patch qimport |
|
30 | import existing patch qimport | |
31 |
|
31 | |||
32 | print patch series qseries |
|
32 | print patch series qseries | |
33 | print applied patches qapplied |
|
33 | print applied patches qapplied | |
34 |
|
34 | |||
35 | add known patch to applied stack qpush |
|
35 | add known patch to applied stack qpush | |
36 | remove patch from applied stack qpop |
|
36 | remove patch from applied stack qpop | |
37 | refresh contents of top applied patch qrefresh |
|
37 | refresh contents of top applied patch qrefresh | |
38 |
|
38 | |||
39 | By default, mq will automatically use git patches when required to avoid |
|
39 | By default, mq will automatically use git patches when required to avoid | |
40 | losing file mode changes, copy records, binary files or empty files creations |
|
40 | losing file mode changes, copy records, binary files or empty files creations | |
41 | or deletions. This behaviour can be configured with: |
|
41 | or deletions. This behaviour can be configured with: | |
42 |
|
42 | |||
43 | [mq] |
|
43 | [mq] | |
44 | git = auto/keep/yes/no |
|
44 | git = auto/keep/yes/no | |
45 |
|
45 | |||
46 | If set to 'keep', mq will obey the [diff] section configuration while |
|
46 | If set to 'keep', mq will obey the [diff] section configuration while | |
47 | preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq |
|
47 | preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq | |
48 | will override the [diff] section and always generate git or regular patches, |
|
48 | will override the [diff] section and always generate git or regular patches, | |
49 | possibly losing data in the second case. |
|
49 | possibly losing data in the second case. | |
50 |
|
50 | |||
51 | You will by default be managing a patch queue named "patches". You can create |
|
51 | You will by default be managing a patch queue named "patches". You can create | |
52 | other, independent patch queues with the "hg qqueue" command. |
|
52 | other, independent patch queues with the "hg qqueue" command. | |
53 |
|
53 | |||
54 | list of commands: |
|
54 | list of commands: | |
55 |
|
55 | |||
56 | qapplied print the patches already applied |
|
56 | qapplied print the patches already applied | |
57 | qclone clone main and patch repository at same time |
|
57 | qclone clone main and patch repository at same time | |
58 | qdelete remove patches from queue |
|
58 | qdelete remove patches from queue | |
59 | qdiff diff of the current patch and subsequent modifications |
|
59 | qdiff diff of the current patch and subsequent modifications | |
60 | qfinish move applied patches into repository history |
|
60 | qfinish move applied patches into repository history | |
61 | qfold fold the named patches into the current patch |
|
61 | qfold fold the named patches into the current patch | |
62 | qgoto push or pop patches until named patch is at top of stack |
|
62 | qgoto push or pop patches until named patch is at top of stack | |
63 | qguard set or print guards for a patch |
|
63 | qguard set or print guards for a patch | |
64 | qheader print the header of the topmost or specified patch |
|
64 | qheader print the header of the topmost or specified patch | |
65 | qimport import a patch |
|
65 | qimport import a patch | |
66 | qnew create a new patch |
|
66 | qnew create a new patch | |
67 | qnext print the name of the next patch |
|
67 | qnext print the name of the next patch | |
68 | qpop pop the current patch off the stack |
|
68 | qpop pop the current patch off the stack | |
69 | qprev print the name of the previous patch |
|
69 | qprev print the name of the previous patch | |
70 | qpush push the next patch onto the stack |
|
70 | qpush push the next patch onto the stack | |
71 | qqueue manage multiple patch queues |
|
71 | qqueue manage multiple patch queues | |
72 | qrefresh update the current patch |
|
72 | qrefresh update the current patch | |
73 | qrename rename a patch |
|
73 | qrename rename a patch | |
74 | qselect set or print guarded patches to push |
|
74 | qselect set or print guarded patches to push | |
75 | qseries print the entire series file |
|
75 | qseries print the entire series file | |
76 | qtop print the name of the current patch |
|
76 | qtop print the name of the current patch | |
77 | qunapplied print the patches not yet applied |
|
77 | qunapplied print the patches not yet applied | |
78 | strip strip changesets and all their descendants from the repository |
|
78 | strip strip changesets and all their descendants from the repository | |
79 |
|
79 | |||
80 | use "hg -v help mq" to show aliases and global options |
|
80 | use "hg -v help mq" to show aliases and global options | |
81 |
|
81 | |||
82 | $ hg init a |
|
82 | $ hg init a | |
83 | $ cd a |
|
83 | $ cd a | |
84 | $ echo a > a |
|
84 | $ echo a > a | |
85 | $ hg ci -Ama |
|
85 | $ hg ci -Ama | |
86 | adding a |
|
86 | adding a | |
87 |
|
87 | |||
88 | $ hg clone . ../k |
|
88 | $ hg clone . ../k | |
89 | updating to branch default |
|
89 | updating to branch default | |
90 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
90 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
91 |
|
91 | |||
92 | $ mkdir b |
|
92 | $ mkdir b | |
93 | $ echo z > b/z |
|
93 | $ echo z > b/z | |
94 | $ hg ci -Ama |
|
94 | $ hg ci -Ama | |
95 | adding b/z |
|
95 | adding b/z | |
96 |
|
96 | |||
97 |
|
97 | |||
98 | qinit |
|
98 | qinit | |
99 |
|
99 | |||
100 | $ hg qinit |
|
100 | $ hg qinit | |
101 |
|
101 | |||
102 | $ cd .. |
|
102 | $ cd .. | |
103 | $ hg init b |
|
103 | $ hg init b | |
104 |
|
104 | |||
105 |
|
105 | |||
106 | -R qinit |
|
106 | -R qinit | |
107 |
|
107 | |||
108 | $ hg -R b qinit |
|
108 | $ hg -R b qinit | |
109 |
|
109 | |||
110 | $ hg init c |
|
110 | $ hg init c | |
111 |
|
111 | |||
112 |
|
112 | |||
113 | qinit -c |
|
113 | qinit -c | |
114 |
|
114 | |||
115 | $ hg --cwd c qinit -c |
|
115 | $ hg --cwd c qinit -c | |
116 | $ hg -R c/.hg/patches st |
|
116 | $ hg -R c/.hg/patches st | |
117 | A .hgignore |
|
117 | A .hgignore | |
118 | A series |
|
118 | A series | |
119 |
|
119 | |||
120 |
|
120 | |||
121 | qinit; qinit -c |
|
121 | qinit; qinit -c | |
122 |
|
122 | |||
123 | $ hg init d |
|
123 | $ hg init d | |
124 | $ cd d |
|
124 | $ cd d | |
125 | $ hg qinit |
|
125 | $ hg qinit | |
126 | $ hg qinit -c |
|
126 | $ hg qinit -c | |
127 |
|
127 | |||
128 | qinit -c should create both files if they don't exist |
|
128 | qinit -c should create both files if they don't exist | |
129 |
|
129 | |||
130 | $ cat .hg/patches/.hgignore |
|
130 | $ cat .hg/patches/.hgignore | |
131 | ^\.hg |
|
131 | ^\.hg | |
132 | ^\.mq |
|
132 | ^\.mq | |
133 | syntax: glob |
|
133 | syntax: glob | |
134 | status |
|
134 | status | |
135 | guards |
|
135 | guards | |
136 | $ cat .hg/patches/series |
|
136 | $ cat .hg/patches/series | |
137 | $ hg qinit -c |
|
137 | $ hg qinit -c | |
138 | abort: repository .* already exists! |
|
138 | abort: repository .* already exists! | |
139 | [255] |
|
139 | [255] | |
140 | $ cd .. |
|
140 | $ cd .. | |
141 |
|
141 | |||
142 | $ echo '% qinit; <stuff>; qinit -c' |
|
142 | $ echo '% qinit; <stuff>; qinit -c' | |
143 | % qinit; <stuff>; qinit -c |
|
143 | % qinit; <stuff>; qinit -c | |
144 | $ hg init e |
|
144 | $ hg init e | |
145 | $ cd e |
|
145 | $ cd e | |
146 | $ hg qnew A |
|
146 | $ hg qnew A | |
147 | $ checkundo qnew |
|
147 | $ checkundo qnew | |
148 | $ echo foo > foo |
|
148 | $ echo foo > foo | |
149 | $ hg add foo |
|
149 | $ hg add foo | |
150 | $ hg qrefresh |
|
150 | $ hg qrefresh | |
151 | $ hg qnew B |
|
151 | $ hg qnew B | |
152 | $ echo >> foo |
|
152 | $ echo >> foo | |
153 | $ hg qrefresh |
|
153 | $ hg qrefresh | |
154 | $ echo status >> .hg/patches/.hgignore |
|
154 | $ echo status >> .hg/patches/.hgignore | |
155 | $ echo bleh >> .hg/patches/.hgignore |
|
155 | $ echo bleh >> .hg/patches/.hgignore | |
156 | $ hg qinit -c |
|
156 | $ hg qinit -c | |
157 | adding .hg/patches/A |
|
157 | adding .hg/patches/A | |
158 | adding .hg/patches/B |
|
158 | adding .hg/patches/B | |
159 | $ hg -R .hg/patches status |
|
159 | $ hg -R .hg/patches status | |
160 | A .hgignore |
|
160 | A .hgignore | |
161 | A A |
|
161 | A A | |
162 | A B |
|
162 | A B | |
163 | A series |
|
163 | A series | |
164 |
|
164 | |||
165 | qinit -c shouldn't touch these files if they already exist |
|
165 | qinit -c shouldn't touch these files if they already exist | |
166 |
|
166 | |||
167 | $ cat .hg/patches/.hgignore |
|
167 | $ cat .hg/patches/.hgignore | |
168 | status |
|
168 | status | |
169 | bleh |
|
169 | bleh | |
170 | $ cat .hg/patches/series |
|
170 | $ cat .hg/patches/series | |
171 | A |
|
171 | A | |
172 | B |
|
172 | B | |
173 |
|
173 | |||
174 | add an untracked file |
|
174 | add an untracked file | |
175 |
|
175 | |||
176 | $ echo >> .hg/patches/flaf |
|
176 | $ echo >> .hg/patches/flaf | |
177 |
|
177 | |||
178 | status --mq with color (issue2096) |
|
178 | status --mq with color (issue2096) | |
179 |
|
179 | |||
180 | $ hg status --mq --config extensions.color= --color=always |
|
180 | $ hg status --mq --config extensions.color= --color=always | |
181 | [0;32;1mA .hgignore[0m |
|
181 | [0;32;1mA .hgignore[0m | |
182 | [0;32;1mA A[0m |
|
182 | [0;32;1mA A[0m | |
183 | [0;32;1mA B[0m |
|
183 | [0;32;1mA B[0m | |
184 | [0;32;1mA series[0m |
|
184 | [0;32;1mA series[0m | |
185 | [0;35;1;4m? flaf[0m |
|
185 | [0;35;1;4m? flaf[0m | |
186 |
|
186 | |||
187 | try the --mq option on a command provided by an extension |
|
187 | try the --mq option on a command provided by an extension | |
188 |
|
188 | |||
189 | $ hg purge --mq --verbose --config extensions.purge= |
|
189 | $ hg purge --mq --verbose --config extensions.purge= | |
190 | Removing file flaf |
|
190 | Removing file flaf | |
191 |
|
191 | |||
192 | $ cd .. |
|
192 | $ cd .. | |
193 |
|
193 | |||
194 | init --mq without repo |
|
194 | init --mq without repo | |
195 |
|
195 | |||
196 | $ mkdir f |
|
196 | $ mkdir f | |
197 | $ cd f |
|
197 | $ cd f | |
198 | $ hg init --mq |
|
198 | $ hg init --mq | |
199 | abort: there is no Mercurial repository here (.hg not found) |
|
199 | abort: there is no Mercurial repository here (.hg not found) | |
200 | [255] |
|
200 | [255] | |
201 | $ cd .. |
|
201 | $ cd .. | |
202 |
|
202 | |||
203 | init --mq with repo path |
|
203 | init --mq with repo path | |
204 |
|
204 | |||
205 | $ hg init g |
|
205 | $ hg init g | |
206 | $ hg init --mq g |
|
206 | $ hg init --mq g | |
207 |
$ test -d g/.hg/patches/.hg |
|
207 | $ test -d g/.hg/patches/.hg | |
208 | ok |
|
|||
209 |
|
208 | |||
210 | init --mq with nonexistent directory |
|
209 | init --mq with nonexistent directory | |
211 |
|
210 | |||
212 | $ hg init --mq nonexistentdir |
|
211 | $ hg init --mq nonexistentdir | |
213 | abort: repository nonexistentdir not found! |
|
212 | abort: repository nonexistentdir not found! | |
214 | [255] |
|
213 | [255] | |
215 |
|
214 | |||
216 |
|
215 | |||
217 | init --mq with bundle (non "local") |
|
216 | init --mq with bundle (non "local") | |
218 |
|
217 | |||
219 | $ hg -R a bundle --all a.bundle >/dev/null |
|
218 | $ hg -R a bundle --all a.bundle >/dev/null | |
220 | $ hg init --mq a.bundle |
|
219 | $ hg init --mq a.bundle | |
221 | abort: only a local queue repository may be initialized |
|
220 | abort: only a local queue repository may be initialized | |
222 | [255] |
|
221 | [255] | |
223 |
|
222 | |||
224 | $ cd a |
|
223 | $ cd a | |
225 |
|
224 | |||
226 | $ hg qnew -m 'foo bar' test.patch |
|
225 | $ hg qnew -m 'foo bar' test.patch | |
227 |
|
226 | |||
228 | $ echo '# comment' > .hg/patches/series.tmp |
|
227 | $ echo '# comment' > .hg/patches/series.tmp | |
229 | $ echo >> .hg/patches/series.tmp # empty line |
|
228 | $ echo >> .hg/patches/series.tmp # empty line | |
230 | $ cat .hg/patches/series >> .hg/patches/series.tmp |
|
229 | $ cat .hg/patches/series >> .hg/patches/series.tmp | |
231 | $ mv .hg/patches/series.tmp .hg/patches/series |
|
230 | $ mv .hg/patches/series.tmp .hg/patches/series | |
232 |
|
231 | |||
233 |
|
232 | |||
234 | qrefresh |
|
233 | qrefresh | |
235 |
|
234 | |||
236 | $ echo a >> a |
|
235 | $ echo a >> a | |
237 | $ hg qrefresh |
|
236 | $ hg qrefresh | |
238 | $ cat .hg/patches/test.patch |
|
237 | $ cat .hg/patches/test.patch | |
239 | foo bar |
|
238 | foo bar | |
240 |
|
239 | |||
241 | diff -r [a-f0-9]* a |
|
240 | diff -r [a-f0-9]* a | |
242 | --- a/a\t(?P<date>.*) |
|
241 | --- a/a\t(?P<date>.*) | |
243 | \+\+\+ b/a\t(?P<date2>.*) |
|
242 | \+\+\+ b/a\t(?P<date2>.*) | |
244 | @@ -1,1 +1,2 @@ |
|
243 | @@ -1,1 +1,2 @@ | |
245 | a |
|
244 | a | |
246 | +a |
|
245 | +a | |
247 |
|
246 | |||
248 | empty qrefresh |
|
247 | empty qrefresh | |
249 |
|
248 | |||
250 | $ hg qrefresh -X a |
|
249 | $ hg qrefresh -X a | |
251 |
|
250 | |||
252 | revision: |
|
251 | revision: | |
253 |
|
252 | |||
254 | $ hg diff -r -2 -r -1 |
|
253 | $ hg diff -r -2 -r -1 | |
255 |
|
254 | |||
256 | patch: |
|
255 | patch: | |
257 |
|
256 | |||
258 | $ cat .hg/patches/test.patch |
|
257 | $ cat .hg/patches/test.patch | |
259 | foo bar |
|
258 | foo bar | |
260 |
|
259 | |||
261 |
|
260 | |||
262 | working dir diff: |
|
261 | working dir diff: | |
263 |
|
262 | |||
264 | $ hg diff --nodates -q |
|
263 | $ hg diff --nodates -q | |
265 | --- a/a |
|
264 | --- a/a | |
266 | +++ b/a |
|
265 | +++ b/a | |
267 | @@ -1,1 +1,2 @@ |
|
266 | @@ -1,1 +1,2 @@ | |
268 | a |
|
267 | a | |
269 | +a |
|
268 | +a | |
270 |
|
269 | |||
271 | restore things |
|
270 | restore things | |
272 |
|
271 | |||
273 | $ hg qrefresh |
|
272 | $ hg qrefresh | |
274 | $ checkundo qrefresh |
|
273 | $ checkundo qrefresh | |
275 |
|
274 | |||
276 |
|
275 | |||
277 | qpop |
|
276 | qpop | |
278 |
|
277 | |||
279 | $ hg qpop |
|
278 | $ hg qpop | |
280 | popping test.patch |
|
279 | popping test.patch | |
281 | patch queue now empty |
|
280 | patch queue now empty | |
282 | $ checkundo qpop |
|
281 | $ checkundo qpop | |
283 |
|
282 | |||
284 |
|
283 | |||
285 | qpush with dump of tag cache |
|
284 | qpush with dump of tag cache | |
286 | Dump the tag cache to ensure that it has exactly one head after qpush. |
|
285 | Dump the tag cache to ensure that it has exactly one head after qpush. | |
287 |
|
286 | |||
288 | $ rm -f .hg/tags.cache |
|
287 | $ rm -f .hg/tags.cache | |
289 | $ hg tags > /dev/null |
|
288 | $ hg tags > /dev/null | |
290 |
|
289 | |||
291 | .hg/tags.cache (pre qpush): |
|
290 | .hg/tags.cache (pre qpush): | |
292 |
|
291 | |||
293 | $ cat .hg/tags.cache |
|
292 | $ cat .hg/tags.cache | |
294 | 1 [\da-f]{40} |
|
293 | 1 [\da-f]{40} | |
295 |
|
294 | |||
296 | $ hg qpush |
|
295 | $ hg qpush | |
297 | applying test.patch |
|
296 | applying test.patch | |
298 | now at: test.patch |
|
297 | now at: test.patch | |
299 | $ hg tags > /dev/null |
|
298 | $ hg tags > /dev/null | |
300 |
|
299 | |||
301 | .hg/tags.cache (post qpush): |
|
300 | .hg/tags.cache (post qpush): | |
302 |
|
301 | |||
303 | $ cat .hg/tags.cache |
|
302 | $ cat .hg/tags.cache | |
304 | 2 [\da-f]{40} |
|
303 | 2 [\da-f]{40} | |
305 |
|
304 | |||
306 | $ checkundo qpush |
|
305 | $ checkundo qpush | |
307 | $ cd .. |
|
306 | $ cd .. | |
308 |
|
307 | |||
309 |
|
308 | |||
310 | pop/push outside repo |
|
309 | pop/push outside repo | |
311 | $ hg -R a qpop |
|
310 | $ hg -R a qpop | |
312 | popping test.patch |
|
311 | popping test.patch | |
313 | patch queue now empty |
|
312 | patch queue now empty | |
314 | $ hg -R a qpush |
|
313 | $ hg -R a qpush | |
315 | applying test.patch |
|
314 | applying test.patch | |
316 | now at: test.patch |
|
315 | now at: test.patch | |
317 |
|
316 | |||
318 | $ cd a |
|
317 | $ cd a | |
319 | $ hg qnew test2.patch |
|
318 | $ hg qnew test2.patch | |
320 |
|
319 | |||
321 | qrefresh in subdir |
|
320 | qrefresh in subdir | |
322 |
|
321 | |||
323 | $ cd b |
|
322 | $ cd b | |
324 | $ echo a > a |
|
323 | $ echo a > a | |
325 | $ hg add a |
|
324 | $ hg add a | |
326 | $ hg qrefresh |
|
325 | $ hg qrefresh | |
327 |
|
326 | |||
328 | pop/push -a in subdir |
|
327 | pop/push -a in subdir | |
329 |
|
328 | |||
330 | $ hg qpop -a |
|
329 | $ hg qpop -a | |
331 | popping test2.patch |
|
330 | popping test2.patch | |
332 | popping test.patch |
|
331 | popping test.patch | |
333 | patch queue now empty |
|
332 | patch queue now empty | |
334 | $ hg --traceback qpush -a |
|
333 | $ hg --traceback qpush -a | |
335 | applying test.patch |
|
334 | applying test.patch | |
336 | applying test2.patch |
|
335 | applying test2.patch | |
337 | now at: test2.patch |
|
336 | now at: test2.patch | |
338 |
|
337 | |||
339 |
|
338 | |||
340 | setting columns & formatted tests truncating (issue1912) |
|
339 | setting columns & formatted tests truncating (issue1912) | |
341 |
|
340 | |||
342 | $ COLUMNS=4 hg qseries --config ui.formatted=true |
|
341 | $ COLUMNS=4 hg qseries --config ui.formatted=true | |
343 | test.patch |
|
342 | test.patch | |
344 | test2.patch |
|
343 | test2.patch | |
345 | $ COLUMNS=20 hg qseries --config ui.formatted=true -vs |
|
344 | $ COLUMNS=20 hg qseries --config ui.formatted=true -vs | |
346 | 0 A test.patch: f... |
|
345 | 0 A test.patch: f... | |
347 | 1 A test2.patch: |
|
346 | 1 A test2.patch: | |
348 | $ hg qpop |
|
347 | $ hg qpop | |
349 | popping test2.patch |
|
348 | popping test2.patch | |
350 | now at: test.patch |
|
349 | now at: test.patch | |
351 | $ hg qseries -vs |
|
350 | $ hg qseries -vs | |
352 | 0 A test.patch: foo bar |
|
351 | 0 A test.patch: foo bar | |
353 | 1 U test2.patch: |
|
352 | 1 U test2.patch: | |
354 | $ hg sum | grep mq |
|
353 | $ hg sum | grep mq | |
355 | mq: 1 applied, 1 unapplied |
|
354 | mq: 1 applied, 1 unapplied | |
356 | $ hg qpush |
|
355 | $ hg qpush | |
357 | applying test2.patch |
|
356 | applying test2.patch | |
358 | now at: test2.patch |
|
357 | now at: test2.patch | |
359 | $ hg sum | grep mq |
|
358 | $ hg sum | grep mq | |
360 | mq: 2 applied |
|
359 | mq: 2 applied | |
361 | $ hg qapplied |
|
360 | $ hg qapplied | |
362 | test.patch |
|
361 | test.patch | |
363 | test2.patch |
|
362 | test2.patch | |
364 | $ hg qtop |
|
363 | $ hg qtop | |
365 | test2.patch |
|
364 | test2.patch | |
366 |
|
365 | |||
367 |
|
366 | |||
368 | prev |
|
367 | prev | |
369 |
|
368 | |||
370 | $ hg qapp -1 |
|
369 | $ hg qapp -1 | |
371 | test.patch |
|
370 | test.patch | |
372 |
|
371 | |||
373 | next |
|
372 | next | |
374 |
|
373 | |||
375 | $ hg qunapp -1 |
|
374 | $ hg qunapp -1 | |
376 | all patches applied |
|
375 | all patches applied | |
377 | [1] |
|
376 | [1] | |
378 |
|
377 | |||
379 | $ hg qpop |
|
378 | $ hg qpop | |
380 | popping test2.patch |
|
379 | popping test2.patch | |
381 | now at: test.patch |
|
380 | now at: test.patch | |
382 |
|
381 | |||
383 | commit should fail |
|
382 | commit should fail | |
384 |
|
383 | |||
385 | $ hg commit |
|
384 | $ hg commit | |
386 | abort: cannot commit over an applied mq patch |
|
385 | abort: cannot commit over an applied mq patch | |
387 | [255] |
|
386 | [255] | |
388 |
|
387 | |||
389 | push should fail |
|
388 | push should fail | |
390 |
|
389 | |||
391 | $ hg push ../../k |
|
390 | $ hg push ../../k | |
392 | pushing to ../../k |
|
391 | pushing to ../../k | |
393 | abort: source has mq patches applied |
|
392 | abort: source has mq patches applied | |
394 | [255] |
|
393 | [255] | |
395 |
|
394 | |||
396 |
|
395 | |||
397 | import should fail |
|
396 | import should fail | |
398 |
|
397 | |||
399 | $ hg st . |
|
398 | $ hg st . | |
400 | $ echo foo >> ../a |
|
399 | $ echo foo >> ../a | |
401 | $ hg diff > ../../import.diff |
|
400 | $ hg diff > ../../import.diff | |
402 | $ hg revert --no-backup ../a |
|
401 | $ hg revert --no-backup ../a | |
403 | $ hg import ../../import.diff |
|
402 | $ hg import ../../import.diff | |
404 | abort: cannot import over an applied patch |
|
403 | abort: cannot import over an applied patch | |
405 | [255] |
|
404 | [255] | |
406 | $ hg st |
|
405 | $ hg st | |
407 |
|
406 | |||
408 | import --no-commit should succeed |
|
407 | import --no-commit should succeed | |
409 |
|
408 | |||
410 | $ hg import --no-commit ../../import.diff |
|
409 | $ hg import --no-commit ../../import.diff | |
411 | applying ../../import.diff |
|
410 | applying ../../import.diff | |
412 | $ hg st |
|
411 | $ hg st | |
413 | M a |
|
412 | M a | |
414 | $ hg revert --no-backup ../a |
|
413 | $ hg revert --no-backup ../a | |
415 |
|
414 | |||
416 |
|
415 | |||
417 | qunapplied |
|
416 | qunapplied | |
418 |
|
417 | |||
419 | $ hg qunapplied |
|
418 | $ hg qunapplied | |
420 | test2.patch |
|
419 | test2.patch | |
421 |
|
420 | |||
422 |
|
421 | |||
423 | qpush/qpop with index |
|
422 | qpush/qpop with index | |
424 |
|
423 | |||
425 | $ hg qnew test1b.patch |
|
424 | $ hg qnew test1b.patch | |
426 | $ echo 1b > 1b |
|
425 | $ echo 1b > 1b | |
427 | $ hg add 1b |
|
426 | $ hg add 1b | |
428 | $ hg qrefresh |
|
427 | $ hg qrefresh | |
429 | $ hg qpush 2 |
|
428 | $ hg qpush 2 | |
430 | applying test2.patch |
|
429 | applying test2.patch | |
431 | now at: test2.patch |
|
430 | now at: test2.patch | |
432 | $ hg qpop 0 |
|
431 | $ hg qpop 0 | |
433 | popping test2.patch |
|
432 | popping test2.patch | |
434 | popping test1b.patch |
|
433 | popping test1b.patch | |
435 | now at: test.patch |
|
434 | now at: test.patch | |
436 | $ hg qpush test.patch+1 |
|
435 | $ hg qpush test.patch+1 | |
437 | applying test1b.patch |
|
436 | applying test1b.patch | |
438 | now at: test1b.patch |
|
437 | now at: test1b.patch | |
439 | $ hg qpush test.patch+2 |
|
438 | $ hg qpush test.patch+2 | |
440 | applying test2.patch |
|
439 | applying test2.patch | |
441 | now at: test2.patch |
|
440 | now at: test2.patch | |
442 | $ hg qpop test2.patch-1 |
|
441 | $ hg qpop test2.patch-1 | |
443 | popping test2.patch |
|
442 | popping test2.patch | |
444 | now at: test1b.patch |
|
443 | now at: test1b.patch | |
445 | $ hg qpop test2.patch-2 |
|
444 | $ hg qpop test2.patch-2 | |
446 | popping test1b.patch |
|
445 | popping test1b.patch | |
447 | now at: test.patch |
|
446 | now at: test.patch | |
448 | $ hg qpush test1b.patch+1 |
|
447 | $ hg qpush test1b.patch+1 | |
449 | applying test1b.patch |
|
448 | applying test1b.patch | |
450 | applying test2.patch |
|
449 | applying test2.patch | |
451 | now at: test2.patch |
|
450 | now at: test2.patch | |
452 |
|
451 | |||
453 |
|
452 | |||
454 | qpush --move |
|
453 | qpush --move | |
455 |
|
454 | |||
456 | $ hg qpop -a |
|
455 | $ hg qpop -a | |
457 | popping test2.patch |
|
456 | popping test2.patch | |
458 | popping test1b.patch |
|
457 | popping test1b.patch | |
459 | popping test.patch |
|
458 | popping test.patch | |
460 | patch queue now empty |
|
459 | patch queue now empty | |
461 | $ hg qguard test1b.patch -- -negguard |
|
460 | $ hg qguard test1b.patch -- -negguard | |
462 | $ hg qguard test2.patch -- +posguard |
|
461 | $ hg qguard test2.patch -- +posguard | |
463 | $ hg qpush --move test2.patch # can't move guarded patch |
|
462 | $ hg qpush --move test2.patch # can't move guarded patch | |
464 | cannot push 'test2.patch' - guarded by ['+posguard'] |
|
463 | cannot push 'test2.patch' - guarded by ['+posguard'] | |
465 | [1] |
|
464 | [1] | |
466 | $ hg qselect posguard |
|
465 | $ hg qselect posguard | |
467 | number of unguarded, unapplied patches has changed from 2 to 3 |
|
466 | number of unguarded, unapplied patches has changed from 2 to 3 | |
468 | $ hg qpush --move test2.patch # move to front |
|
467 | $ hg qpush --move test2.patch # move to front | |
469 | applying test2.patch |
|
468 | applying test2.patch | |
470 | now at: test2.patch |
|
469 | now at: test2.patch | |
471 | $ hg qpush --move test1b.patch # negative guard unselected |
|
470 | $ hg qpush --move test1b.patch # negative guard unselected | |
472 | applying test1b.patch |
|
471 | applying test1b.patch | |
473 | now at: test1b.patch |
|
472 | now at: test1b.patch | |
474 | $ hg qpush --move test.patch # noop move |
|
473 | $ hg qpush --move test.patch # noop move | |
475 | applying test.patch |
|
474 | applying test.patch | |
476 | now at: test.patch |
|
475 | now at: test.patch | |
477 | $ hg qseries -v |
|
476 | $ hg qseries -v | |
478 | 0 A test2.patch |
|
477 | 0 A test2.patch | |
479 | 1 A test1b.patch |
|
478 | 1 A test1b.patch | |
480 | 2 A test.patch |
|
479 | 2 A test.patch | |
481 | $ hg qpop -a |
|
480 | $ hg qpop -a | |
482 | popping test.patch |
|
481 | popping test.patch | |
483 | popping test1b.patch |
|
482 | popping test1b.patch | |
484 | popping test2.patch |
|
483 | popping test2.patch | |
485 | patch queue now empty |
|
484 | patch queue now empty | |
486 |
|
485 | |||
487 | cleaning up |
|
486 | cleaning up | |
488 |
|
487 | |||
489 | $ hg qselect --none |
|
488 | $ hg qselect --none | |
490 | guards deactivated |
|
489 | guards deactivated | |
491 | number of unguarded, unapplied patches has changed from 3 to 2 |
|
490 | number of unguarded, unapplied patches has changed from 3 to 2 | |
492 | $ hg qguard --none test1b.patch |
|
491 | $ hg qguard --none test1b.patch | |
493 | $ hg qguard --none test2.patch |
|
492 | $ hg qguard --none test2.patch | |
494 | $ hg qpush --move test.patch |
|
493 | $ hg qpush --move test.patch | |
495 | applying test.patch |
|
494 | applying test.patch | |
496 | now at: test.patch |
|
495 | now at: test.patch | |
497 | $ hg qpush --move test1b.patch |
|
496 | $ hg qpush --move test1b.patch | |
498 | applying test1b.patch |
|
497 | applying test1b.patch | |
499 | now at: test1b.patch |
|
498 | now at: test1b.patch | |
500 | $ hg qpush --move bogus # nonexistent patch |
|
499 | $ hg qpush --move bogus # nonexistent patch | |
501 | abort: patch bogus not in series |
|
500 | abort: patch bogus not in series | |
502 | [255] |
|
501 | [255] | |
503 | $ hg qpush --move # no patch |
|
502 | $ hg qpush --move # no patch | |
504 | abort: please specify the patch to move |
|
503 | abort: please specify the patch to move | |
505 | [255] |
|
504 | [255] | |
506 | $ hg qpush --move test.patch # already applied |
|
505 | $ hg qpush --move test.patch # already applied | |
507 | abort: cannot push to a previous patch: test.patch |
|
506 | abort: cannot push to a previous patch: test.patch | |
508 | [255] |
|
507 | [255] | |
509 | $ hg qpush |
|
508 | $ hg qpush | |
510 | applying test2.patch |
|
509 | applying test2.patch | |
511 | now at: test2.patch |
|
510 | now at: test2.patch | |
512 |
|
511 | |||
513 |
|
512 | |||
514 | series after move |
|
513 | series after move | |
515 |
|
514 | |||
516 | $ cat `hg root`/.hg/patches/series |
|
515 | $ cat `hg root`/.hg/patches/series | |
517 | test.patch |
|
516 | test.patch | |
518 | test1b.patch |
|
517 | test1b.patch | |
519 | test2.patch |
|
518 | test2.patch | |
520 | # comment |
|
519 | # comment | |
521 |
|
520 | |||
522 |
|
521 | |||
523 |
|
522 | |||
524 | pop, qapplied, qunapplied |
|
523 | pop, qapplied, qunapplied | |
525 |
|
524 | |||
526 | $ hg qseries -v |
|
525 | $ hg qseries -v | |
527 | 0 A test.patch |
|
526 | 0 A test.patch | |
528 | 1 A test1b.patch |
|
527 | 1 A test1b.patch | |
529 | 2 A test2.patch |
|
528 | 2 A test2.patch | |
530 |
|
529 | |||
531 | qapplied -1 test.patch |
|
530 | qapplied -1 test.patch | |
532 |
|
531 | |||
533 | $ hg qapplied -1 test.patch |
|
532 | $ hg qapplied -1 test.patch | |
534 | only one patch applied |
|
533 | only one patch applied | |
535 | [1] |
|
534 | [1] | |
536 |
|
535 | |||
537 | qapplied -1 test1b.patch |
|
536 | qapplied -1 test1b.patch | |
538 |
|
537 | |||
539 | $ hg qapplied -1 test1b.patch |
|
538 | $ hg qapplied -1 test1b.patch | |
540 | test.patch |
|
539 | test.patch | |
541 |
|
540 | |||
542 | qapplied -1 test2.patch |
|
541 | qapplied -1 test2.patch | |
543 |
|
542 | |||
544 | $ hg qapplied -1 test2.patch |
|
543 | $ hg qapplied -1 test2.patch | |
545 | test1b.patch |
|
544 | test1b.patch | |
546 |
|
545 | |||
547 | qapplied -1 |
|
546 | qapplied -1 | |
548 |
|
547 | |||
549 | $ hg qapplied -1 |
|
548 | $ hg qapplied -1 | |
550 | test1b.patch |
|
549 | test1b.patch | |
551 |
|
550 | |||
552 | qapplied |
|
551 | qapplied | |
553 |
|
552 | |||
554 | $ hg qapplied |
|
553 | $ hg qapplied | |
555 | test.patch |
|
554 | test.patch | |
556 | test1b.patch |
|
555 | test1b.patch | |
557 | test2.patch |
|
556 | test2.patch | |
558 |
|
557 | |||
559 | qapplied test1b.patch |
|
558 | qapplied test1b.patch | |
560 |
|
559 | |||
561 | $ hg qapplied test1b.patch |
|
560 | $ hg qapplied test1b.patch | |
562 | test.patch |
|
561 | test.patch | |
563 | test1b.patch |
|
562 | test1b.patch | |
564 |
|
563 | |||
565 | qunapplied -1 |
|
564 | qunapplied -1 | |
566 |
|
565 | |||
567 | $ hg qunapplied -1 |
|
566 | $ hg qunapplied -1 | |
568 | all patches applied |
|
567 | all patches applied | |
569 | [1] |
|
568 | [1] | |
570 |
|
569 | |||
571 | qunapplied |
|
570 | qunapplied | |
572 |
|
571 | |||
573 | $ hg qunapplied |
|
572 | $ hg qunapplied | |
574 |
|
573 | |||
575 | popping |
|
574 | popping | |
576 |
|
575 | |||
577 | $ hg qpop |
|
576 | $ hg qpop | |
578 | popping test2.patch |
|
577 | popping test2.patch | |
579 | now at: test1b.patch |
|
578 | now at: test1b.patch | |
580 |
|
579 | |||
581 | qunapplied -1 |
|
580 | qunapplied -1 | |
582 |
|
581 | |||
583 | $ hg qunapplied -1 |
|
582 | $ hg qunapplied -1 | |
584 | test2.patch |
|
583 | test2.patch | |
585 |
|
584 | |||
586 | qunapplied |
|
585 | qunapplied | |
587 |
|
586 | |||
588 | $ hg qunapplied |
|
587 | $ hg qunapplied | |
589 | test2.patch |
|
588 | test2.patch | |
590 |
|
589 | |||
591 | qunapplied test2.patch |
|
590 | qunapplied test2.patch | |
592 |
|
591 | |||
593 | $ hg qunapplied test2.patch |
|
592 | $ hg qunapplied test2.patch | |
594 |
|
593 | |||
595 | qunapplied -1 test2.patch |
|
594 | qunapplied -1 test2.patch | |
596 |
|
595 | |||
597 | $ hg qunapplied -1 test2.patch |
|
596 | $ hg qunapplied -1 test2.patch | |
598 | all patches applied |
|
597 | all patches applied | |
599 | [1] |
|
598 | [1] | |
600 |
|
599 | |||
601 | popping -a |
|
600 | popping -a | |
602 |
|
601 | |||
603 | $ hg qpop -a |
|
602 | $ hg qpop -a | |
604 | popping test1b.patch |
|
603 | popping test1b.patch | |
605 | popping test.patch |
|
604 | popping test.patch | |
606 | patch queue now empty |
|
605 | patch queue now empty | |
607 |
|
606 | |||
608 | qapplied |
|
607 | qapplied | |
609 |
|
608 | |||
610 | $ hg qapplied |
|
609 | $ hg qapplied | |
611 |
|
610 | |||
612 | qapplied -1 |
|
611 | qapplied -1 | |
613 |
|
612 | |||
614 | $ hg qapplied -1 |
|
613 | $ hg qapplied -1 | |
615 | no patches applied |
|
614 | no patches applied | |
616 | [1] |
|
615 | [1] | |
617 | $ hg qpush |
|
616 | $ hg qpush | |
618 | applying test.patch |
|
617 | applying test.patch | |
619 | now at: test.patch |
|
618 | now at: test.patch | |
620 |
|
619 | |||
621 |
|
620 | |||
622 | push should succeed |
|
621 | push should succeed | |
623 |
|
622 | |||
624 | $ hg qpop -a |
|
623 | $ hg qpop -a | |
625 | popping test.patch |
|
624 | popping test.patch | |
626 | patch queue now empty |
|
625 | patch queue now empty | |
627 | $ hg push ../../k |
|
626 | $ hg push ../../k | |
628 | pushing to ../../k |
|
627 | pushing to ../../k | |
629 | searching for changes |
|
628 | searching for changes | |
630 | adding changesets |
|
629 | adding changesets | |
631 | adding manifests |
|
630 | adding manifests | |
632 | adding file changes |
|
631 | adding file changes | |
633 | added 1 changesets with 1 changes to 1 files |
|
632 | added 1 changesets with 1 changes to 1 files | |
634 |
|
633 | |||
635 |
|
634 | |||
636 | qpush/qpop error codes |
|
|||
637 |
|
||||
638 | $ errorcode() |
|
|||
639 | > { |
|
|||
640 | > hg "$@" && echo " $@ succeeds" || echo " $@ fails" |
|
|||
641 | > } |
|
|||
642 |
|
||||
643 |
|
||||
644 | we want to start with some patches applied |
|
635 | we want to start with some patches applied | |
645 |
|
636 | |||
646 | $ hg qpush -a |
|
637 | $ hg qpush -a | |
647 | applying test.patch |
|
638 | applying test.patch | |
648 | applying test1b.patch |
|
639 | applying test1b.patch | |
649 | applying test2.patch |
|
640 | applying test2.patch | |
650 | now at: test2.patch |
|
641 | now at: test2.patch | |
651 |
|
642 | |||
652 | % pops all patches and succeeds |
|
643 | % pops all patches and succeeds | |
653 |
|
644 | |||
654 |
$ |
|
645 | $ hg qpop -a | |
655 | popping test2.patch |
|
646 | popping test2.patch | |
656 | popping test1b.patch |
|
647 | popping test1b.patch | |
657 | popping test.patch |
|
648 | popping test.patch | |
658 | patch queue now empty |
|
649 | patch queue now empty | |
659 | qpop -a succeeds |
|
|||
660 |
|
650 | |||
661 | % does nothing and succeeds |
|
651 | % does nothing and succeeds | |
662 |
|
652 | |||
663 |
$ |
|
653 | $ hg qpop -a | |
664 | no patches applied |
|
654 | no patches applied | |
665 | qpop -a succeeds |
|
|||
666 |
|
655 | |||
667 | % fails - nothing else to pop |
|
656 | % fails - nothing else to pop | |
668 |
|
657 | |||
669 |
$ |
|
658 | $ hg qpop | |
670 | no patches applied |
|
659 | no patches applied | |
671 | qpop fails |
|
660 | [1] | |
672 |
|
661 | |||
673 | % pushes a patch and succeeds |
|
662 | % pushes a patch and succeeds | |
674 |
|
663 | |||
675 |
$ |
|
664 | $ hg qpush | |
676 | applying test.patch |
|
665 | applying test.patch | |
677 | now at: test.patch |
|
666 | now at: test.patch | |
678 | qpush succeeds |
|
|||
679 |
|
667 | |||
680 | % pops a patch and succeeds |
|
668 | % pops a patch and succeeds | |
681 |
|
669 | |||
682 |
$ |
|
670 | $ hg qpop | |
683 | popping test.patch |
|
671 | popping test.patch | |
684 | patch queue now empty |
|
672 | patch queue now empty | |
685 | qpop succeeds |
|
|||
686 |
|
673 | |||
687 | % pushes up to test1b.patch and succeeds |
|
674 | % pushes up to test1b.patch and succeeds | |
688 |
|
675 | |||
689 |
$ |
|
676 | $ hg qpush test1b.patch | |
690 | applying test.patch |
|
677 | applying test.patch | |
691 | applying test1b.patch |
|
678 | applying test1b.patch | |
692 | now at: test1b.patch |
|
679 | now at: test1b.patch | |
693 | qpush test1b.patch succeeds |
|
|||
694 |
|
680 | |||
695 | % does nothing and succeeds |
|
681 | % does nothing and succeeds | |
696 |
|
682 | |||
697 |
$ |
|
683 | $ hg qpush test1b.patch | |
698 | qpush: test1b.patch is already at the top |
|
684 | qpush: test1b.patch is already at the top | |
699 | qpush test1b.patch succeeds |
|
|||
700 |
|
685 | |||
701 | % does nothing and succeeds |
|
686 | % does nothing and succeeds | |
702 |
|
687 | |||
703 |
$ |
|
688 | $ hg qpop test1b.patch | |
704 | qpop: test1b.patch is already at the top |
|
689 | qpop: test1b.patch is already at the top | |
705 | qpop test1b.patch succeeds |
|
|||
706 |
|
690 | |||
707 | % fails - can't push to this patch |
|
691 | % fails - can't push to this patch | |
708 |
|
692 | |||
709 |
$ |
|
693 | $ hg qpush test.patch | |
710 | abort: cannot push to a previous patch: test.patch |
|
694 | abort: cannot push to a previous patch: test.patch | |
711 | qpush test.patch fails |
|
695 | [255] | |
712 |
|
696 | |||
713 | % fails - can't pop to this patch |
|
697 | % fails - can't pop to this patch | |
714 |
|
698 | |||
715 |
$ |
|
699 | $ hg qpop test2.patch | |
716 | abort: patch test2.patch is not applied |
|
700 | abort: patch test2.patch is not applied | |
717 | qpop test2.patch fails |
|
701 | [255] | |
718 |
|
702 | |||
719 | % pops up to test.patch and succeeds |
|
703 | % pops up to test.patch and succeeds | |
720 |
|
704 | |||
721 |
$ |
|
705 | $ hg qpop test.patch | |
722 | popping test1b.patch |
|
706 | popping test1b.patch | |
723 | now at: test.patch |
|
707 | now at: test.patch | |
724 | qpop test.patch succeeds |
|
|||
725 |
|
708 | |||
726 | % pushes all patches and succeeds |
|
709 | % pushes all patches and succeeds | |
727 |
|
710 | |||
728 |
$ |
|
711 | $ hg qpush -a | |
729 | applying test1b.patch |
|
712 | applying test1b.patch | |
730 | applying test2.patch |
|
713 | applying test2.patch | |
731 | now at: test2.patch |
|
714 | now at: test2.patch | |
732 | qpush -a succeeds |
|
|||
733 |
|
715 | |||
734 | % does nothing and succeeds |
|
716 | % does nothing and succeeds | |
735 |
|
717 | |||
736 |
$ |
|
718 | $ hg qpush -a | |
737 | all patches are currently applied |
|
719 | all patches are currently applied | |
738 | qpush -a succeeds |
|
|||
739 |
|
720 | |||
740 | % fails - nothing else to push |
|
721 | % fails - nothing else to push | |
741 |
|
722 | |||
742 |
$ |
|
723 | $ hg qpush | |
743 | patch series already fully applied |
|
724 | patch series already fully applied | |
744 | qpush fails |
|
725 | [1] | |
745 |
|
726 | |||
746 | % does nothing and succeeds |
|
727 | % does nothing and succeeds | |
747 |
|
728 | |||
748 |
$ |
|
729 | $ hg qpush test2.patch | |
749 | qpush: test2.patch is already at the top |
|
730 | qpush: test2.patch is already at the top | |
750 | qpush test2.patch succeeds |
|
|||
751 |
|
||||
752 |
|
||||
753 |
|
731 | |||
754 | strip |
|
732 | strip | |
755 |
|
733 | |||
756 | $ cd ../../b |
|
734 | $ cd ../../b | |
757 | $ echo x>x |
|
735 | $ echo x>x | |
758 | $ hg ci -Ama |
|
736 | $ hg ci -Ama | |
759 | adding x |
|
737 | adding x | |
760 | $ hg strip tip |
|
738 | $ hg strip tip | |
761 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
739 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
762 | saved backup bundle to .* |
|
740 | saved backup bundle to .* | |
763 | $ hg unbundle .hg/strip-backup/* |
|
741 | $ hg unbundle .hg/strip-backup/* | |
764 | adding changesets |
|
742 | adding changesets | |
765 | adding manifests |
|
743 | adding manifests | |
766 | adding file changes |
|
744 | adding file changes | |
767 | added 1 changesets with 1 changes to 1 files |
|
745 | added 1 changesets with 1 changes to 1 files | |
768 | (run 'hg update' to get a working copy) |
|
746 | (run 'hg update' to get a working copy) | |
769 |
|
747 | |||
770 |
|
748 | |||
771 | strip with local changes, should complain |
|
749 | strip with local changes, should complain | |
772 |
|
750 | |||
773 | $ hg up |
|
751 | $ hg up | |
774 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
752 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
775 | $ echo y>y |
|
753 | $ echo y>y | |
776 | $ hg add y |
|
754 | $ hg add y | |
777 | $ hg strip tip |
|
755 | $ hg strip tip | |
778 | abort: local changes found |
|
756 | abort: local changes found | |
779 | [255] |
|
757 | [255] | |
780 |
|
758 | |||
781 | --force strip with local changes |
|
759 | --force strip with local changes | |
782 |
|
760 | |||
783 | $ hg strip -f tip |
|
761 | $ hg strip -f tip | |
784 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
762 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
785 | saved backup bundle to .* |
|
763 | saved backup bundle to .* | |
786 |
|
764 | |||
787 |
|
765 | |||
788 | cd b; hg qrefresh |
|
766 | cd b; hg qrefresh | |
789 |
|
767 | |||
790 | $ hg init refresh |
|
768 | $ hg init refresh | |
791 | $ cd refresh |
|
769 | $ cd refresh | |
792 | $ echo a > a |
|
770 | $ echo a > a | |
793 | $ hg ci -Ama |
|
771 | $ hg ci -Ama | |
794 | adding a |
|
772 | adding a | |
795 | $ hg qnew -mfoo foo |
|
773 | $ hg qnew -mfoo foo | |
796 | $ echo a >> a |
|
774 | $ echo a >> a | |
797 | $ hg qrefresh |
|
775 | $ hg qrefresh | |
798 | $ mkdir b |
|
776 | $ mkdir b | |
799 | $ cd b |
|
777 | $ cd b | |
800 | $ echo f > f |
|
778 | $ echo f > f | |
801 | $ hg add f |
|
779 | $ hg add f | |
802 | $ hg qrefresh |
|
780 | $ hg qrefresh | |
803 | $ cat ../.hg/patches/foo |
|
781 | $ cat ../.hg/patches/foo | |
804 | foo |
|
782 | foo | |
805 |
|
783 | |||
806 | diff -r cb9a9f314b8b a |
|
784 | diff -r cb9a9f314b8b a | |
807 | --- a/a\t(?P<date>.*) |
|
785 | --- a/a\t(?P<date>.*) | |
808 | \+\+\+ b/a\t(?P<date>.*) |
|
786 | \+\+\+ b/a\t(?P<date>.*) | |
809 | @@ -1,1 +1,2 @@ |
|
787 | @@ -1,1 +1,2 @@ | |
810 | a |
|
788 | a | |
811 | +a |
|
789 | +a | |
812 | diff -r cb9a9f314b8b b/f |
|
790 | diff -r cb9a9f314b8b b/f | |
813 | --- /dev/null\t(?P<date>.*) |
|
791 | --- /dev/null\t(?P<date>.*) | |
814 | \+\+\+ b/b/f\t(?P<date>.*) |
|
792 | \+\+\+ b/b/f\t(?P<date>.*) | |
815 | @@ -0,0 +1,1 @@ |
|
793 | @@ -0,0 +1,1 @@ | |
816 | +f |
|
794 | +f | |
817 |
|
795 | |||
818 | hg qrefresh . |
|
796 | hg qrefresh . | |
819 |
|
797 | |||
820 | $ hg qrefresh . |
|
798 | $ hg qrefresh . | |
821 | $ cat ../.hg/patches/foo |
|
799 | $ cat ../.hg/patches/foo | |
822 | foo |
|
800 | foo | |
823 |
|
801 | |||
824 | diff -r cb9a9f314b8b b/f |
|
802 | diff -r cb9a9f314b8b b/f | |
825 | --- /dev/null\t(?P<date>.*) |
|
803 | --- /dev/null\t(?P<date>.*) | |
826 | \+\+\+ b/b/f\t(?P<date>.*) |
|
804 | \+\+\+ b/b/f\t(?P<date>.*) | |
827 | @@ -0,0 +1,1 @@ |
|
805 | @@ -0,0 +1,1 @@ | |
828 | +f |
|
806 | +f | |
829 | $ hg status |
|
807 | $ hg status | |
830 | M a |
|
808 | M a | |
831 |
|
809 | |||
832 |
|
810 | |||
833 | qpush failure |
|
811 | qpush failure | |
834 |
|
812 | |||
835 | $ cd .. |
|
813 | $ cd .. | |
836 | $ hg qrefresh |
|
814 | $ hg qrefresh | |
837 | $ hg qnew -mbar bar |
|
815 | $ hg qnew -mbar bar | |
838 | $ echo foo > foo |
|
816 | $ echo foo > foo | |
839 | $ echo bar > bar |
|
817 | $ echo bar > bar | |
840 | $ hg add foo bar |
|
818 | $ hg add foo bar | |
841 | $ hg qrefresh |
|
819 | $ hg qrefresh | |
842 | $ hg qpop -a |
|
820 | $ hg qpop -a | |
843 | popping bar |
|
821 | popping bar | |
844 | popping foo |
|
822 | popping foo | |
845 | patch queue now empty |
|
823 | patch queue now empty | |
846 | $ echo bar > foo |
|
824 | $ echo bar > foo | |
847 | $ hg qpush -a |
|
825 | $ hg qpush -a | |
848 | applying foo |
|
826 | applying foo | |
849 | applying bar |
|
827 | applying bar | |
850 | file foo already exists |
|
828 | file foo already exists | |
851 | 1 out of 1 hunks FAILED -- saving rejects to file foo.rej |
|
829 | 1 out of 1 hunks FAILED -- saving rejects to file foo.rej | |
852 | patch failed, unable to continue (try -v) |
|
830 | patch failed, unable to continue (try -v) | |
853 | patch failed, rejects left in working dir |
|
831 | patch failed, rejects left in working dir | |
854 | errors during apply, please fix and refresh bar |
|
832 | errors during apply, please fix and refresh bar | |
855 | [2] |
|
833 | [2] | |
856 | $ hg st |
|
834 | $ hg st | |
857 | ? foo |
|
835 | ? foo | |
858 | ? foo.rej |
|
836 | ? foo.rej | |
859 |
|
837 | |||
860 |
|
838 | |||
861 | mq tags |
|
839 | mq tags | |
862 |
|
840 | |||
863 | $ hg log --template '{rev} {tags}\n' -r qparent:qtip |
|
841 | $ hg log --template '{rev} {tags}\n' -r qparent:qtip | |
864 | 0 qparent |
|
842 | 0 qparent | |
865 | 1 foo qbase |
|
843 | 1 foo qbase | |
866 | 2 bar qtip tip |
|
844 | 2 bar qtip tip | |
867 |
|
845 | |||
868 |
|
846 | |||
869 | bad node in status |
|
847 | bad node in status | |
870 |
|
848 | |||
871 | $ hg qpop |
|
849 | $ hg qpop | |
872 | popping bar |
|
850 | popping bar | |
873 | now at: foo |
|
851 | now at: foo | |
874 | $ hg strip -qn tip |
|
852 | $ hg strip -qn tip | |
875 | $ hg tip |
|
853 | $ hg tip | |
876 | changeset: 0:cb9a9f314b8b |
|
854 | changeset: 0:cb9a9f314b8b | |
877 | tag: tip |
|
855 | tag: tip | |
878 | user: test |
|
856 | user: test | |
879 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
857 | date: Thu Jan 01 00:00:00 1970 +0000 | |
880 | summary: a |
|
858 | summary: a | |
881 |
|
859 | |||
882 | $ hg branches |
|
860 | $ hg branches | |
883 | default 0:cb9a9f314b8b |
|
861 | default 0:cb9a9f314b8b | |
884 | $ hg qpop |
|
862 | $ hg qpop | |
885 | no patches applied |
|
863 | no patches applied | |
886 | [1] |
|
864 | [1] | |
887 |
|
865 | |||
888 | $ cat >>$HGRCPATH <<EOF |
|
866 | $ cat >>$HGRCPATH <<EOF | |
889 | > [diff] |
|
867 | > [diff] | |
890 | > git = True |
|
868 | > git = True | |
891 | > EOF |
|
869 | > EOF | |
892 | $ cd .. |
|
870 | $ cd .. | |
893 | $ hg init git |
|
871 | $ hg init git | |
894 | $ cd git |
|
872 | $ cd git | |
895 | $ hg qinit |
|
873 | $ hg qinit | |
896 |
|
874 | |||
897 | $ hg qnew -m'new file' new |
|
875 | $ hg qnew -m'new file' new | |
898 | $ echo foo > new |
|
876 | $ echo foo > new | |
899 | $ chmod +x new |
|
877 | $ chmod +x new | |
900 | $ hg add new |
|
878 | $ hg add new | |
901 | $ hg qrefresh |
|
879 | $ hg qrefresh | |
902 | $ cat .hg/patches/new |
|
880 | $ cat .hg/patches/new | |
903 | new file |
|
881 | new file | |
904 |
|
882 | |||
905 | diff --git a/new b/new |
|
883 | diff --git a/new b/new | |
906 | new file mode 100755 |
|
884 | new file mode 100755 | |
907 | --- /dev/null |
|
885 | --- /dev/null | |
908 | +++ b/new |
|
886 | +++ b/new | |
909 | @@ -0,0 +1,1 @@ |
|
887 | @@ -0,0 +1,1 @@ | |
910 | +foo |
|
888 | +foo | |
911 |
|
889 | |||
912 | $ hg qnew -m'copy file' copy |
|
890 | $ hg qnew -m'copy file' copy | |
913 | $ hg cp new copy |
|
891 | $ hg cp new copy | |
914 | $ hg qrefresh |
|
892 | $ hg qrefresh | |
915 | $ cat .hg/patches/copy |
|
893 | $ cat .hg/patches/copy | |
916 | copy file |
|
894 | copy file | |
917 |
|
895 | |||
918 | diff --git a/new b/copy |
|
896 | diff --git a/new b/copy | |
919 | copy from new |
|
897 | copy from new | |
920 | copy to copy |
|
898 | copy to copy | |
921 |
|
899 | |||
922 | $ hg qpop |
|
900 | $ hg qpop | |
923 | popping copy |
|
901 | popping copy | |
924 | now at: new |
|
902 | now at: new | |
925 | $ hg qpush |
|
903 | $ hg qpush | |
926 | applying copy |
|
904 | applying copy | |
927 | now at: copy |
|
905 | now at: copy | |
928 | $ hg qdiff |
|
906 | $ hg qdiff | |
929 | diff --git a/new b/copy |
|
907 | diff --git a/new b/copy | |
930 | copy from new |
|
908 | copy from new | |
931 | copy to copy |
|
909 | copy to copy | |
932 | $ cat >>$HGRCPATH <<EOF |
|
910 | $ cat >>$HGRCPATH <<EOF | |
933 | > [diff] |
|
911 | > [diff] | |
934 | > git = False |
|
912 | > git = False | |
935 | > EOF |
|
913 | > EOF | |
936 | $ hg qdiff --git |
|
914 | $ hg qdiff --git | |
937 | diff --git a/new b/copy |
|
915 | diff --git a/new b/copy | |
938 | copy from new |
|
916 | copy from new | |
939 | copy to copy |
|
917 | copy to copy | |
940 | $ cd .. |
|
918 | $ cd .. | |
941 |
|
919 | |||
942 |
|
920 | |||
943 | test file addition in slow path |
|
921 | test file addition in slow path | |
944 |
|
922 | |||
945 | $ hg init slow |
|
923 | $ hg init slow | |
946 | $ cd slow |
|
924 | $ cd slow | |
947 | $ hg qinit |
|
925 | $ hg qinit | |
948 | $ echo foo > foo |
|
926 | $ echo foo > foo | |
949 | $ hg add foo |
|
927 | $ hg add foo | |
950 | $ hg ci -m 'add foo' |
|
928 | $ hg ci -m 'add foo' | |
951 | $ hg qnew bar |
|
929 | $ hg qnew bar | |
952 | $ echo bar > bar |
|
930 | $ echo bar > bar | |
953 | $ hg add bar |
|
931 | $ hg add bar | |
954 | $ hg mv foo baz |
|
932 | $ hg mv foo baz | |
955 | $ hg qrefresh --git |
|
933 | $ hg qrefresh --git | |
956 | $ hg up -C 0 |
|
934 | $ hg up -C 0 | |
957 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
935 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
958 | $ echo >> foo |
|
936 | $ echo >> foo | |
959 | $ hg ci -m 'change foo' |
|
937 | $ hg ci -m 'change foo' | |
960 | created new head |
|
938 | created new head | |
961 | $ hg up -C 1 |
|
939 | $ hg up -C 1 | |
962 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
940 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
963 | $ hg qrefresh --git |
|
941 | $ hg qrefresh --git | |
964 | $ cat .hg/patches/bar |
|
942 | $ cat .hg/patches/bar | |
965 | diff --git a/bar b/bar |
|
943 | diff --git a/bar b/bar | |
966 | new file mode 100644 |
|
944 | new file mode 100644 | |
967 | --- /dev/null |
|
945 | --- /dev/null | |
968 | +++ b/bar |
|
946 | +++ b/bar | |
969 | @@ -0,0 +1,1 @@ |
|
947 | @@ -0,0 +1,1 @@ | |
970 | +bar |
|
948 | +bar | |
971 | diff --git a/foo b/baz |
|
949 | diff --git a/foo b/baz | |
972 | rename from foo |
|
950 | rename from foo | |
973 | rename to baz |
|
951 | rename to baz | |
974 | $ hg log -v --template '{rev} {file_copies}\n' -r . |
|
952 | $ hg log -v --template '{rev} {file_copies}\n' -r . | |
975 | 2 baz (foo) |
|
953 | 2 baz (foo) | |
976 | $ hg qrefresh --git |
|
954 | $ hg qrefresh --git | |
977 | $ cat .hg/patches/bar |
|
955 | $ cat .hg/patches/bar | |
978 | diff --git a/bar b/bar |
|
956 | diff --git a/bar b/bar | |
979 | new file mode 100644 |
|
957 | new file mode 100644 | |
980 | --- /dev/null |
|
958 | --- /dev/null | |
981 | +++ b/bar |
|
959 | +++ b/bar | |
982 | @@ -0,0 +1,1 @@ |
|
960 | @@ -0,0 +1,1 @@ | |
983 | +bar |
|
961 | +bar | |
984 | diff --git a/foo b/baz |
|
962 | diff --git a/foo b/baz | |
985 | rename from foo |
|
963 | rename from foo | |
986 | rename to baz |
|
964 | rename to baz | |
987 | $ hg log -v --template '{rev} {file_copies}\n' -r . |
|
965 | $ hg log -v --template '{rev} {file_copies}\n' -r . | |
988 | 2 baz (foo) |
|
966 | 2 baz (foo) | |
989 | $ hg qrefresh |
|
967 | $ hg qrefresh | |
990 | $ grep 'diff --git' .hg/patches/bar |
|
968 | $ grep 'diff --git' .hg/patches/bar | |
991 | diff --git a/bar b/bar |
|
969 | diff --git a/bar b/bar | |
992 | diff --git a/foo b/baz |
|
970 | diff --git a/foo b/baz | |
993 |
|
971 | |||
994 |
|
972 | |||
995 | test file move chains in the slow path |
|
973 | test file move chains in the slow path | |
996 |
|
974 | |||
997 | $ hg up -C 1 |
|
975 | $ hg up -C 1 | |
998 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
976 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
999 | $ echo >> foo |
|
977 | $ echo >> foo | |
1000 | $ hg ci -m 'change foo again' |
|
978 | $ hg ci -m 'change foo again' | |
1001 | $ hg up -C 2 |
|
979 | $ hg up -C 2 | |
1002 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
980 | 2 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
1003 | $ hg mv bar quux |
|
981 | $ hg mv bar quux | |
1004 | $ hg mv baz bleh |
|
982 | $ hg mv baz bleh | |
1005 | $ hg qrefresh --git |
|
983 | $ hg qrefresh --git | |
1006 | $ cat .hg/patches/bar |
|
984 | $ cat .hg/patches/bar | |
1007 | diff --git a/foo b/bleh |
|
985 | diff --git a/foo b/bleh | |
1008 | rename from foo |
|
986 | rename from foo | |
1009 | rename to bleh |
|
987 | rename to bleh | |
1010 | diff --git a/quux b/quux |
|
988 | diff --git a/quux b/quux | |
1011 | new file mode 100644 |
|
989 | new file mode 100644 | |
1012 | --- /dev/null |
|
990 | --- /dev/null | |
1013 | +++ b/quux |
|
991 | +++ b/quux | |
1014 | @@ -0,0 +1,1 @@ |
|
992 | @@ -0,0 +1,1 @@ | |
1015 | +bar |
|
993 | +bar | |
1016 | $ hg log -v --template '{rev} {file_copies}\n' -r . |
|
994 | $ hg log -v --template '{rev} {file_copies}\n' -r . | |
1017 | 3 bleh (foo) |
|
995 | 3 bleh (foo) | |
1018 | $ hg mv quux fred |
|
996 | $ hg mv quux fred | |
1019 | $ hg mv bleh barney |
|
997 | $ hg mv bleh barney | |
1020 | $ hg qrefresh --git |
|
998 | $ hg qrefresh --git | |
1021 | $ cat .hg/patches/bar |
|
999 | $ cat .hg/patches/bar | |
1022 | diff --git a/foo b/barney |
|
1000 | diff --git a/foo b/barney | |
1023 | rename from foo |
|
1001 | rename from foo | |
1024 | rename to barney |
|
1002 | rename to barney | |
1025 | diff --git a/fred b/fred |
|
1003 | diff --git a/fred b/fred | |
1026 | new file mode 100644 |
|
1004 | new file mode 100644 | |
1027 | --- /dev/null |
|
1005 | --- /dev/null | |
1028 | +++ b/fred |
|
1006 | +++ b/fred | |
1029 | @@ -0,0 +1,1 @@ |
|
1007 | @@ -0,0 +1,1 @@ | |
1030 | +bar |
|
1008 | +bar | |
1031 | $ hg log -v --template '{rev} {file_copies}\n' -r . |
|
1009 | $ hg log -v --template '{rev} {file_copies}\n' -r . | |
1032 | 3 barney (foo) |
|
1010 | 3 barney (foo) | |
1033 |
|
1011 | |||
1034 |
|
1012 | |||
1035 | refresh omitting an added file |
|
1013 | refresh omitting an added file | |
1036 |
|
1014 | |||
1037 | $ hg qnew baz |
|
1015 | $ hg qnew baz | |
1038 | $ echo newfile > newfile |
|
1016 | $ echo newfile > newfile | |
1039 | $ hg add newfile |
|
1017 | $ hg add newfile | |
1040 | $ hg qrefresh |
|
1018 | $ hg qrefresh | |
1041 | $ hg st -A newfile |
|
1019 | $ hg st -A newfile | |
1042 | C newfile |
|
1020 | C newfile | |
1043 | $ hg qrefresh -X newfile |
|
1021 | $ hg qrefresh -X newfile | |
1044 | $ hg st -A newfile |
|
1022 | $ hg st -A newfile | |
1045 | A newfile |
|
1023 | A newfile | |
1046 | $ hg revert newfile |
|
1024 | $ hg revert newfile | |
1047 | $ rm newfile |
|
1025 | $ rm newfile | |
1048 | $ hg qpop |
|
1026 | $ hg qpop | |
1049 | popping baz |
|
1027 | popping baz | |
1050 | now at: bar |
|
1028 | now at: bar | |
1051 | $ hg qdel baz |
|
1029 | $ hg qdel baz | |
1052 |
|
1030 | |||
1053 |
|
1031 | |||
1054 | create a git patch |
|
1032 | create a git patch | |
1055 |
|
1033 | |||
1056 | $ echo a > alexander |
|
1034 | $ echo a > alexander | |
1057 | $ hg add alexander |
|
1035 | $ hg add alexander | |
1058 | $ hg qnew -f --git addalexander |
|
1036 | $ hg qnew -f --git addalexander | |
1059 | $ grep diff .hg/patches/addalexander |
|
1037 | $ grep diff .hg/patches/addalexander | |
1060 | diff --git a/alexander b/alexander |
|
1038 | diff --git a/alexander b/alexander | |
1061 |
|
1039 | |||
1062 |
|
1040 | |||
1063 | create a git binary patch |
|
1041 | create a git binary patch | |
1064 |
|
1042 | |||
1065 | $ cat > writebin.py <<EOF |
|
1043 | $ cat > writebin.py <<EOF | |
1066 | > import sys |
|
1044 | > import sys | |
1067 | > path = sys.argv[1] |
|
1045 | > path = sys.argv[1] | |
1068 | > open(path, 'wb').write('BIN\x00ARY') |
|
1046 | > open(path, 'wb').write('BIN\x00ARY') | |
1069 | > EOF |
|
1047 | > EOF | |
1070 | $ python writebin.py bucephalus |
|
1048 | $ python writebin.py bucephalus | |
1071 |
|
1049 | |||
1072 | $ python "$TESTDIR/md5sum.py" bucephalus |
|
1050 | $ python "$TESTDIR/md5sum.py" bucephalus | |
1073 | 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus |
|
1051 | 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus | |
1074 | $ hg add bucephalus |
|
1052 | $ hg add bucephalus | |
1075 | $ hg qnew -f --git addbucephalus |
|
1053 | $ hg qnew -f --git addbucephalus | |
1076 | $ grep diff .hg/patches/addbucephalus |
|
1054 | $ grep diff .hg/patches/addbucephalus | |
1077 | diff --git a/bucephalus b/bucephalus |
|
1055 | diff --git a/bucephalus b/bucephalus | |
1078 |
|
1056 | |||
1079 |
|
1057 | |||
1080 | check binary patches can be popped and pushed |
|
1058 | check binary patches can be popped and pushed | |
1081 |
|
1059 | |||
1082 | $ hg qpop |
|
1060 | $ hg qpop | |
1083 | popping addbucephalus |
|
1061 | popping addbucephalus | |
1084 | now at: addalexander |
|
1062 | now at: addalexander | |
1085 | $ test -f bucephalus && echo % bucephalus should not be there |
|
1063 | $ test -f bucephalus && echo % bucephalus should not be there | |
1086 | [1] |
|
1064 | [1] | |
1087 | $ hg qpush |
|
1065 | $ hg qpush | |
1088 | applying addbucephalus |
|
1066 | applying addbucephalus | |
1089 | now at: addbucephalus |
|
1067 | now at: addbucephalus | |
1090 | $ test -f bucephalus || echo % bucephalus should be there |
|
1068 | $ test -f bucephalus | |
1091 | $ python "$TESTDIR/md5sum.py" bucephalus |
|
1069 | $ python "$TESTDIR/md5sum.py" bucephalus | |
1092 | 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus |
|
1070 | 8ba2a2f3e77b55d03051ff9c24ad65e7 bucephalus | |
1093 |
|
1071 | |||
1094 |
|
1072 | |||
1095 |
|
1073 | |||
1096 | strip again |
|
1074 | strip again | |
1097 |
|
1075 | |||
1098 | $ cd .. |
|
1076 | $ cd .. | |
1099 | $ hg init strip |
|
1077 | $ hg init strip | |
1100 | $ cd strip |
|
1078 | $ cd strip | |
1101 | $ touch foo |
|
1079 | $ touch foo | |
1102 | $ hg add foo |
|
1080 | $ hg add foo | |
1103 | $ hg ci -m 'add foo' |
|
1081 | $ hg ci -m 'add foo' | |
1104 | $ echo >> foo |
|
1082 | $ echo >> foo | |
1105 | $ hg ci -m 'change foo 1' |
|
1083 | $ hg ci -m 'change foo 1' | |
1106 | $ hg up -C 0 |
|
1084 | $ hg up -C 0 | |
1107 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1085 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1108 | $ echo 1 >> foo |
|
1086 | $ echo 1 >> foo | |
1109 | $ hg ci -m 'change foo 2' |
|
1087 | $ hg ci -m 'change foo 2' | |
1110 | created new head |
|
1088 | created new head | |
1111 | $ HGMERGE=true hg merge |
|
1089 | $ HGMERGE=true hg merge | |
1112 | merging foo |
|
1090 | merging foo | |
1113 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
1091 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
1114 | (branch merge, don't forget to commit) |
|
1092 | (branch merge, don't forget to commit) | |
1115 | $ hg ci -m merge |
|
1093 | $ hg ci -m merge | |
1116 | $ hg log |
|
1094 | $ hg log | |
1117 | changeset: 3:99615015637b |
|
1095 | changeset: 3:99615015637b | |
1118 | tag: tip |
|
1096 | tag: tip | |
1119 | parent: 2:20cbbe65cff7 |
|
1097 | parent: 2:20cbbe65cff7 | |
1120 | parent: 1:d2871fc282d4 |
|
1098 | parent: 1:d2871fc282d4 | |
1121 | user: test |
|
1099 | user: test | |
1122 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1100 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1123 | summary: merge |
|
1101 | summary: merge | |
1124 |
|
1102 | |||
1125 | changeset: 2:20cbbe65cff7 |
|
1103 | changeset: 2:20cbbe65cff7 | |
1126 | parent: 0:53245c60e682 |
|
1104 | parent: 0:53245c60e682 | |
1127 | user: test |
|
1105 | user: test | |
1128 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1106 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1129 | summary: change foo 2 |
|
1107 | summary: change foo 2 | |
1130 |
|
1108 | |||
1131 | changeset: 1:d2871fc282d4 |
|
1109 | changeset: 1:d2871fc282d4 | |
1132 | user: test |
|
1110 | user: test | |
1133 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1111 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1134 | summary: change foo 1 |
|
1112 | summary: change foo 1 | |
1135 |
|
1113 | |||
1136 | changeset: 0:53245c60e682 |
|
1114 | changeset: 0:53245c60e682 | |
1137 | user: test |
|
1115 | user: test | |
1138 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1116 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1139 | summary: add foo |
|
1117 | summary: add foo | |
1140 |
|
1118 | |||
1141 | $ hg strip 1 |
|
1119 | $ hg strip 1 | |
1142 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1120 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1143 | saved backup bundle to .* |
|
1121 | saved backup bundle to .* | |
1144 | $ checkundo strip |
|
1122 | $ checkundo strip | |
1145 | $ hg log |
|
1123 | $ hg log | |
1146 | changeset: 1:20cbbe65cff7 |
|
1124 | changeset: 1:20cbbe65cff7 | |
1147 | tag: tip |
|
1125 | tag: tip | |
1148 | user: test |
|
1126 | user: test | |
1149 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1127 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1150 | summary: change foo 2 |
|
1128 | summary: change foo 2 | |
1151 |
|
1129 | |||
1152 | changeset: 0:53245c60e682 |
|
1130 | changeset: 0:53245c60e682 | |
1153 | user: test |
|
1131 | user: test | |
1154 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1132 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1155 | summary: add foo |
|
1133 | summary: add foo | |
1156 |
|
1134 | |||
1157 | $ cd .. |
|
1135 | $ cd .. | |
1158 |
|
1136 | |||
1159 |
|
1137 | |||
1160 | qclone |
|
1138 | qclone | |
1161 |
|
1139 | |||
1162 | $ qlog() |
|
1140 | $ qlog() | |
1163 | > { |
|
1141 | > { | |
1164 | > echo 'main repo:' |
|
1142 | > echo 'main repo:' | |
1165 | > hg log --template ' rev {rev}: {desc}\n' |
|
1143 | > hg log --template ' rev {rev}: {desc}\n' | |
1166 | > echo 'patch repo:' |
|
1144 | > echo 'patch repo:' | |
1167 | > hg -R .hg/patches log --template ' rev {rev}: {desc}\n' |
|
1145 | > hg -R .hg/patches log --template ' rev {rev}: {desc}\n' | |
1168 | > } |
|
1146 | > } | |
1169 | $ hg init qclonesource |
|
1147 | $ hg init qclonesource | |
1170 | $ cd qclonesource |
|
1148 | $ cd qclonesource | |
1171 | $ echo foo > foo |
|
1149 | $ echo foo > foo | |
1172 | $ hg add foo |
|
1150 | $ hg add foo | |
1173 | $ hg ci -m 'add foo' |
|
1151 | $ hg ci -m 'add foo' | |
1174 | $ hg qinit |
|
1152 | $ hg qinit | |
1175 | $ hg qnew patch1 |
|
1153 | $ hg qnew patch1 | |
1176 | $ echo bar >> foo |
|
1154 | $ echo bar >> foo | |
1177 | $ hg qrefresh -m 'change foo' |
|
1155 | $ hg qrefresh -m 'change foo' | |
1178 | $ cd .. |
|
1156 | $ cd .. | |
1179 |
|
1157 | |||
1180 |
|
1158 | |||
1181 | repo with unversioned patch dir |
|
1159 | repo with unversioned patch dir | |
1182 |
|
1160 | |||
1183 | $ hg qclone qclonesource failure |
|
1161 | $ hg qclone qclonesource failure | |
1184 | abort: versioned patch repository not found (see init --mq) |
|
1162 | abort: versioned patch repository not found (see init --mq) | |
1185 | [255] |
|
1163 | [255] | |
1186 |
|
1164 | |||
1187 | $ cd qclonesource |
|
1165 | $ cd qclonesource | |
1188 | $ hg qinit -c |
|
1166 | $ hg qinit -c | |
1189 | adding .hg/patches/patch1 |
|
1167 | adding .hg/patches/patch1 | |
1190 | $ hg qci -m checkpoint |
|
1168 | $ hg qci -m checkpoint | |
1191 | $ qlog |
|
1169 | $ qlog | |
1192 | main repo: |
|
1170 | main repo: | |
1193 | rev 1: change foo |
|
1171 | rev 1: change foo | |
1194 | rev 0: add foo |
|
1172 | rev 0: add foo | |
1195 | patch repo: |
|
1173 | patch repo: | |
1196 | rev 0: checkpoint |
|
1174 | rev 0: checkpoint | |
1197 | $ cd .. |
|
1175 | $ cd .. | |
1198 |
|
1176 | |||
1199 |
|
1177 | |||
1200 | repo with patches applied |
|
1178 | repo with patches applied | |
1201 |
|
1179 | |||
1202 | $ hg qclone qclonesource qclonedest |
|
1180 | $ hg qclone qclonesource qclonedest | |
1203 | updating to branch default |
|
1181 | updating to branch default | |
1204 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1182 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1205 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1183 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1206 | $ cd qclonedest |
|
1184 | $ cd qclonedest | |
1207 | $ qlog |
|
1185 | $ qlog | |
1208 | main repo: |
|
1186 | main repo: | |
1209 | rev 0: add foo |
|
1187 | rev 0: add foo | |
1210 | patch repo: |
|
1188 | patch repo: | |
1211 | rev 0: checkpoint |
|
1189 | rev 0: checkpoint | |
1212 | $ cd .. |
|
1190 | $ cd .. | |
1213 |
|
1191 | |||
1214 |
|
1192 | |||
1215 | repo with patches unapplied |
|
1193 | repo with patches unapplied | |
1216 |
|
1194 | |||
1217 | $ cd qclonesource |
|
1195 | $ cd qclonesource | |
1218 | $ hg qpop -a |
|
1196 | $ hg qpop -a | |
1219 | popping patch1 |
|
1197 | popping patch1 | |
1220 | patch queue now empty |
|
1198 | patch queue now empty | |
1221 | $ qlog |
|
1199 | $ qlog | |
1222 | main repo: |
|
1200 | main repo: | |
1223 | rev 0: add foo |
|
1201 | rev 0: add foo | |
1224 | patch repo: |
|
1202 | patch repo: | |
1225 | rev 0: checkpoint |
|
1203 | rev 0: checkpoint | |
1226 | $ cd .. |
|
1204 | $ cd .. | |
1227 | $ hg qclone qclonesource qclonedest2 |
|
1205 | $ hg qclone qclonesource qclonedest2 | |
1228 | updating to branch default |
|
1206 | updating to branch default | |
1229 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1207 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1230 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1208 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1231 | $ cd qclonedest2 |
|
1209 | $ cd qclonedest2 | |
1232 | $ qlog |
|
1210 | $ qlog | |
1233 | main repo: |
|
1211 | main repo: | |
1234 | rev 0: add foo |
|
1212 | rev 0: add foo | |
1235 | patch repo: |
|
1213 | patch repo: | |
1236 | rev 0: checkpoint |
|
1214 | rev 0: checkpoint | |
1237 | $ cd .. |
|
1215 | $ cd .. | |
1238 |
|
1216 | |||
1239 |
|
1217 | |||
1240 | test applying on an empty file (issue 1033) |
|
1218 | test applying on an empty file (issue 1033) | |
1241 |
|
1219 | |||
1242 | $ hg init empty |
|
1220 | $ hg init empty | |
1243 | $ cd empty |
|
1221 | $ cd empty | |
1244 | $ touch a |
|
1222 | $ touch a | |
1245 | $ hg ci -Am addempty |
|
1223 | $ hg ci -Am addempty | |
1246 | adding a |
|
1224 | adding a | |
1247 | $ echo a > a |
|
1225 | $ echo a > a | |
1248 | $ hg qnew -f -e changea |
|
1226 | $ hg qnew -f -e changea | |
1249 | $ hg qpop |
|
1227 | $ hg qpop | |
1250 | popping changea |
|
1228 | popping changea | |
1251 | patch queue now empty |
|
1229 | patch queue now empty | |
1252 | $ hg qpush |
|
1230 | $ hg qpush | |
1253 | applying changea |
|
1231 | applying changea | |
1254 | now at: changea |
|
1232 | now at: changea | |
1255 | $ cd .. |
|
1233 | $ cd .. | |
1256 |
|
1234 | |||
1257 |
|
1235 | |||
1258 | test qpush with --force, issue1087 |
|
1236 | test qpush with --force, issue1087 | |
1259 |
|
1237 | |||
1260 | $ hg init forcepush |
|
1238 | $ hg init forcepush | |
1261 | $ cd forcepush |
|
1239 | $ cd forcepush | |
1262 | $ echo hello > hello.txt |
|
1240 | $ echo hello > hello.txt | |
1263 | $ echo bye > bye.txt |
|
1241 | $ echo bye > bye.txt | |
1264 | $ hg ci -Ama |
|
1242 | $ hg ci -Ama | |
1265 | adding bye.txt |
|
1243 | adding bye.txt | |
1266 | adding hello.txt |
|
1244 | adding hello.txt | |
1267 | $ hg qnew -d '0 0' empty |
|
1245 | $ hg qnew -d '0 0' empty | |
1268 | $ hg qpop |
|
1246 | $ hg qpop | |
1269 | popping empty |
|
1247 | popping empty | |
1270 | patch queue now empty |
|
1248 | patch queue now empty | |
1271 | $ echo world >> hello.txt |
|
1249 | $ echo world >> hello.txt | |
1272 |
|
1250 | |||
1273 |
|
1251 | |||
1274 | qpush should fail, local changes |
|
1252 | qpush should fail, local changes | |
1275 |
|
1253 | |||
1276 | $ hg qpush |
|
1254 | $ hg qpush | |
1277 | abort: local changes found, refresh first |
|
1255 | abort: local changes found, refresh first | |
1278 | [255] |
|
1256 | [255] | |
1279 |
|
1257 | |||
1280 |
|
1258 | |||
1281 | apply force, should not discard changes with empty patch |
|
1259 | apply force, should not discard changes with empty patch | |
1282 |
|
1260 | |||
1283 | $ hg qpush -f |
|
1261 | $ hg qpush -f | |
1284 | applying empty |
|
1262 | applying empty | |
1285 | patch empty is empty |
|
1263 | patch empty is empty | |
1286 | now at: empty |
|
1264 | now at: empty | |
1287 | $ hg diff --config diff.nodates=True |
|
1265 | $ hg diff --config diff.nodates=True | |
1288 | diff -r bf5fc3f07a0a hello.txt |
|
1266 | diff -r bf5fc3f07a0a hello.txt | |
1289 | --- a/hello.txt |
|
1267 | --- a/hello.txt | |
1290 | +++ b/hello.txt |
|
1268 | +++ b/hello.txt | |
1291 | @@ -1,1 +1,2 @@ |
|
1269 | @@ -1,1 +1,2 @@ | |
1292 | hello |
|
1270 | hello | |
1293 | +world |
|
1271 | +world | |
1294 | $ hg qdiff --config diff.nodates=True |
|
1272 | $ hg qdiff --config diff.nodates=True | |
1295 | diff -r 9ecee4f634e3 hello.txt |
|
1273 | diff -r 9ecee4f634e3 hello.txt | |
1296 | --- a/hello.txt |
|
1274 | --- a/hello.txt | |
1297 | +++ b/hello.txt |
|
1275 | +++ b/hello.txt | |
1298 | @@ -1,1 +1,2 @@ |
|
1276 | @@ -1,1 +1,2 @@ | |
1299 | hello |
|
1277 | hello | |
1300 | +world |
|
1278 | +world | |
1301 | $ hg log -l1 -p |
|
1279 | $ hg log -l1 -p | |
1302 | changeset: 1:bf5fc3f07a0a |
|
1280 | changeset: 1:bf5fc3f07a0a | |
1303 | tag: empty |
|
1281 | tag: empty | |
1304 | tag: qbase |
|
1282 | tag: qbase | |
1305 | tag: qtip |
|
1283 | tag: qtip | |
1306 | tag: tip |
|
1284 | tag: tip | |
1307 | user: test |
|
1285 | user: test | |
1308 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
1286 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1309 | summary: imported patch empty |
|
1287 | summary: imported patch empty | |
1310 |
|
1288 | |||
1311 |
|
1289 | |||
1312 | $ hg qref -d '0 0' |
|
1290 | $ hg qref -d '0 0' | |
1313 | $ hg qpop |
|
1291 | $ hg qpop | |
1314 | popping empty |
|
1292 | popping empty | |
1315 | patch queue now empty |
|
1293 | patch queue now empty | |
1316 | $ echo universe >> hello.txt |
|
1294 | $ echo universe >> hello.txt | |
1317 | $ echo universe >> bye.txt |
|
1295 | $ echo universe >> bye.txt | |
1318 |
|
1296 | |||
1319 |
|
1297 | |||
1320 | qpush should fail, local changes |
|
1298 | qpush should fail, local changes | |
1321 |
|
1299 | |||
1322 | $ hg qpush |
|
1300 | $ hg qpush | |
1323 | abort: local changes found, refresh first |
|
1301 | abort: local changes found, refresh first | |
1324 | [255] |
|
1302 | [255] | |
1325 |
|
1303 | |||
1326 |
|
1304 | |||
1327 | apply force, should discard changes in hello, but not bye |
|
1305 | apply force, should discard changes in hello, but not bye | |
1328 |
|
1306 | |||
1329 | $ hg qpush -f |
|
1307 | $ hg qpush -f | |
1330 | applying empty |
|
1308 | applying empty | |
1331 | now at: empty |
|
1309 | now at: empty | |
1332 | $ hg st |
|
1310 | $ hg st | |
1333 | M bye.txt |
|
1311 | M bye.txt | |
1334 | $ hg diff --config diff.nodates=True |
|
1312 | $ hg diff --config diff.nodates=True | |
1335 | diff -r ba252371dbc1 bye.txt |
|
1313 | diff -r ba252371dbc1 bye.txt | |
1336 | --- a/bye.txt |
|
1314 | --- a/bye.txt | |
1337 | +++ b/bye.txt |
|
1315 | +++ b/bye.txt | |
1338 | @@ -1,1 +1,2 @@ |
|
1316 | @@ -1,1 +1,2 @@ | |
1339 | bye |
|
1317 | bye | |
1340 | +universe |
|
1318 | +universe | |
1341 | $ hg qdiff --config diff.nodates=True |
|
1319 | $ hg qdiff --config diff.nodates=True | |
1342 | diff -r 9ecee4f634e3 bye.txt |
|
1320 | diff -r 9ecee4f634e3 bye.txt | |
1343 | --- a/bye.txt |
|
1321 | --- a/bye.txt | |
1344 | +++ b/bye.txt |
|
1322 | +++ b/bye.txt | |
1345 | @@ -1,1 +1,2 @@ |
|
1323 | @@ -1,1 +1,2 @@ | |
1346 | bye |
|
1324 | bye | |
1347 | +universe |
|
1325 | +universe | |
1348 | diff -r 9ecee4f634e3 hello.txt |
|
1326 | diff -r 9ecee4f634e3 hello.txt | |
1349 | --- a/hello.txt |
|
1327 | --- a/hello.txt | |
1350 | +++ b/hello.txt |
|
1328 | +++ b/hello.txt | |
1351 | @@ -1,1 +1,3 @@ |
|
1329 | @@ -1,1 +1,3 @@ | |
1352 | hello |
|
1330 | hello | |
1353 | +world |
|
1331 | +world | |
1354 | +universe |
|
1332 | +universe | |
1355 |
|
1333 | |||
1356 |
|
1334 | |||
1357 | test popping revisions not in working dir ancestry |
|
1335 | test popping revisions not in working dir ancestry | |
1358 |
|
1336 | |||
1359 | $ hg qseries -v |
|
1337 | $ hg qseries -v | |
1360 | 0 A empty |
|
1338 | 0 A empty | |
1361 | $ hg up qparent |
|
1339 | $ hg up qparent | |
1362 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1340 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1363 | $ hg qpop |
|
1341 | $ hg qpop | |
1364 | popping empty |
|
1342 | popping empty | |
1365 | patch queue now empty |
|
1343 | patch queue now empty | |
1366 |
|
1344 | |||
1367 | $ cd .. |
|
1345 | $ cd .. | |
1368 | $ hg init deletion-order |
|
1346 | $ hg init deletion-order | |
1369 | $ cd deletion-order |
|
1347 | $ cd deletion-order | |
1370 |
|
1348 | |||
1371 | $ touch a |
|
1349 | $ touch a | |
1372 | $ hg ci -Aqm0 |
|
1350 | $ hg ci -Aqm0 | |
1373 |
|
1351 | |||
1374 | $ hg qnew rename-dir |
|
1352 | $ hg qnew rename-dir | |
1375 | $ hg rm a |
|
1353 | $ hg rm a | |
1376 | $ hg qrefresh |
|
1354 | $ hg qrefresh | |
1377 |
|
1355 | |||
1378 | $ mkdir a b |
|
1356 | $ mkdir a b | |
1379 | $ touch a/a b/b |
|
1357 | $ touch a/a b/b | |
1380 | $ hg add -q a b |
|
1358 | $ hg add -q a b | |
1381 | $ hg qrefresh |
|
1359 | $ hg qrefresh | |
1382 |
|
1360 | |||
1383 |
|
1361 | |||
1384 | test popping must remove files added in subdirectories first |
|
1362 | test popping must remove files added in subdirectories first | |
1385 |
|
1363 | |||
1386 | $ hg qpop |
|
1364 | $ hg qpop | |
1387 | popping rename-dir |
|
1365 | popping rename-dir | |
1388 | patch queue now empty |
|
1366 | patch queue now empty | |
1389 | $ cd .. |
|
1367 | $ cd .. | |
1390 |
|
1368 |
@@ -1,240 +1,240 b'' | |||||
1 | This runs with TZ="GMT" |
|
1 | This runs with TZ="GMT" | |
2 |
|
2 | |||
3 | $ hg init |
|
3 | $ hg init | |
4 | $ echo "test-parse-date" > a |
|
4 | $ echo "test-parse-date" > a | |
5 | $ hg add a |
|
5 | $ hg add a | |
6 | $ hg ci -d "2006-02-01 13:00:30" -m "rev 0" |
|
6 | $ hg ci -d "2006-02-01 13:00:30" -m "rev 0" | |
7 | $ echo "hi!" >> a |
|
7 | $ echo "hi!" >> a | |
8 | $ hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1" |
|
8 | $ hg ci -d "2006-02-01 13:00:30 -0500" -m "rev 1" | |
9 | $ hg tag -d "2006-04-15 13:30" "Hi" |
|
9 | $ hg tag -d "2006-04-15 13:30" "Hi" | |
10 | $ hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1 |
|
10 | $ hg backout --merge -d "2006-04-15 13:30 +0200" -m "rev 3" 1 | |
11 | reverting a |
|
11 | reverting a | |
12 | created new head |
|
12 | created new head | |
13 | changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8 |
|
13 | changeset 3:107ce1ee2b43 backs out changeset 1:25a1420a55f8 | |
14 | merging with changeset 3:107ce1ee2b43 |
|
14 | merging with changeset 3:107ce1ee2b43 | |
15 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
15 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
16 | (branch merge, don't forget to commit) |
|
16 | (branch merge, don't forget to commit) | |
17 | $ hg ci -d "1150000000 14400" -m "rev 4 (merge)" |
|
17 | $ hg ci -d "1150000000 14400" -m "rev 4 (merge)" | |
18 | $ echo "fail" >> a |
|
18 | $ echo "fail" >> a | |
19 | $ hg ci -d "should fail" -m "fail" |
|
19 | $ hg ci -d "should fail" -m "fail" | |
20 | abort: invalid date: 'should fail' |
|
20 | abort: invalid date: 'should fail' | |
21 | [255] |
|
21 | [255] | |
22 | $ hg ci -d "100000000000000000 1400" -m "fail" |
|
22 | $ hg ci -d "100000000000000000 1400" -m "fail" | |
23 | abort: date exceeds 32 bits: 100000000000000000 |
|
23 | abort: date exceeds 32 bits: 100000000000000000 | |
24 | [255] |
|
24 | [255] | |
25 | $ hg ci -d "100000 1400000" -m "fail" |
|
25 | $ hg ci -d "100000 1400000" -m "fail" | |
26 | abort: impossible time zone offset: 1400000 |
|
26 | abort: impossible time zone offset: 1400000 | |
27 | [255] |
|
27 | [255] | |
28 |
|
28 | |||
29 | Check with local timezone other than GMT and with DST |
|
29 | Check with local timezone other than GMT and with DST | |
30 |
|
30 | |||
31 | $ TZ="PST+8PDT" |
|
31 | $ TZ="PST+8PDT" | |
32 | $ export TZ |
|
32 | $ export TZ | |
33 |
|
33 | |||
34 | PST=UTC-8 / PDT=UTC-7 |
|
34 | PST=UTC-8 / PDT=UTC-7 | |
35 |
|
35 | |||
36 | $ hg debugrebuildstate |
|
36 | $ hg debugrebuildstate | |
37 | $ echo "a" > a |
|
37 | $ echo "a" > a | |
38 | $ hg ci -d "2006-07-15 13:30" -m "summer@UTC-7" |
|
38 | $ hg ci -d "2006-07-15 13:30" -m "summer@UTC-7" | |
39 | $ hg debugrebuildstate |
|
39 | $ hg debugrebuildstate | |
40 | $ echo "b" > a |
|
40 | $ echo "b" > a | |
41 | $ hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5" |
|
41 | $ hg ci -d "2006-07-15 13:30 +0500" -m "summer@UTC+5" | |
42 | $ hg debugrebuildstate |
|
42 | $ hg debugrebuildstate | |
43 | $ echo "c" > a |
|
43 | $ echo "c" > a | |
44 | $ hg ci -d "2006-01-15 13:30" -m "winter@UTC-8" |
|
44 | $ hg ci -d "2006-01-15 13:30" -m "winter@UTC-8" | |
45 | $ hg debugrebuildstate |
|
45 | $ hg debugrebuildstate | |
46 | $ echo "d" > a |
|
46 | $ echo "d" > a | |
47 | $ hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5" |
|
47 | $ hg ci -d "2006-01-15 13:30 +0500" -m "winter@UTC+5" | |
48 | $ hg log --template '{date|date}\n' |
|
48 | $ hg log --template '{date|date}\n' | |
49 | Sun Jan 15 13:30:00 2006 +0500 |
|
49 | Sun Jan 15 13:30:00 2006 +0500 | |
50 | Sun Jan 15 13:30:00 2006 -0800 |
|
50 | Sun Jan 15 13:30:00 2006 -0800 | |
51 | Sat Jul 15 13:30:00 2006 +0500 |
|
51 | Sat Jul 15 13:30:00 2006 +0500 | |
52 | Sat Jul 15 13:30:00 2006 -0700 |
|
52 | Sat Jul 15 13:30:00 2006 -0700 | |
53 | Sun Jun 11 00:26:40 2006 -0400 |
|
53 | Sun Jun 11 00:26:40 2006 -0400 | |
54 | Sat Apr 15 13:30:00 2006 +0200 |
|
54 | Sat Apr 15 13:30:00 2006 +0200 | |
55 | Sat Apr 15 13:30:00 2006 +0000 |
|
55 | Sat Apr 15 13:30:00 2006 +0000 | |
56 | Wed Feb 01 13:00:30 2006 -0500 |
|
56 | Wed Feb 01 13:00:30 2006 -0500 | |
57 | Wed Feb 01 13:00:30 2006 +0000 |
|
57 | Wed Feb 01 13:00:30 2006 +0000 | |
58 |
|
58 | |||
59 | Test issue1014 (fractional timezones) |
|
59 | Test issue1014 (fractional timezones) | |
60 |
|
60 | |||
61 | $ hg debugdate "1000000000 -16200" # 0430 |
|
61 | $ hg debugdate "1000000000 -16200" # 0430 | |
62 | internal: 1000000000 -16200 |
|
62 | internal: 1000000000 -16200 | |
63 | standard: Sun Sep 09 06:16:40 2001 +0430 |
|
63 | standard: Sun Sep 09 06:16:40 2001 +0430 | |
64 | $ hg debugdate "1000000000 -15300" # 0415 |
|
64 | $ hg debugdate "1000000000 -15300" # 0415 | |
65 | internal: 1000000000 -15300 |
|
65 | internal: 1000000000 -15300 | |
66 | standard: Sun Sep 09 06:01:40 2001 +0415 |
|
66 | standard: Sun Sep 09 06:01:40 2001 +0415 | |
67 | $ hg debugdate "1000000000 -14400" # 0400 |
|
67 | $ hg debugdate "1000000000 -14400" # 0400 | |
68 | internal: 1000000000 -14400 |
|
68 | internal: 1000000000 -14400 | |
69 | standard: Sun Sep 09 05:46:40 2001 +0400 |
|
69 | standard: Sun Sep 09 05:46:40 2001 +0400 | |
70 | $ hg debugdate "1000000000 0" # GMT |
|
70 | $ hg debugdate "1000000000 0" # GMT | |
71 | internal: 1000000000 0 |
|
71 | internal: 1000000000 0 | |
72 | standard: Sun Sep 09 01:46:40 2001 +0000 |
|
72 | standard: Sun Sep 09 01:46:40 2001 +0000 | |
73 | $ hg debugdate "1000000000 14400" # -0400 |
|
73 | $ hg debugdate "1000000000 14400" # -0400 | |
74 | internal: 1000000000 14400 |
|
74 | internal: 1000000000 14400 | |
75 | standard: Sat Sep 08 21:46:40 2001 -0400 |
|
75 | standard: Sat Sep 08 21:46:40 2001 -0400 | |
76 | $ hg debugdate "1000000000 15300" # -0415 |
|
76 | $ hg debugdate "1000000000 15300" # -0415 | |
77 | internal: 1000000000 15300 |
|
77 | internal: 1000000000 15300 | |
78 | standard: Sat Sep 08 21:31:40 2001 -0415 |
|
78 | standard: Sat Sep 08 21:31:40 2001 -0415 | |
79 | $ hg debugdate "1000000000 16200" # -0430 |
|
79 | $ hg debugdate "1000000000 16200" # -0430 | |
80 | internal: 1000000000 16200 |
|
80 | internal: 1000000000 16200 | |
81 | standard: Sat Sep 08 21:16:40 2001 -0430 |
|
81 | standard: Sat Sep 08 21:16:40 2001 -0430 | |
82 | $ hg debugdate "Sat Sep 08 21:16:40 2001 +0430" |
|
82 | $ hg debugdate "Sat Sep 08 21:16:40 2001 +0430" | |
83 | internal: 999967600 -16200 |
|
83 | internal: 999967600 -16200 | |
84 | standard: Sat Sep 08 21:16:40 2001 +0430 |
|
84 | standard: Sat Sep 08 21:16:40 2001 +0430 | |
85 | $ hg debugdate "Sat Sep 08 21:16:40 2001 -0430" |
|
85 | $ hg debugdate "Sat Sep 08 21:16:40 2001 -0430" | |
86 | internal: 1000000000 16200 |
|
86 | internal: 1000000000 16200 | |
87 | standard: Sat Sep 08 21:16:40 2001 -0430 |
|
87 | standard: Sat Sep 08 21:16:40 2001 -0430 | |
88 |
|
88 | |||
89 | Test 12-hours times |
|
89 | Test 12-hours times | |
90 |
|
90 | |||
91 | $ hg debugdate "2006-02-01 1:00:30PM +0000" |
|
91 | $ hg debugdate "2006-02-01 1:00:30PM +0000" | |
92 | internal: 1138798830 0 |
|
92 | internal: 1138798830 0 | |
93 | standard: Wed Feb 01 13:00:30 2006 +0000 |
|
93 | standard: Wed Feb 01 13:00:30 2006 +0000 | |
94 |
$ hg debugdate "1:00:30PM" > /dev/null |
|
94 | $ hg debugdate "1:00:30PM" > /dev/null | |
95 |
|
95 | |||
96 | Test date formats with '>' or '<' accompanied by space characters |
|
96 | Test date formats with '>' or '<' accompanied by space characters | |
97 |
|
97 | |||
98 | $ hg log -d '>' --template '{date|date}\n' |
|
98 | $ hg log -d '>' --template '{date|date}\n' | |
99 | Sun Jan 15 13:30:00 2006 +0500 |
|
99 | Sun Jan 15 13:30:00 2006 +0500 | |
100 | Sun Jan 15 13:30:00 2006 -0800 |
|
100 | Sun Jan 15 13:30:00 2006 -0800 | |
101 | Sat Jul 15 13:30:00 2006 +0500 |
|
101 | Sat Jul 15 13:30:00 2006 +0500 | |
102 | Sat Jul 15 13:30:00 2006 -0700 |
|
102 | Sat Jul 15 13:30:00 2006 -0700 | |
103 | Sun Jun 11 00:26:40 2006 -0400 |
|
103 | Sun Jun 11 00:26:40 2006 -0400 | |
104 | Sat Apr 15 13:30:00 2006 +0200 |
|
104 | Sat Apr 15 13:30:00 2006 +0200 | |
105 | Sat Apr 15 13:30:00 2006 +0000 |
|
105 | Sat Apr 15 13:30:00 2006 +0000 | |
106 | Wed Feb 01 13:00:30 2006 -0500 |
|
106 | Wed Feb 01 13:00:30 2006 -0500 | |
107 | Wed Feb 01 13:00:30 2006 +0000 |
|
107 | Wed Feb 01 13:00:30 2006 +0000 | |
108 | $ hg log -d '<' hg log -d '>' --template '{date|date}\n' |
|
108 | $ hg log -d '<' hg log -d '>' --template '{date|date}\n' | |
109 |
|
109 | |||
110 | $ hg log -d ' >' --template '{date|date}\n' |
|
110 | $ hg log -d ' >' --template '{date|date}\n' | |
111 | Sun Jan 15 13:30:00 2006 +0500 |
|
111 | Sun Jan 15 13:30:00 2006 +0500 | |
112 | Sun Jan 15 13:30:00 2006 -0800 |
|
112 | Sun Jan 15 13:30:00 2006 -0800 | |
113 | Sat Jul 15 13:30:00 2006 +0500 |
|
113 | Sat Jul 15 13:30:00 2006 +0500 | |
114 | Sat Jul 15 13:30:00 2006 -0700 |
|
114 | Sat Jul 15 13:30:00 2006 -0700 | |
115 | Sun Jun 11 00:26:40 2006 -0400 |
|
115 | Sun Jun 11 00:26:40 2006 -0400 | |
116 | Sat Apr 15 13:30:00 2006 +0200 |
|
116 | Sat Apr 15 13:30:00 2006 +0200 | |
117 | Sat Apr 15 13:30:00 2006 +0000 |
|
117 | Sat Apr 15 13:30:00 2006 +0000 | |
118 | Wed Feb 01 13:00:30 2006 -0500 |
|
118 | Wed Feb 01 13:00:30 2006 -0500 | |
119 | Wed Feb 01 13:00:30 2006 +0000 |
|
119 | Wed Feb 01 13:00:30 2006 +0000 | |
120 | $ hg log -d ' <' --template '{date|date}\n' |
|
120 | $ hg log -d ' <' --template '{date|date}\n' | |
121 |
|
121 | |||
122 | $ hg log -d '> ' --template '{date|date}\n' |
|
122 | $ hg log -d '> ' --template '{date|date}\n' | |
123 | Sun Jan 15 13:30:00 2006 +0500 |
|
123 | Sun Jan 15 13:30:00 2006 +0500 | |
124 | Sun Jan 15 13:30:00 2006 -0800 |
|
124 | Sun Jan 15 13:30:00 2006 -0800 | |
125 | Sat Jul 15 13:30:00 2006 +0500 |
|
125 | Sat Jul 15 13:30:00 2006 +0500 | |
126 | Sat Jul 15 13:30:00 2006 -0700 |
|
126 | Sat Jul 15 13:30:00 2006 -0700 | |
127 | Sun Jun 11 00:26:40 2006 -0400 |
|
127 | Sun Jun 11 00:26:40 2006 -0400 | |
128 | Sat Apr 15 13:30:00 2006 +0200 |
|
128 | Sat Apr 15 13:30:00 2006 +0200 | |
129 | Sat Apr 15 13:30:00 2006 +0000 |
|
129 | Sat Apr 15 13:30:00 2006 +0000 | |
130 | Wed Feb 01 13:00:30 2006 -0500 |
|
130 | Wed Feb 01 13:00:30 2006 -0500 | |
131 | Wed Feb 01 13:00:30 2006 +0000 |
|
131 | Wed Feb 01 13:00:30 2006 +0000 | |
132 | $ hg log -d '< ' --template '{date|date}\n' |
|
132 | $ hg log -d '< ' --template '{date|date}\n' | |
133 |
|
133 | |||
134 | $ hg log -d ' > ' --template '{date|date}\n' |
|
134 | $ hg log -d ' > ' --template '{date|date}\n' | |
135 | Sun Jan 15 13:30:00 2006 +0500 |
|
135 | Sun Jan 15 13:30:00 2006 +0500 | |
136 | Sun Jan 15 13:30:00 2006 -0800 |
|
136 | Sun Jan 15 13:30:00 2006 -0800 | |
137 | Sat Jul 15 13:30:00 2006 +0500 |
|
137 | Sat Jul 15 13:30:00 2006 +0500 | |
138 | Sat Jul 15 13:30:00 2006 -0700 |
|
138 | Sat Jul 15 13:30:00 2006 -0700 | |
139 | Sun Jun 11 00:26:40 2006 -0400 |
|
139 | Sun Jun 11 00:26:40 2006 -0400 | |
140 | Sat Apr 15 13:30:00 2006 +0200 |
|
140 | Sat Apr 15 13:30:00 2006 +0200 | |
141 | Sat Apr 15 13:30:00 2006 +0000 |
|
141 | Sat Apr 15 13:30:00 2006 +0000 | |
142 | Wed Feb 01 13:00:30 2006 -0500 |
|
142 | Wed Feb 01 13:00:30 2006 -0500 | |
143 | Wed Feb 01 13:00:30 2006 +0000 |
|
143 | Wed Feb 01 13:00:30 2006 +0000 | |
144 | $ hg log -d ' < ' --template '{date|date}\n' |
|
144 | $ hg log -d ' < ' --template '{date|date}\n' | |
145 |
|
145 | |||
146 | $ hg log -d '>02/01' --template '{date|date}\n' |
|
146 | $ hg log -d '>02/01' --template '{date|date}\n' | |
147 | $ hg log -d '<02/01' --template '{date|date}\n' |
|
147 | $ hg log -d '<02/01' --template '{date|date}\n' | |
148 | Sun Jan 15 13:30:00 2006 +0500 |
|
148 | Sun Jan 15 13:30:00 2006 +0500 | |
149 | Sun Jan 15 13:30:00 2006 -0800 |
|
149 | Sun Jan 15 13:30:00 2006 -0800 | |
150 | Sat Jul 15 13:30:00 2006 +0500 |
|
150 | Sat Jul 15 13:30:00 2006 +0500 | |
151 | Sat Jul 15 13:30:00 2006 -0700 |
|
151 | Sat Jul 15 13:30:00 2006 -0700 | |
152 | Sun Jun 11 00:26:40 2006 -0400 |
|
152 | Sun Jun 11 00:26:40 2006 -0400 | |
153 | Sat Apr 15 13:30:00 2006 +0200 |
|
153 | Sat Apr 15 13:30:00 2006 +0200 | |
154 | Sat Apr 15 13:30:00 2006 +0000 |
|
154 | Sat Apr 15 13:30:00 2006 +0000 | |
155 | Wed Feb 01 13:00:30 2006 -0500 |
|
155 | Wed Feb 01 13:00:30 2006 -0500 | |
156 | Wed Feb 01 13:00:30 2006 +0000 |
|
156 | Wed Feb 01 13:00:30 2006 +0000 | |
157 |
|
157 | |||
158 | $ hg log -d ' >02/01' --template '{date|date}\n' |
|
158 | $ hg log -d ' >02/01' --template '{date|date}\n' | |
159 | $ hg log -d ' <02/01' --template '{date|date}\n' |
|
159 | $ hg log -d ' <02/01' --template '{date|date}\n' | |
160 | Sun Jan 15 13:30:00 2006 +0500 |
|
160 | Sun Jan 15 13:30:00 2006 +0500 | |
161 | Sun Jan 15 13:30:00 2006 -0800 |
|
161 | Sun Jan 15 13:30:00 2006 -0800 | |
162 | Sat Jul 15 13:30:00 2006 +0500 |
|
162 | Sat Jul 15 13:30:00 2006 +0500 | |
163 | Sat Jul 15 13:30:00 2006 -0700 |
|
163 | Sat Jul 15 13:30:00 2006 -0700 | |
164 | Sun Jun 11 00:26:40 2006 -0400 |
|
164 | Sun Jun 11 00:26:40 2006 -0400 | |
165 | Sat Apr 15 13:30:00 2006 +0200 |
|
165 | Sat Apr 15 13:30:00 2006 +0200 | |
166 | Sat Apr 15 13:30:00 2006 +0000 |
|
166 | Sat Apr 15 13:30:00 2006 +0000 | |
167 | Wed Feb 01 13:00:30 2006 -0500 |
|
167 | Wed Feb 01 13:00:30 2006 -0500 | |
168 | Wed Feb 01 13:00:30 2006 +0000 |
|
168 | Wed Feb 01 13:00:30 2006 +0000 | |
169 |
|
169 | |||
170 | $ hg log -d '> 02/01' --template '{date|date}\n' |
|
170 | $ hg log -d '> 02/01' --template '{date|date}\n' | |
171 | $ hg log -d '< 02/01' --template '{date|date}\n' |
|
171 | $ hg log -d '< 02/01' --template '{date|date}\n' | |
172 | Sun Jan 15 13:30:00 2006 +0500 |
|
172 | Sun Jan 15 13:30:00 2006 +0500 | |
173 | Sun Jan 15 13:30:00 2006 -0800 |
|
173 | Sun Jan 15 13:30:00 2006 -0800 | |
174 | Sat Jul 15 13:30:00 2006 +0500 |
|
174 | Sat Jul 15 13:30:00 2006 +0500 | |
175 | Sat Jul 15 13:30:00 2006 -0700 |
|
175 | Sat Jul 15 13:30:00 2006 -0700 | |
176 | Sun Jun 11 00:26:40 2006 -0400 |
|
176 | Sun Jun 11 00:26:40 2006 -0400 | |
177 | Sat Apr 15 13:30:00 2006 +0200 |
|
177 | Sat Apr 15 13:30:00 2006 +0200 | |
178 | Sat Apr 15 13:30:00 2006 +0000 |
|
178 | Sat Apr 15 13:30:00 2006 +0000 | |
179 | Wed Feb 01 13:00:30 2006 -0500 |
|
179 | Wed Feb 01 13:00:30 2006 -0500 | |
180 | Wed Feb 01 13:00:30 2006 +0000 |
|
180 | Wed Feb 01 13:00:30 2006 +0000 | |
181 |
|
181 | |||
182 | $ hg log -d ' > 02/01' --template '{date|date}\n' |
|
182 | $ hg log -d ' > 02/01' --template '{date|date}\n' | |
183 | $ hg log -d ' < 02/01' --template '{date|date}\n' |
|
183 | $ hg log -d ' < 02/01' --template '{date|date}\n' | |
184 | Sun Jan 15 13:30:00 2006 +0500 |
|
184 | Sun Jan 15 13:30:00 2006 +0500 | |
185 | Sun Jan 15 13:30:00 2006 -0800 |
|
185 | Sun Jan 15 13:30:00 2006 -0800 | |
186 | Sat Jul 15 13:30:00 2006 +0500 |
|
186 | Sat Jul 15 13:30:00 2006 +0500 | |
187 | Sat Jul 15 13:30:00 2006 -0700 |
|
187 | Sat Jul 15 13:30:00 2006 -0700 | |
188 | Sun Jun 11 00:26:40 2006 -0400 |
|
188 | Sun Jun 11 00:26:40 2006 -0400 | |
189 | Sat Apr 15 13:30:00 2006 +0200 |
|
189 | Sat Apr 15 13:30:00 2006 +0200 | |
190 | Sat Apr 15 13:30:00 2006 +0000 |
|
190 | Sat Apr 15 13:30:00 2006 +0000 | |
191 | Wed Feb 01 13:00:30 2006 -0500 |
|
191 | Wed Feb 01 13:00:30 2006 -0500 | |
192 | Wed Feb 01 13:00:30 2006 +0000 |
|
192 | Wed Feb 01 13:00:30 2006 +0000 | |
193 |
|
193 | |||
194 | $ hg log -d '>02/01 ' --template '{date|date}\n' |
|
194 | $ hg log -d '>02/01 ' --template '{date|date}\n' | |
195 | $ hg log -d '<02/01 ' --template '{date|date}\n' |
|
195 | $ hg log -d '<02/01 ' --template '{date|date}\n' | |
196 | Sun Jan 15 13:30:00 2006 +0500 |
|
196 | Sun Jan 15 13:30:00 2006 +0500 | |
197 | Sun Jan 15 13:30:00 2006 -0800 |
|
197 | Sun Jan 15 13:30:00 2006 -0800 | |
198 | Sat Jul 15 13:30:00 2006 +0500 |
|
198 | Sat Jul 15 13:30:00 2006 +0500 | |
199 | Sat Jul 15 13:30:00 2006 -0700 |
|
199 | Sat Jul 15 13:30:00 2006 -0700 | |
200 | Sun Jun 11 00:26:40 2006 -0400 |
|
200 | Sun Jun 11 00:26:40 2006 -0400 | |
201 | Sat Apr 15 13:30:00 2006 +0200 |
|
201 | Sat Apr 15 13:30:00 2006 +0200 | |
202 | Sat Apr 15 13:30:00 2006 +0000 |
|
202 | Sat Apr 15 13:30:00 2006 +0000 | |
203 | Wed Feb 01 13:00:30 2006 -0500 |
|
203 | Wed Feb 01 13:00:30 2006 -0500 | |
204 | Wed Feb 01 13:00:30 2006 +0000 |
|
204 | Wed Feb 01 13:00:30 2006 +0000 | |
205 |
|
205 | |||
206 | $ hg log -d ' >02/01 ' --template '{date|date}\n' |
|
206 | $ hg log -d ' >02/01 ' --template '{date|date}\n' | |
207 | $ hg log -d ' <02/01 ' --template '{date|date}\n' |
|
207 | $ hg log -d ' <02/01 ' --template '{date|date}\n' | |
208 | Sun Jan 15 13:30:00 2006 +0500 |
|
208 | Sun Jan 15 13:30:00 2006 +0500 | |
209 | Sun Jan 15 13:30:00 2006 -0800 |
|
209 | Sun Jan 15 13:30:00 2006 -0800 | |
210 | Sat Jul 15 13:30:00 2006 +0500 |
|
210 | Sat Jul 15 13:30:00 2006 +0500 | |
211 | Sat Jul 15 13:30:00 2006 -0700 |
|
211 | Sat Jul 15 13:30:00 2006 -0700 | |
212 | Sun Jun 11 00:26:40 2006 -0400 |
|
212 | Sun Jun 11 00:26:40 2006 -0400 | |
213 | Sat Apr 15 13:30:00 2006 +0200 |
|
213 | Sat Apr 15 13:30:00 2006 +0200 | |
214 | Sat Apr 15 13:30:00 2006 +0000 |
|
214 | Sat Apr 15 13:30:00 2006 +0000 | |
215 | Wed Feb 01 13:00:30 2006 -0500 |
|
215 | Wed Feb 01 13:00:30 2006 -0500 | |
216 | Wed Feb 01 13:00:30 2006 +0000 |
|
216 | Wed Feb 01 13:00:30 2006 +0000 | |
217 |
|
217 | |||
218 | $ hg log -d '> 02/01 ' --template '{date|date}\n' |
|
218 | $ hg log -d '> 02/01 ' --template '{date|date}\n' | |
219 | $ hg log -d '< 02/01 ' --template '{date|date}\n' |
|
219 | $ hg log -d '< 02/01 ' --template '{date|date}\n' | |
220 | Sun Jan 15 13:30:00 2006 +0500 |
|
220 | Sun Jan 15 13:30:00 2006 +0500 | |
221 | Sun Jan 15 13:30:00 2006 -0800 |
|
221 | Sun Jan 15 13:30:00 2006 -0800 | |
222 | Sat Jul 15 13:30:00 2006 +0500 |
|
222 | Sat Jul 15 13:30:00 2006 +0500 | |
223 | Sat Jul 15 13:30:00 2006 -0700 |
|
223 | Sat Jul 15 13:30:00 2006 -0700 | |
224 | Sun Jun 11 00:26:40 2006 -0400 |
|
224 | Sun Jun 11 00:26:40 2006 -0400 | |
225 | Sat Apr 15 13:30:00 2006 +0200 |
|
225 | Sat Apr 15 13:30:00 2006 +0200 | |
226 | Sat Apr 15 13:30:00 2006 +0000 |
|
226 | Sat Apr 15 13:30:00 2006 +0000 | |
227 | Wed Feb 01 13:00:30 2006 -0500 |
|
227 | Wed Feb 01 13:00:30 2006 -0500 | |
228 | Wed Feb 01 13:00:30 2006 +0000 |
|
228 | Wed Feb 01 13:00:30 2006 +0000 | |
229 |
|
229 | |||
230 | $ hg log -d ' > 02/01 ' --template '{date|date}\n' |
|
230 | $ hg log -d ' > 02/01 ' --template '{date|date}\n' | |
231 | $ hg log -d ' < 02/01 ' --template '{date|date}\n' |
|
231 | $ hg log -d ' < 02/01 ' --template '{date|date}\n' | |
232 | Sun Jan 15 13:30:00 2006 +0500 |
|
232 | Sun Jan 15 13:30:00 2006 +0500 | |
233 | Sun Jan 15 13:30:00 2006 -0800 |
|
233 | Sun Jan 15 13:30:00 2006 -0800 | |
234 | Sat Jul 15 13:30:00 2006 +0500 |
|
234 | Sat Jul 15 13:30:00 2006 +0500 | |
235 | Sat Jul 15 13:30:00 2006 -0700 |
|
235 | Sat Jul 15 13:30:00 2006 -0700 | |
236 | Sun Jun 11 00:26:40 2006 -0400 |
|
236 | Sun Jun 11 00:26:40 2006 -0400 | |
237 | Sat Apr 15 13:30:00 2006 +0200 |
|
237 | Sat Apr 15 13:30:00 2006 +0200 | |
238 | Sat Apr 15 13:30:00 2006 +0000 |
|
238 | Sat Apr 15 13:30:00 2006 +0000 | |
239 | Wed Feb 01 13:00:30 2006 -0500 |
|
239 | Wed Feb 01 13:00:30 2006 -0500 | |
240 | Wed Feb 01 13:00:30 2006 +0000 |
|
240 | Wed Feb 01 13:00:30 2006 +0000 |
@@ -1,69 +1,69 b'' | |||||
1 | $ hg init t |
|
1 | $ hg init t | |
2 | $ cd t |
|
2 | $ cd t | |
3 |
|
3 | |||
4 | $ echo foo > a |
|
4 | $ echo foo > a | |
5 | $ hg add a |
|
5 | $ hg add a | |
6 |
|
6 | |||
7 | $ hg commit -m "1" |
|
7 | $ hg commit -m "1" | |
8 |
|
8 | |||
9 | $ hg verify |
|
9 | $ hg verify | |
10 | checking changesets |
|
10 | checking changesets | |
11 | checking manifests |
|
11 | checking manifests | |
12 | crosschecking files in changesets and manifests |
|
12 | crosschecking files in changesets and manifests | |
13 | checking files |
|
13 | checking files | |
14 | 1 files, 1 changesets, 1 total revisions |
|
14 | 1 files, 1 changesets, 1 total revisions | |
15 |
|
15 | |||
16 | $ chmod -r .hg/store/data/a.i |
|
16 | $ chmod -r .hg/store/data/a.i | |
17 |
|
17 | |||
18 | $ hg verify || echo %%% verify failed |
|
18 | $ hg verify | |
19 | checking changesets |
|
19 | checking changesets | |
20 | checking manifests |
|
20 | checking manifests | |
21 | crosschecking files in changesets and manifests |
|
21 | crosschecking files in changesets and manifests | |
22 | checking files |
|
22 | checking files | |
23 | abort: Permission denied: .* |
|
23 | abort: Permission denied: .* | |
24 | %%% verify failed |
|
24 | [255] | |
25 |
|
25 | |||
26 | $ chmod +r .hg/store/data/a.i |
|
26 | $ chmod +r .hg/store/data/a.i | |
27 |
|
27 | |||
28 | $ hg verify || echo %%% verify failed |
|
28 | $ hg verify | |
29 | checking changesets |
|
29 | checking changesets | |
30 | checking manifests |
|
30 | checking manifests | |
31 | crosschecking files in changesets and manifests |
|
31 | crosschecking files in changesets and manifests | |
32 | checking files |
|
32 | checking files | |
33 | 1 files, 1 changesets, 1 total revisions |
|
33 | 1 files, 1 changesets, 1 total revisions | |
34 |
|
34 | |||
35 | $ chmod -w .hg/store/data/a.i |
|
35 | $ chmod -w .hg/store/data/a.i | |
36 |
|
36 | |||
37 | $ echo barber > a |
|
37 | $ echo barber > a | |
38 |
$ hg commit -m "2" |
|
38 | $ hg commit -m "2" | |
39 | trouble committing a! |
|
39 | trouble committing a! | |
40 | abort: Permission denied: .* |
|
40 | abort: Permission denied: .* | |
41 | %%% commit failed |
|
41 | [255] | |
42 |
|
42 | |||
43 | $ chmod -w . |
|
43 | $ chmod -w . | |
44 |
|
44 | |||
45 | $ hg diff --nodates |
|
45 | $ hg diff --nodates | |
46 | diff -r 2a18120dc1c9 a |
|
46 | diff -r 2a18120dc1c9 a | |
47 | --- a/a |
|
47 | --- a/a | |
48 | +++ b/a |
|
48 | +++ b/a | |
49 | @@ -1,1 +1,1 @@ |
|
49 | @@ -1,1 +1,1 @@ | |
50 | -foo |
|
50 | -foo | |
51 | +barber |
|
51 | +barber | |
52 |
|
52 | |||
53 | $ chmod +w . |
|
53 | $ chmod +w . | |
54 |
|
54 | |||
55 | $ chmod +w .hg/store/data/a.i |
|
55 | $ chmod +w .hg/store/data/a.i | |
56 | $ mkdir dir |
|
56 | $ mkdir dir | |
57 | $ touch dir/a |
|
57 | $ touch dir/a | |
58 | $ hg status |
|
58 | $ hg status | |
59 | M a |
|
59 | M a | |
60 | ? dir/a |
|
60 | ? dir/a | |
61 | $ chmod -rx dir |
|
61 | $ chmod -rx dir | |
62 | $ hg status |
|
62 | $ hg status | |
63 | dir: Permission denied |
|
63 | dir: Permission denied | |
64 | M a |
|
64 | M a | |
65 |
|
65 | |||
66 | Reenable perm to allow deletion: |
|
66 | Reenable perm to allow deletion: | |
67 |
|
67 | |||
68 | $ chmod +rx dir |
|
68 | $ chmod +rx dir | |
69 |
|
69 |
@@ -1,709 +1,699 b'' | |||||
1 | $ echo "[extensions]" >> $HGRCPATH |
|
1 | $ echo "[extensions]" >> $HGRCPATH | |
2 | $ echo "graphlog=" >> $HGRCPATH |
|
2 | $ echo "graphlog=" >> $HGRCPATH | |
3 |
|
3 | |||
4 | $ mkdir a |
|
4 | $ mkdir a | |
5 | $ cd a |
|
5 | $ cd a | |
6 | $ hg init |
|
6 | $ hg init | |
7 | $ echo foo > t1 |
|
7 | $ echo foo > t1 | |
8 | $ hg add t1 |
|
8 | $ hg add t1 | |
9 | $ hg commit -m "1" |
|
9 | $ hg commit -m "1" | |
10 |
|
10 | |||
11 | $ cd .. |
|
11 | $ cd .. | |
12 | $ hg clone a b |
|
12 | $ hg clone a b | |
13 | updating to branch default |
|
13 | updating to branch default | |
14 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
14 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15 |
|
15 | |||
16 | $ cd a |
|
16 | $ cd a | |
17 | $ echo foo > t2 |
|
17 | $ echo foo > t2 | |
18 | $ hg add t2 |
|
18 | $ hg add t2 | |
19 | $ hg commit -m "2" |
|
19 | $ hg commit -m "2" | |
20 |
|
20 | |||
21 | $ cd ../b |
|
21 | $ cd ../b | |
22 | $ echo foo > t3 |
|
22 | $ echo foo > t3 | |
23 | $ hg add t3 |
|
23 | $ hg add t3 | |
24 | $ hg commit -m "3" |
|
24 | $ hg commit -m "3" | |
25 |
|
25 | |||
26 | $ hg push ../a |
|
26 | $ hg push ../a | |
27 | pushing to ../a |
|
27 | pushing to ../a | |
28 | searching for changes |
|
28 | searching for changes | |
29 | abort: push creates new remote heads on branch 'default'! |
|
29 | abort: push creates new remote heads on branch 'default'! | |
30 | (you should pull and merge or use push -f to force) |
|
30 | (you should pull and merge or use push -f to force) | |
31 | [255] |
|
31 | [255] | |
32 |
|
32 | |||
33 | $ hg pull ../a |
|
33 | $ hg pull ../a | |
34 | pulling from ../a |
|
34 | pulling from ../a | |
35 | searching for changes |
|
35 | searching for changes | |
36 | adding changesets |
|
36 | adding changesets | |
37 | adding manifests |
|
37 | adding manifests | |
38 | adding file changes |
|
38 | adding file changes | |
39 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
39 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
40 | (run 'hg heads' to see heads, 'hg merge' to merge) |
|
40 | (run 'hg heads' to see heads, 'hg merge' to merge) | |
41 |
|
41 | |||
42 | $ hg push ../a |
|
42 | $ hg push ../a | |
43 | pushing to ../a |
|
43 | pushing to ../a | |
44 | searching for changes |
|
44 | searching for changes | |
45 | abort: push creates new remote heads on branch 'default'! |
|
45 | abort: push creates new remote heads on branch 'default'! | |
46 | (did you forget to merge? use push -f to force) |
|
46 | (did you forget to merge? use push -f to force) | |
47 | [255] |
|
47 | [255] | |
48 |
|
48 | |||
49 | $ hg merge |
|
49 | $ hg merge | |
50 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
50 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
51 | (branch merge, don't forget to commit) |
|
51 | (branch merge, don't forget to commit) | |
52 |
|
52 | |||
53 | $ hg commit -m "4" |
|
53 | $ hg commit -m "4" | |
54 | $ hg push ../a |
|
54 | $ hg push ../a | |
55 | pushing to ../a |
|
55 | pushing to ../a | |
56 | searching for changes |
|
56 | searching for changes | |
57 | adding changesets |
|
57 | adding changesets | |
58 | adding manifests |
|
58 | adding manifests | |
59 | adding file changes |
|
59 | adding file changes | |
60 | added 2 changesets with 1 changes to 1 files |
|
60 | added 2 changesets with 1 changes to 1 files | |
61 |
|
61 | |||
62 | $ cd .. |
|
62 | $ cd .. | |
63 |
|
63 | |||
64 | $ hg init c |
|
64 | $ hg init c | |
65 | $ cd c |
|
65 | $ cd c | |
66 | $ for i in 0 1 2; do |
|
66 | $ for i in 0 1 2; do | |
67 | > echo $i >> foo |
|
67 | > echo $i >> foo | |
68 | > hg ci -Am $i |
|
68 | > hg ci -Am $i | |
69 | > done |
|
69 | > done | |
70 | adding foo |
|
70 | adding foo | |
71 | $ cd .. |
|
71 | $ cd .. | |
72 |
|
72 | |||
73 | $ hg clone c d |
|
73 | $ hg clone c d | |
74 | updating to branch default |
|
74 | updating to branch default | |
75 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
75 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
76 |
|
76 | |||
77 | $ cd d |
|
77 | $ cd d | |
78 | $ for i in 0 1; do |
|
78 | $ for i in 0 1; do | |
79 | > hg co -C $i |
|
79 | > hg co -C $i | |
80 | > echo d-$i >> foo |
|
80 | > echo d-$i >> foo | |
81 | > hg ci -m d-$i |
|
81 | > hg ci -m d-$i | |
82 | > done |
|
82 | > done | |
83 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
83 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
84 | created new head |
|
84 | created new head | |
85 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
85 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
86 | created new head |
|
86 | created new head | |
87 |
|
87 | |||
88 | $ HGMERGE=true hg merge 3 |
|
88 | $ HGMERGE=true hg merge 3 | |
89 | merging foo |
|
89 | merging foo | |
90 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
90 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
91 | (branch merge, don't forget to commit) |
|
91 | (branch merge, don't forget to commit) | |
92 |
|
92 | |||
93 | $ hg ci -m c-d |
|
93 | $ hg ci -m c-d | |
94 |
|
94 | |||
95 |
$ hg push ../c |
|
95 | $ hg push ../c | |
96 |
|
|
96 | pushing to ../c | |
97 | searching for changes |
|
97 | searching for changes | |
98 | abort: push creates new remote heads on branch 'default'! |
|
98 | abort: push creates new remote heads on branch 'default'! | |
99 | (did you forget to merge? use push -f to force) |
|
99 | (did you forget to merge? use push -f to force) | |
100 | 255 |
|
100 | [255] | |
101 |
|
101 | |||
102 |
$ hg push -r 2 ../c |
|
102 | $ hg push -r 2 ../c | |
103 |
|
|
103 | pushing to ../c | |
104 | searching for changes |
|
104 | searching for changes | |
105 | no changes found |
|
105 | no changes found | |
106 | 0 |
|
|||
107 |
|
106 | |||
108 |
$ hg push -r 3 ../c |
|
107 | $ hg push -r 3 ../c | |
109 |
|
|
108 | pushing to ../c | |
110 | searching for changes |
|
109 | searching for changes | |
111 | abort: push creates new remote heads on branch 'default'! |
|
110 | abort: push creates new remote heads on branch 'default'! | |
112 | (did you forget to merge? use push -f to force) |
|
111 | (did you forget to merge? use push -f to force) | |
113 | 255 |
|
112 | [255] | |
114 |
|
113 | |||
115 |
$ hg push -r 3 -r 4 ../c |
|
114 | $ hg push -r 3 -r 4 ../c | |
116 |
|
|
115 | pushing to ../c | |
117 | searching for changes |
|
116 | searching for changes | |
118 | abort: push creates new remote heads on branch 'default'! |
|
117 | abort: push creates new remote heads on branch 'default'! | |
119 | (did you forget to merge? use push -f to force) |
|
118 | (did you forget to merge? use push -f to force) | |
120 | 255 |
|
119 | [255] | |
121 |
|
120 | |||
122 |
$ hg push -f -r 3 -r 4 ../c |
|
121 | $ hg push -f -r 3 -r 4 ../c | |
123 |
|
|
122 | pushing to ../c | |
124 | searching for changes |
|
123 | searching for changes | |
125 | adding changesets |
|
124 | adding changesets | |
126 | adding manifests |
|
125 | adding manifests | |
127 | adding file changes |
|
126 | adding file changes | |
128 | added 2 changesets with 2 changes to 1 files (+2 heads) |
|
127 | added 2 changesets with 2 changes to 1 files (+2 heads) | |
129 | 0 |
|
|||
130 |
|
128 | |||
131 |
$ hg push -r 5 ../c |
|
129 | $ hg push -r 5 ../c | |
132 |
|
|
130 | pushing to ../c | |
133 | searching for changes |
|
131 | searching for changes | |
134 | adding changesets |
|
132 | adding changesets | |
135 | adding manifests |
|
133 | adding manifests | |
136 | adding file changes |
|
134 | adding file changes | |
137 | added 1 changesets with 1 changes to 1 files (-1 heads) |
|
135 | added 1 changesets with 1 changes to 1 files (-1 heads) | |
138 | 0 |
|
|||
139 |
|
136 | |||
140 | $ hg in ../c |
|
137 | $ hg in ../c | |
141 | comparing with ../c |
|
138 | comparing with ../c | |
142 | searching for changes |
|
139 | searching for changes | |
143 | no changes found |
|
140 | no changes found | |
144 | [1] |
|
141 | [1] | |
145 |
|
142 | |||
146 |
|
143 | |||
147 | Issue 450: |
|
144 | Issue 450: | |
148 |
|
145 | |||
149 | $ hg init ../e |
|
146 | $ hg init ../e | |
150 |
$ hg push -r 0 ../e |
|
147 | $ hg push -r 0 ../e | |
151 |
|
|
148 | pushing to ../e | |
152 | searching for changes |
|
149 | searching for changes | |
153 | adding changesets |
|
150 | adding changesets | |
154 | adding manifests |
|
151 | adding manifests | |
155 | adding file changes |
|
152 | adding file changes | |
156 | added 1 changesets with 1 changes to 1 files |
|
153 | added 1 changesets with 1 changes to 1 files | |
157 | 0 |
|
|||
158 |
|
154 | |||
159 |
$ hg push -r 1 ../e |
|
155 | $ hg push -r 1 ../e | |
160 |
|
|
156 | pushing to ../e | |
161 | searching for changes |
|
157 | searching for changes | |
162 | adding changesets |
|
158 | adding changesets | |
163 | adding manifests |
|
159 | adding manifests | |
164 | adding file changes |
|
160 | adding file changes | |
165 | added 1 changesets with 1 changes to 1 files |
|
161 | added 1 changesets with 1 changes to 1 files | |
166 | 0 |
|
|||
167 |
|
162 | |||
168 | $ cd .. |
|
163 | $ cd .. | |
169 |
|
164 | |||
170 |
|
165 | |||
171 | Issue 736: |
|
166 | Issue 736: | |
172 |
|
167 | |||
173 | $ hg init f |
|
168 | $ hg init f | |
174 | $ cd f |
|
169 | $ cd f | |
175 | $ hg -q branch a |
|
170 | $ hg -q branch a | |
176 | $ echo 0 > foo |
|
171 | $ echo 0 > foo | |
177 | $ hg -q ci -Am 0 |
|
172 | $ hg -q ci -Am 0 | |
178 | $ echo 1 > foo |
|
173 | $ echo 1 > foo | |
179 | $ hg -q ci -m 1 |
|
174 | $ hg -q ci -m 1 | |
180 | $ hg -q up 0 |
|
175 | $ hg -q up 0 | |
181 | $ echo 2 > foo |
|
176 | $ echo 2 > foo | |
182 | $ hg -q ci -m 2 |
|
177 | $ hg -q ci -m 2 | |
183 | $ hg -q up 0 |
|
178 | $ hg -q up 0 | |
184 | $ hg -q branch b |
|
179 | $ hg -q branch b | |
185 | $ echo 3 > foo |
|
180 | $ echo 3 > foo | |
186 | $ hg -q ci -m 3 |
|
181 | $ hg -q ci -m 3 | |
187 | $ cd .. |
|
182 | $ cd .. | |
188 |
|
183 | |||
189 | $ hg -q clone f g |
|
184 | $ hg -q clone f g | |
190 | $ cd g |
|
185 | $ cd g | |
191 |
|
186 | |||
192 | Push on existing branch and new branch: |
|
187 | Push on existing branch and new branch: | |
193 |
|
188 | |||
194 | $ hg -q up 1 |
|
189 | $ hg -q up 1 | |
195 | $ echo 4 > foo |
|
190 | $ echo 4 > foo | |
196 | $ hg -q ci -m 4 |
|
191 | $ hg -q ci -m 4 | |
197 | $ hg -q up 0 |
|
192 | $ hg -q up 0 | |
198 | $ echo 5 > foo |
|
193 | $ echo 5 > foo | |
199 | $ hg -q branch c |
|
194 | $ hg -q branch c | |
200 | $ hg -q ci -m 5 |
|
195 | $ hg -q ci -m 5 | |
201 |
|
196 | |||
202 |
$ hg push ../f |
|
197 | $ hg push ../f | |
203 |
|
|
198 | pushing to ../f | |
204 | searching for changes |
|
199 | searching for changes | |
205 | abort: push creates new remote branches: c! |
|
200 | abort: push creates new remote branches: c! | |
206 | (use 'hg push --new-branch' to create new remote branches) |
|
201 | (use 'hg push --new-branch' to create new remote branches) | |
207 | 255 |
|
202 | [255] | |
208 |
|
203 | |||
209 |
$ hg push -r 4 -r 5 ../f |
|
204 | $ hg push -r 4 -r 5 ../f | |
210 |
|
|
205 | pushing to ../f | |
211 | searching for changes |
|
206 | searching for changes | |
212 | abort: push creates new remote branches: c! |
|
207 | abort: push creates new remote branches: c! | |
213 | (use 'hg push --new-branch' to create new remote branches) |
|
208 | (use 'hg push --new-branch' to create new remote branches) | |
214 | 255 |
|
209 | [255] | |
215 |
|
210 | |||
216 |
|
211 | |||
217 | Multiple new branches: |
|
212 | Multiple new branches: | |
218 |
|
213 | |||
219 | $ hg -q branch d |
|
214 | $ hg -q branch d | |
220 | $ echo 6 > foo |
|
215 | $ echo 6 > foo | |
221 | $ hg -q ci -m 6 |
|
216 | $ hg -q ci -m 6 | |
222 |
|
217 | |||
223 |
$ hg push ../f |
|
218 | $ hg push ../f | |
224 |
|
|
219 | pushing to ../f | |
225 | searching for changes |
|
220 | searching for changes | |
226 | abort: push creates new remote branches: c, d! |
|
221 | abort: push creates new remote branches: c, d! | |
227 | (use 'hg push --new-branch' to create new remote branches) |
|
222 | (use 'hg push --new-branch' to create new remote branches) | |
228 | 255 |
|
223 | [255] | |
229 |
|
224 | |||
230 |
$ hg push -r 4 -r 6 ../f |
|
225 | $ hg push -r 4 -r 6 ../f | |
231 |
|
|
226 | pushing to ../f | |
232 | searching for changes |
|
227 | searching for changes | |
233 | abort: push creates new remote branches: c, d! |
|
228 | abort: push creates new remote branches: c, d! | |
234 | (use 'hg push --new-branch' to create new remote branches) |
|
229 | (use 'hg push --new-branch' to create new remote branches) | |
235 | 255 |
|
230 | [255] | |
236 |
|
231 | |||
237 | $ cd ../g |
|
232 | $ cd ../g | |
238 |
|
233 | |||
239 |
|
234 | |||
240 | Fail on multiple head push: |
|
235 | Fail on multiple head push: | |
241 |
|
236 | |||
242 | $ hg -q up 1 |
|
237 | $ hg -q up 1 | |
243 | $ echo 7 > foo |
|
238 | $ echo 7 > foo | |
244 | $ hg -q ci -m 7 |
|
239 | $ hg -q ci -m 7 | |
245 |
|
240 | |||
246 |
$ hg push -r 4 -r 7 ../f |
|
241 | $ hg push -r 4 -r 7 ../f | |
247 |
|
|
242 | pushing to ../f | |
248 | searching for changes |
|
243 | searching for changes | |
249 | abort: push creates new remote heads on branch 'a'! |
|
244 | abort: push creates new remote heads on branch 'a'! | |
250 | (did you forget to merge? use push -f to force) |
|
245 | (did you forget to merge? use push -f to force) | |
251 | 255 |
|
246 | [255] | |
252 |
|
247 | |||
253 | Push replacement head on existing branches: |
|
248 | Push replacement head on existing branches: | |
254 |
|
249 | |||
255 | $ hg -q up 3 |
|
250 | $ hg -q up 3 | |
256 | $ echo 8 > foo |
|
251 | $ echo 8 > foo | |
257 | $ hg -q ci -m 8 |
|
252 | $ hg -q ci -m 8 | |
258 |
|
253 | |||
259 |
$ hg push -r 7 -r 8 ../f |
|
254 | $ hg push -r 7 -r 8 ../f | |
260 |
|
|
255 | pushing to ../f | |
261 | searching for changes |
|
256 | searching for changes | |
262 | adding changesets |
|
257 | adding changesets | |
263 | adding manifests |
|
258 | adding manifests | |
264 | adding file changes |
|
259 | adding file changes | |
265 | added 2 changesets with 2 changes to 1 files |
|
260 | added 2 changesets with 2 changes to 1 files | |
266 | 0 |
|
|||
267 |
|
261 | |||
268 |
|
262 | |||
269 | Merge of branch a to other branch b followed by unrelated push |
|
263 | Merge of branch a to other branch b followed by unrelated push | |
270 | on branch a: |
|
264 | on branch a: | |
271 |
|
265 | |||
272 | $ hg -q up 7 |
|
266 | $ hg -q up 7 | |
273 | $ HGMERGE=true hg -q merge 8 |
|
267 | $ HGMERGE=true hg -q merge 8 | |
274 | $ hg -q ci -m 9 |
|
268 | $ hg -q ci -m 9 | |
275 | $ hg -q up 8 |
|
269 | $ hg -q up 8 | |
276 | $ echo 10 > foo |
|
270 | $ echo 10 > foo | |
277 | $ hg -q ci -m 10 |
|
271 | $ hg -q ci -m 10 | |
278 |
|
272 | |||
279 |
$ hg push -r 9 ../f |
|
273 | $ hg push -r 9 ../f | |
280 |
|
|
274 | pushing to ../f | |
281 | searching for changes |
|
275 | searching for changes | |
282 | adding changesets |
|
276 | adding changesets | |
283 | adding manifests |
|
277 | adding manifests | |
284 | adding file changes |
|
278 | adding file changes | |
285 | added 1 changesets with 1 changes to 1 files (-1 heads) |
|
279 | added 1 changesets with 1 changes to 1 files (-1 heads) | |
286 | 0 |
|
|||
287 |
|
280 | |||
288 |
$ hg push -r 10 ../f |
|
281 | $ hg push -r 10 ../f | |
289 |
|
|
282 | pushing to ../f | |
290 | searching for changes |
|
283 | searching for changes | |
291 | adding changesets |
|
284 | adding changesets | |
292 | adding manifests |
|
285 | adding manifests | |
293 | adding file changes |
|
286 | adding file changes | |
294 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
287 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
295 | 0 |
|
|||
296 |
|
288 | |||
297 |
|
289 | |||
298 | Cheating the counting algorithm: |
|
290 | Cheating the counting algorithm: | |
299 |
|
291 | |||
300 | $ hg -q up 9 |
|
292 | $ hg -q up 9 | |
301 | $ HGMERGE=true hg -q merge 2 |
|
293 | $ HGMERGE=true hg -q merge 2 | |
302 | $ hg -q ci -m 11 |
|
294 | $ hg -q ci -m 11 | |
303 | $ hg -q up 1 |
|
295 | $ hg -q up 1 | |
304 | $ echo 12 > foo |
|
296 | $ echo 12 > foo | |
305 | $ hg -q ci -m 12 |
|
297 | $ hg -q ci -m 12 | |
306 |
|
298 | |||
307 |
$ hg push -r 11 -r 12 ../f |
|
299 | $ hg push -r 11 -r 12 ../f | |
308 |
|
|
300 | pushing to ../f | |
309 | searching for changes |
|
301 | searching for changes | |
310 | adding changesets |
|
302 | adding changesets | |
311 | adding manifests |
|
303 | adding manifests | |
312 | adding file changes |
|
304 | adding file changes | |
313 | added 2 changesets with 2 changes to 1 files |
|
305 | added 2 changesets with 2 changes to 1 files | |
314 | 0 |
|
|||
315 |
|
306 | |||
316 |
|
307 | |||
317 | Failed push of new named branch: |
|
308 | Failed push of new named branch: | |
318 |
|
309 | |||
319 | $ echo 12 > foo |
|
310 | $ echo 12 > foo | |
320 | $ hg -q ci -m 12a |
|
311 | $ hg -q ci -m 12a | |
321 | [1] |
|
312 | [1] | |
322 | $ hg -q up 11 |
|
313 | $ hg -q up 11 | |
323 | $ echo 13 > foo |
|
314 | $ echo 13 > foo | |
324 | $ hg -q branch e |
|
315 | $ hg -q branch e | |
325 | $ hg -q ci -m 13d |
|
316 | $ hg -q ci -m 13d | |
326 |
|
317 | |||
327 |
$ hg push -r 12 -r 13 ../f |
|
318 | $ hg push -r 12 -r 13 ../f | |
328 |
|
|
319 | pushing to ../f | |
329 | searching for changes |
|
320 | searching for changes | |
330 | abort: push creates new remote branches: e! |
|
321 | abort: push creates new remote branches: e! | |
331 | (use 'hg push --new-branch' to create new remote branches) |
|
322 | (use 'hg push --new-branch' to create new remote branches) | |
332 | 255 |
|
323 | [255] | |
333 |
|
324 | |||
334 |
|
325 | |||
335 | Using --new-branch to push new named branch: |
|
326 | Using --new-branch to push new named branch: | |
336 |
|
327 | |||
337 |
$ hg push --new-branch -r 12 -r 13 ../f |
|
328 | $ hg push --new-branch -r 12 -r 13 ../f | |
338 |
|
|
329 | pushing to ../f | |
339 | searching for changes |
|
330 | searching for changes | |
340 | adding changesets |
|
331 | adding changesets | |
341 | adding manifests |
|
332 | adding manifests | |
342 | adding file changes |
|
333 | adding file changes | |
343 | added 1 changesets with 1 changes to 1 files |
|
334 | added 1 changesets with 1 changes to 1 files | |
344 | 0 |
|
|||
345 |
|
335 | |||
346 |
|
336 | |||
347 | Checking prepush logic does not allow silently pushing |
|
337 | Checking prepush logic does not allow silently pushing | |
348 | multiple new heads: |
|
338 | multiple new heads: | |
349 |
|
339 | |||
350 | $ cd .. |
|
340 | $ cd .. | |
351 | $ hg init h |
|
341 | $ hg init h | |
352 | $ echo init > h/init |
|
342 | $ echo init > h/init | |
353 | $ hg -R h ci -Am init |
|
343 | $ hg -R h ci -Am init | |
354 | adding init |
|
344 | adding init | |
355 | $ echo a > h/a |
|
345 | $ echo a > h/a | |
356 | $ hg -R h ci -Am a |
|
346 | $ hg -R h ci -Am a | |
357 | adding a |
|
347 | adding a | |
358 | $ hg clone h i |
|
348 | $ hg clone h i | |
359 | updating to branch default |
|
349 | updating to branch default | |
360 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
350 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
361 | $ hg -R h up 0 |
|
351 | $ hg -R h up 0 | |
362 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
352 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
363 | $ echo b > h/b |
|
353 | $ echo b > h/b | |
364 | $ hg -R h ci -Am b |
|
354 | $ hg -R h ci -Am b | |
365 | adding b |
|
355 | adding b | |
366 | created new head |
|
356 | created new head | |
367 | $ hg -R i up 0 |
|
357 | $ hg -R i up 0 | |
368 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
358 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
369 | $ echo c > i/c |
|
359 | $ echo c > i/c | |
370 | $ hg -R i ci -Am c |
|
360 | $ hg -R i ci -Am c | |
371 | adding c |
|
361 | adding c | |
372 | created new head |
|
362 | created new head | |
373 |
|
363 | |||
374 | $ hg -R i push h |
|
364 | $ hg -R i push h | |
375 | pushing to h |
|
365 | pushing to h | |
376 | searching for changes |
|
366 | searching for changes | |
377 | abort: push creates new remote heads on branch 'default'! |
|
367 | abort: push creates new remote heads on branch 'default'! | |
378 | (you should pull and merge or use push -f to force) |
|
368 | (you should pull and merge or use push -f to force) | |
379 | [255] |
|
369 | [255] | |
380 |
|
370 | |||
381 |
|
371 | |||
382 | Check prepush logic with merged branches: |
|
372 | Check prepush logic with merged branches: | |
383 |
|
373 | |||
384 | $ hg init j |
|
374 | $ hg init j | |
385 | $ hg -R j branch a |
|
375 | $ hg -R j branch a | |
386 | marked working directory as branch a |
|
376 | marked working directory as branch a | |
387 | $ echo init > j/foo |
|
377 | $ echo init > j/foo | |
388 | $ hg -R j ci -Am init |
|
378 | $ hg -R j ci -Am init | |
389 | adding foo |
|
379 | adding foo | |
390 | $ hg clone j k |
|
380 | $ hg clone j k | |
391 | updating to branch a |
|
381 | updating to branch a | |
392 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
382 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
393 | $ echo a1 > j/foo |
|
383 | $ echo a1 > j/foo | |
394 | $ hg -R j ci -m a1 |
|
384 | $ hg -R j ci -m a1 | |
395 | $ hg -R k branch b |
|
385 | $ hg -R k branch b | |
396 | marked working directory as branch b |
|
386 | marked working directory as branch b | |
397 | $ echo b > k/foo |
|
387 | $ echo b > k/foo | |
398 | $ hg -R k ci -m b |
|
388 | $ hg -R k ci -m b | |
399 | $ hg -R k up 0 |
|
389 | $ hg -R k up 0 | |
400 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
390 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
401 |
|
391 | |||
402 | $ hg -R k merge b |
|
392 | $ hg -R k merge b | |
403 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
393 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
404 | (branch merge, don't forget to commit) |
|
394 | (branch merge, don't forget to commit) | |
405 |
|
395 | |||
406 | $ hg -R k ci -m merge |
|
396 | $ hg -R k ci -m merge | |
407 |
|
397 | |||
408 | $ hg -R k push -r a j |
|
398 | $ hg -R k push -r a j | |
409 | pushing to j |
|
399 | pushing to j | |
410 | searching for changes |
|
400 | searching for changes | |
411 | abort: push creates new remote branches: b! |
|
401 | abort: push creates new remote branches: b! | |
412 | (use 'hg push --new-branch' to create new remote branches) |
|
402 | (use 'hg push --new-branch' to create new remote branches) | |
413 | [255] |
|
403 | [255] | |
414 |
|
404 | |||
415 |
|
405 | |||
416 | Prepush -r should not allow you to sneak in new heads: |
|
406 | Prepush -r should not allow you to sneak in new heads: | |
417 |
|
407 | |||
418 | $ hg init l |
|
408 | $ hg init l | |
419 | $ cd l |
|
409 | $ cd l | |
420 | $ echo a >> foo |
|
410 | $ echo a >> foo | |
421 | $ hg -q add foo |
|
411 | $ hg -q add foo | |
422 | $ hg -q branch a |
|
412 | $ hg -q branch a | |
423 | $ hg -q ci -ma |
|
413 | $ hg -q ci -ma | |
424 | $ hg -q up null |
|
414 | $ hg -q up null | |
425 | $ echo a >> foo |
|
415 | $ echo a >> foo | |
426 | $ hg -q add foo |
|
416 | $ hg -q add foo | |
427 | $ hg -q branch b |
|
417 | $ hg -q branch b | |
428 | $ hg -q ci -mb |
|
418 | $ hg -q ci -mb | |
429 | $ cd .. |
|
419 | $ cd .. | |
430 | $ hg -q clone l m -u a |
|
420 | $ hg -q clone l m -u a | |
431 | $ cd m |
|
421 | $ cd m | |
432 | $ hg -q merge b |
|
422 | $ hg -q merge b | |
433 | $ hg -q ci -mmb |
|
423 | $ hg -q ci -mmb | |
434 | $ hg -q up 0 |
|
424 | $ hg -q up 0 | |
435 | $ echo a >> foo |
|
425 | $ echo a >> foo | |
436 | $ hg -q ci -ma2 |
|
426 | $ hg -q ci -ma2 | |
437 | $ hg -q up 2 |
|
427 | $ hg -q up 2 | |
438 | $ echo a >> foo |
|
428 | $ echo a >> foo | |
439 | $ hg -q branch -f b |
|
429 | $ hg -q branch -f b | |
440 | $ hg -q ci -mb2 |
|
430 | $ hg -q ci -mb2 | |
441 | $ hg -q merge 3 |
|
431 | $ hg -q merge 3 | |
442 | $ hg -q ci -mma |
|
432 | $ hg -q ci -mma | |
443 |
|
433 | |||
444 | $ hg push ../l -b b |
|
434 | $ hg push ../l -b b | |
445 | pushing to ../l |
|
435 | pushing to ../l | |
446 | searching for changes |
|
436 | searching for changes | |
447 | abort: push creates new remote heads on branch 'a'! |
|
437 | abort: push creates new remote heads on branch 'a'! | |
448 | (did you forget to merge? use push -f to force) |
|
438 | (did you forget to merge? use push -f to force) | |
449 | [255] |
|
439 | [255] | |
450 |
|
440 | |||
451 | $ cd .. |
|
441 | $ cd .. | |
452 |
|
442 | |||
453 |
|
443 | |||
454 | Check prepush with new branch head on former topo non-head: |
|
444 | Check prepush with new branch head on former topo non-head: | |
455 |
|
445 | |||
456 | $ hg init n |
|
446 | $ hg init n | |
457 | $ cd n |
|
447 | $ cd n | |
458 | $ hg branch A |
|
448 | $ hg branch A | |
459 | marked working directory as branch A |
|
449 | marked working directory as branch A | |
460 | $ echo a >a |
|
450 | $ echo a >a | |
461 | $ hg ci -Ama |
|
451 | $ hg ci -Ama | |
462 | adding a |
|
452 | adding a | |
463 | $ hg branch B |
|
453 | $ hg branch B | |
464 | marked working directory as branch B |
|
454 | marked working directory as branch B | |
465 | $ echo b >b |
|
455 | $ echo b >b | |
466 | $ hg ci -Amb |
|
456 | $ hg ci -Amb | |
467 | adding b |
|
457 | adding b | |
468 |
|
458 | |||
469 | b is now branch head of B, and a topological head |
|
459 | b is now branch head of B, and a topological head | |
470 | a is now branch head of A, but not a topological head |
|
460 | a is now branch head of A, but not a topological head | |
471 |
|
461 | |||
472 | $ hg clone . inner |
|
462 | $ hg clone . inner | |
473 | updating to branch B |
|
463 | updating to branch B | |
474 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
464 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
475 | $ cd inner |
|
465 | $ cd inner | |
476 | $ hg up B |
|
466 | $ hg up B | |
477 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
467 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
478 | $ echo b1 >b1 |
|
468 | $ echo b1 >b1 | |
479 | $ hg ci -Amb1 |
|
469 | $ hg ci -Amb1 | |
480 | adding b1 |
|
470 | adding b1 | |
481 |
|
471 | |||
482 | in the clone b1 is now the head of B |
|
472 | in the clone b1 is now the head of B | |
483 |
|
473 | |||
484 | $ cd .. |
|
474 | $ cd .. | |
485 | $ hg up 0 |
|
475 | $ hg up 0 | |
486 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
476 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
487 | $ echo a2 >a2 |
|
477 | $ echo a2 >a2 | |
488 | $ hg ci -Ama2 |
|
478 | $ hg ci -Ama2 | |
489 | adding a2 |
|
479 | adding a2 | |
490 |
|
480 | |||
491 | a2 is now the new branch head of A, and a new topological head |
|
481 | a2 is now the new branch head of A, and a new topological head | |
492 | it replaces a former inner branch head, so it should at most warn about |
|
482 | it replaces a former inner branch head, so it should at most warn about | |
493 | A, not B |
|
483 | A, not B | |
494 |
|
484 | |||
495 | glog of local: |
|
485 | glog of local: | |
496 |
|
486 | |||
497 | $ hg glog --template "{rev}: {branches} {desc}\n" |
|
487 | $ hg glog --template "{rev}: {branches} {desc}\n" | |
498 | @ 2: A a2 |
|
488 | @ 2: A a2 | |
499 | | |
|
489 | | | |
500 | | o 1: B b |
|
490 | | o 1: B b | |
501 | |/ |
|
491 | |/ | |
502 | o 0: A a |
|
492 | o 0: A a | |
503 |
|
493 | |||
504 | glog of remote: |
|
494 | glog of remote: | |
505 |
|
495 | |||
506 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" |
|
496 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" | |
507 | @ 2: B b1 |
|
497 | @ 2: B b1 | |
508 | | |
|
498 | | | |
509 | o 1: B b |
|
499 | o 1: B b | |
510 | | |
|
500 | | | |
511 | o 0: A a |
|
501 | o 0: A a | |
512 |
|
502 | |||
513 | outgoing: |
|
503 | outgoing: | |
514 |
|
504 | |||
515 | $ hg out inner --template "{rev}: {branches} {desc}\n" |
|
505 | $ hg out inner --template "{rev}: {branches} {desc}\n" | |
516 | comparing with inner |
|
506 | comparing with inner | |
517 | searching for changes |
|
507 | searching for changes | |
518 | 2: A a2 |
|
508 | 2: A a2 | |
519 |
|
509 | |||
520 | $ hg push inner |
|
510 | $ hg push inner | |
521 | pushing to inner |
|
511 | pushing to inner | |
522 | searching for changes |
|
512 | searching for changes | |
523 | adding changesets |
|
513 | adding changesets | |
524 | adding manifests |
|
514 | adding manifests | |
525 | adding file changes |
|
515 | adding file changes | |
526 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
516 | added 1 changesets with 1 changes to 1 files (+1 heads) | |
527 |
|
517 | |||
528 | $ cd .. |
|
518 | $ cd .. | |
529 |
|
519 | |||
530 |
|
520 | |||
531 | Check prepush with new branch head on former topo head: |
|
521 | Check prepush with new branch head on former topo head: | |
532 |
|
522 | |||
533 | $ hg init o |
|
523 | $ hg init o | |
534 | $ cd o |
|
524 | $ cd o | |
535 | $ hg branch A |
|
525 | $ hg branch A | |
536 | marked working directory as branch A |
|
526 | marked working directory as branch A | |
537 | $ echo a >a |
|
527 | $ echo a >a | |
538 | $ hg ci -Ama |
|
528 | $ hg ci -Ama | |
539 | adding a |
|
529 | adding a | |
540 | $ hg branch B |
|
530 | $ hg branch B | |
541 | marked working directory as branch B |
|
531 | marked working directory as branch B | |
542 | $ echo b >b |
|
532 | $ echo b >b | |
543 | $ hg ci -Amb |
|
533 | $ hg ci -Amb | |
544 | adding b |
|
534 | adding b | |
545 |
|
535 | |||
546 | b is now branch head of B, and a topological head |
|
536 | b is now branch head of B, and a topological head | |
547 |
|
537 | |||
548 | $ hg up 0 |
|
538 | $ hg up 0 | |
549 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
539 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
550 | $ echo a1 >a1 |
|
540 | $ echo a1 >a1 | |
551 | $ hg ci -Ama1 |
|
541 | $ hg ci -Ama1 | |
552 | adding a1 |
|
542 | adding a1 | |
553 |
|
543 | |||
554 | a1 is now branch head of A, and a topological head |
|
544 | a1 is now branch head of A, and a topological head | |
555 |
|
545 | |||
556 | $ hg clone . inner |
|
546 | $ hg clone . inner | |
557 | updating to branch A |
|
547 | updating to branch A | |
558 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
548 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
559 | $ cd inner |
|
549 | $ cd inner | |
560 | $ hg up B |
|
550 | $ hg up B | |
561 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
551 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
562 | $ echo b1 >b1 |
|
552 | $ echo b1 >b1 | |
563 | $ hg ci -Amb1 |
|
553 | $ hg ci -Amb1 | |
564 | adding b1 |
|
554 | adding b1 | |
565 |
|
555 | |||
566 | in the clone b1 is now the head of B |
|
556 | in the clone b1 is now the head of B | |
567 |
|
557 | |||
568 | $ cd .. |
|
558 | $ cd .. | |
569 | $ echo a2 >a2 |
|
559 | $ echo a2 >a2 | |
570 | $ hg ci -Ama2 |
|
560 | $ hg ci -Ama2 | |
571 | adding a2 |
|
561 | adding a2 | |
572 |
|
562 | |||
573 | a2 is now the new branch head of A, and a topological head |
|
563 | a2 is now the new branch head of A, and a topological head | |
574 | it replaces a former topological and branch head, so this should not warn |
|
564 | it replaces a former topological and branch head, so this should not warn | |
575 |
|
565 | |||
576 | glog of local: |
|
566 | glog of local: | |
577 |
|
567 | |||
578 | $ hg glog --template "{rev}: {branches} {desc}\n" |
|
568 | $ hg glog --template "{rev}: {branches} {desc}\n" | |
579 | @ 3: A a2 |
|
569 | @ 3: A a2 | |
580 | | |
|
570 | | | |
581 | o 2: A a1 |
|
571 | o 2: A a1 | |
582 | | |
|
572 | | | |
583 | | o 1: B b |
|
573 | | o 1: B b | |
584 | |/ |
|
574 | |/ | |
585 | o 0: A a |
|
575 | o 0: A a | |
586 |
|
576 | |||
587 | glog of remote: |
|
577 | glog of remote: | |
588 |
|
578 | |||
589 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" |
|
579 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" | |
590 | @ 3: B b1 |
|
580 | @ 3: B b1 | |
591 | | |
|
581 | | | |
592 | | o 2: A a1 |
|
582 | | o 2: A a1 | |
593 | | | |
|
583 | | | | |
594 | o | 1: B b |
|
584 | o | 1: B b | |
595 | |/ |
|
585 | |/ | |
596 | o 0: A a |
|
586 | o 0: A a | |
597 |
|
587 | |||
598 | outgoing: |
|
588 | outgoing: | |
599 |
|
589 | |||
600 | $ hg out inner --template "{rev}: {branches} {desc}\n" |
|
590 | $ hg out inner --template "{rev}: {branches} {desc}\n" | |
601 | comparing with inner |
|
591 | comparing with inner | |
602 | searching for changes |
|
592 | searching for changes | |
603 | 3: A a2 |
|
593 | 3: A a2 | |
604 |
|
594 | |||
605 | $ hg push inner |
|
595 | $ hg push inner | |
606 | pushing to inner |
|
596 | pushing to inner | |
607 | searching for changes |
|
597 | searching for changes | |
608 | adding changesets |
|
598 | adding changesets | |
609 | adding manifests |
|
599 | adding manifests | |
610 | adding file changes |
|
600 | adding file changes | |
611 | added 1 changesets with 1 changes to 1 files |
|
601 | added 1 changesets with 1 changes to 1 files | |
612 |
|
602 | |||
613 | $ cd .. |
|
603 | $ cd .. | |
614 |
|
604 | |||
615 |
|
605 | |||
616 | Check prepush with new branch head and new child of former branch head |
|
606 | Check prepush with new branch head and new child of former branch head | |
617 | but child is on different branch: |
|
607 | but child is on different branch: | |
618 |
|
608 | |||
619 | $ hg init p |
|
609 | $ hg init p | |
620 | $ cd p |
|
610 | $ cd p | |
621 | $ hg branch A |
|
611 | $ hg branch A | |
622 | marked working directory as branch A |
|
612 | marked working directory as branch A | |
623 | $ echo a0 >a |
|
613 | $ echo a0 >a | |
624 | $ hg ci -Ama0 |
|
614 | $ hg ci -Ama0 | |
625 | adding a |
|
615 | adding a | |
626 | $ echo a1 >a |
|
616 | $ echo a1 >a | |
627 | $ hg ci -ma1 |
|
617 | $ hg ci -ma1 | |
628 | $ hg up null |
|
618 | $ hg up null | |
629 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
619 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
630 | $ hg branch B |
|
620 | $ hg branch B | |
631 | marked working directory as branch B |
|
621 | marked working directory as branch B | |
632 | $ echo b0 >b |
|
622 | $ echo b0 >b | |
633 | $ hg ci -Amb0 |
|
623 | $ hg ci -Amb0 | |
634 | adding b |
|
624 | adding b | |
635 | $ echo b1 >b |
|
625 | $ echo b1 >b | |
636 | $ hg ci -mb1 |
|
626 | $ hg ci -mb1 | |
637 |
|
627 | |||
638 | $ hg clone . inner |
|
628 | $ hg clone . inner | |
639 | updating to branch B |
|
629 | updating to branch B | |
640 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
630 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
641 |
|
631 | |||
642 | $ hg up A |
|
632 | $ hg up A | |
643 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
633 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
644 | $ hg branch -f B |
|
634 | $ hg branch -f B | |
645 | marked working directory as branch B |
|
635 | marked working directory as branch B | |
646 | $ echo a3 >a |
|
636 | $ echo a3 >a | |
647 | $ hg ci -ma3 |
|
637 | $ hg ci -ma3 | |
648 | created new head |
|
638 | created new head | |
649 | $ hg up 3 |
|
639 | $ hg up 3 | |
650 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
640 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
651 | $ hg branch -f A |
|
641 | $ hg branch -f A | |
652 | marked working directory as branch A |
|
642 | marked working directory as branch A | |
653 | $ echo b3 >b |
|
643 | $ echo b3 >b | |
654 | $ hg ci -mb3 |
|
644 | $ hg ci -mb3 | |
655 | created new head |
|
645 | created new head | |
656 |
|
646 | |||
657 | glog of local: |
|
647 | glog of local: | |
658 |
|
648 | |||
659 | $ hg glog --template "{rev}: {branches} {desc}\n" |
|
649 | $ hg glog --template "{rev}: {branches} {desc}\n" | |
660 | @ 5: A b3 |
|
650 | @ 5: A b3 | |
661 | | |
|
651 | | | |
662 | | o 4: B a3 |
|
652 | | o 4: B a3 | |
663 | | | |
|
653 | | | | |
664 | o | 3: B b1 |
|
654 | o | 3: B b1 | |
665 | | | |
|
655 | | | | |
666 | o | 2: B b0 |
|
656 | o | 2: B b0 | |
667 | / |
|
657 | / | |
668 | o 1: A a1 |
|
658 | o 1: A a1 | |
669 | | |
|
659 | | | |
670 | o 0: A a0 |
|
660 | o 0: A a0 | |
671 |
|
661 | |||
672 | glog of remote: |
|
662 | glog of remote: | |
673 |
|
663 | |||
674 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" |
|
664 | $ hg glog -R inner --template "{rev}: {branches} {desc}\n" | |
675 | @ 3: B b1 |
|
665 | @ 3: B b1 | |
676 | | |
|
666 | | | |
677 | o 2: B b0 |
|
667 | o 2: B b0 | |
678 |
|
668 | |||
679 | o 1: A a1 |
|
669 | o 1: A a1 | |
680 | | |
|
670 | | | |
681 | o 0: A a0 |
|
671 | o 0: A a0 | |
682 |
|
672 | |||
683 | outgoing: |
|
673 | outgoing: | |
684 |
|
674 | |||
685 | $ hg out inner --template "{rev}: {branches} {desc}\n" |
|
675 | $ hg out inner --template "{rev}: {branches} {desc}\n" | |
686 | comparing with inner |
|
676 | comparing with inner | |
687 | searching for changes |
|
677 | searching for changes | |
688 | 4: B a3 |
|
678 | 4: B a3 | |
689 | 5: A b3 |
|
679 | 5: A b3 | |
690 |
|
680 | |||
691 | $ hg push inner |
|
681 | $ hg push inner | |
692 | pushing to inner |
|
682 | pushing to inner | |
693 | searching for changes |
|
683 | searching for changes | |
694 | abort: push creates new remote heads on branch 'A'! |
|
684 | abort: push creates new remote heads on branch 'A'! | |
695 | (did you forget to merge? use push -f to force) |
|
685 | (did you forget to merge? use push -f to force) | |
696 | [255] |
|
686 | [255] | |
697 |
|
687 | |||
698 | $ hg push inner -r4 -r5 |
|
688 | $ hg push inner -r4 -r5 | |
699 | pushing to inner |
|
689 | pushing to inner | |
700 | searching for changes |
|
690 | searching for changes | |
701 | abort: push creates new remote heads on branch 'A'! |
|
691 | abort: push creates new remote heads on branch 'A'! | |
702 | (did you forget to merge? use push -f to force) |
|
692 | (did you forget to merge? use push -f to force) | |
703 | [255] |
|
693 | [255] | |
704 |
|
694 | |||
705 | $ hg in inner |
|
695 | $ hg in inner | |
706 | comparing with inner |
|
696 | comparing with inner | |
707 | searching for changes |
|
697 | searching for changes | |
708 | no changes found |
|
698 | no changes found | |
709 | [1] |
|
699 | [1] |
@@ -1,256 +1,256 b'' | |||||
1 | $ remove() { |
|
1 | $ remove() { | |
2 | > hg rm $@ |
|
2 | > hg rm $@ | |
3 | > echo "exit code: $?" |
|
3 | > echo "exit code: $?" # no-check-code | |
4 | > hg st |
|
4 | > hg st | |
5 | > # do not use ls -R, which recurses in .hg subdirs on Mac OS X 10.5 |
|
5 | > # do not use ls -R, which recurses in .hg subdirs on Mac OS X 10.5 | |
6 | > find . -name .hg -prune -o -type f -print | sort |
|
6 | > find . -name .hg -prune -o -type f -print | sort | |
7 | > hg up -C |
|
7 | > hg up -C | |
8 | > } |
|
8 | > } | |
9 |
|
9 | |||
10 | $ hg init a |
|
10 | $ hg init a | |
11 | $ cd a |
|
11 | $ cd a | |
12 | $ echo a > foo |
|
12 | $ echo a > foo | |
13 |
|
13 | |||
14 | file not managed |
|
14 | file not managed | |
15 |
|
15 | |||
16 | $ remove foo |
|
16 | $ remove foo | |
17 | not removing foo: file is untracked |
|
17 | not removing foo: file is untracked | |
18 | exit code: 1 |
|
18 | exit code: 1 | |
19 | ? foo |
|
19 | ? foo | |
20 | ./foo |
|
20 | ./foo | |
21 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
21 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
22 |
|
22 | |||
23 | $ hg add foo |
|
23 | $ hg add foo | |
24 | $ hg commit -m1 |
|
24 | $ hg commit -m1 | |
25 |
|
25 | |||
26 | the table cases |
|
26 | the table cases | |
27 | 00 state added, options none |
|
27 | 00 state added, options none | |
28 |
|
28 | |||
29 | $ echo b > bar |
|
29 | $ echo b > bar | |
30 | $ hg add bar |
|
30 | $ hg add bar | |
31 | $ remove bar |
|
31 | $ remove bar | |
32 | not removing bar: file has been marked for add (use -f to force removal) |
|
32 | not removing bar: file has been marked for add (use -f to force removal) | |
33 | exit code: 1 |
|
33 | exit code: 1 | |
34 | A bar |
|
34 | A bar | |
35 | ./bar |
|
35 | ./bar | |
36 | ./foo |
|
36 | ./foo | |
37 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
37 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
38 |
|
38 | |||
39 | 01 state clean, options none |
|
39 | 01 state clean, options none | |
40 |
|
40 | |||
41 | $ remove foo |
|
41 | $ remove foo | |
42 | exit code: 0 |
|
42 | exit code: 0 | |
43 | R foo |
|
43 | R foo | |
44 | ? bar |
|
44 | ? bar | |
45 | ./bar |
|
45 | ./bar | |
46 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
46 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
47 |
|
47 | |||
48 | 02 state modified, options none |
|
48 | 02 state modified, options none | |
49 |
|
49 | |||
50 | $ echo b >> foo |
|
50 | $ echo b >> foo | |
51 | $ remove foo |
|
51 | $ remove foo | |
52 | not removing foo: file is modified (use -f to force removal) |
|
52 | not removing foo: file is modified (use -f to force removal) | |
53 | exit code: 1 |
|
53 | exit code: 1 | |
54 | M foo |
|
54 | M foo | |
55 | ? bar |
|
55 | ? bar | |
56 | ./bar |
|
56 | ./bar | |
57 | ./foo |
|
57 | ./foo | |
58 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
58 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
59 |
|
59 | |||
60 | 03 state missing, options none |
|
60 | 03 state missing, options none | |
61 |
|
61 | |||
62 | $ rm foo |
|
62 | $ rm foo | |
63 | $ remove foo |
|
63 | $ remove foo | |
64 | exit code: 0 |
|
64 | exit code: 0 | |
65 | R foo |
|
65 | R foo | |
66 | ? bar |
|
66 | ? bar | |
67 | ./bar |
|
67 | ./bar | |
68 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
68 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
69 |
|
69 | |||
70 | 10 state added, options -f |
|
70 | 10 state added, options -f | |
71 |
|
71 | |||
72 | $ echo b > bar |
|
72 | $ echo b > bar | |
73 | $ hg add bar |
|
73 | $ hg add bar | |
74 | $ remove -f bar |
|
74 | $ remove -f bar | |
75 | exit code: 0 |
|
75 | exit code: 0 | |
76 | ? bar |
|
76 | ? bar | |
77 | ./bar |
|
77 | ./bar | |
78 | ./foo |
|
78 | ./foo | |
79 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
79 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
80 | $ rm bar |
|
80 | $ rm bar | |
81 |
|
81 | |||
82 | 11 state clean, options -f |
|
82 | 11 state clean, options -f | |
83 |
|
83 | |||
84 | $ remove -f foo |
|
84 | $ remove -f foo | |
85 | exit code: 0 |
|
85 | exit code: 0 | |
86 | R foo |
|
86 | R foo | |
87 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
87 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
88 |
|
88 | |||
89 | 12 state modified, options -f |
|
89 | 12 state modified, options -f | |
90 |
|
90 | |||
91 | $ echo b >> foo |
|
91 | $ echo b >> foo | |
92 | $ remove -f foo |
|
92 | $ remove -f foo | |
93 | exit code: 0 |
|
93 | exit code: 0 | |
94 | R foo |
|
94 | R foo | |
95 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
95 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
96 |
|
96 | |||
97 | 13 state missing, options -f |
|
97 | 13 state missing, options -f | |
98 |
|
98 | |||
99 | $ rm foo |
|
99 | $ rm foo | |
100 | $ remove -f foo |
|
100 | $ remove -f foo | |
101 | exit code: 0 |
|
101 | exit code: 0 | |
102 | R foo |
|
102 | R foo | |
103 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
103 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
104 |
|
104 | |||
105 | 20 state added, options -A |
|
105 | 20 state added, options -A | |
106 |
|
106 | |||
107 | $ echo b > bar |
|
107 | $ echo b > bar | |
108 | $ hg add bar |
|
108 | $ hg add bar | |
109 | $ remove -A bar |
|
109 | $ remove -A bar | |
110 | not removing bar: file still exists (use -f to force removal) |
|
110 | not removing bar: file still exists (use -f to force removal) | |
111 | exit code: 1 |
|
111 | exit code: 1 | |
112 | A bar |
|
112 | A bar | |
113 | ./bar |
|
113 | ./bar | |
114 | ./foo |
|
114 | ./foo | |
115 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
115 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
116 |
|
116 | |||
117 | 21 state clean, options -A |
|
117 | 21 state clean, options -A | |
118 |
|
118 | |||
119 | $ remove -A foo |
|
119 | $ remove -A foo | |
120 | not removing foo: file still exists (use -f to force removal) |
|
120 | not removing foo: file still exists (use -f to force removal) | |
121 | exit code: 1 |
|
121 | exit code: 1 | |
122 | ? bar |
|
122 | ? bar | |
123 | ./bar |
|
123 | ./bar | |
124 | ./foo |
|
124 | ./foo | |
125 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
125 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
126 |
|
126 | |||
127 | 22 state modified, options -A |
|
127 | 22 state modified, options -A | |
128 |
|
128 | |||
129 | $ echo b >> foo |
|
129 | $ echo b >> foo | |
130 | $ remove -A foo |
|
130 | $ remove -A foo | |
131 | not removing foo: file still exists (use -f to force removal) |
|
131 | not removing foo: file still exists (use -f to force removal) | |
132 | exit code: 1 |
|
132 | exit code: 1 | |
133 | M foo |
|
133 | M foo | |
134 | ? bar |
|
134 | ? bar | |
135 | ./bar |
|
135 | ./bar | |
136 | ./foo |
|
136 | ./foo | |
137 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
137 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
138 |
|
138 | |||
139 | 23 state missing, options -A |
|
139 | 23 state missing, options -A | |
140 |
|
140 | |||
141 | $ rm foo |
|
141 | $ rm foo | |
142 | $ remove -A foo |
|
142 | $ remove -A foo | |
143 | exit code: 0 |
|
143 | exit code: 0 | |
144 | R foo |
|
144 | R foo | |
145 | ? bar |
|
145 | ? bar | |
146 | ./bar |
|
146 | ./bar | |
147 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
147 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
148 |
|
148 | |||
149 | 30 state added, options -Af |
|
149 | 30 state added, options -Af | |
150 |
|
150 | |||
151 | $ echo b > bar |
|
151 | $ echo b > bar | |
152 | $ hg add bar |
|
152 | $ hg add bar | |
153 | $ remove -Af bar |
|
153 | $ remove -Af bar | |
154 | exit code: 0 |
|
154 | exit code: 0 | |
155 | ? bar |
|
155 | ? bar | |
156 | ./bar |
|
156 | ./bar | |
157 | ./foo |
|
157 | ./foo | |
158 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
158 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
159 | $ rm bar |
|
159 | $ rm bar | |
160 |
|
160 | |||
161 | 31 state clean, options -Af |
|
161 | 31 state clean, options -Af | |
162 |
|
162 | |||
163 | $ remove -Af foo |
|
163 | $ remove -Af foo | |
164 | exit code: 0 |
|
164 | exit code: 0 | |
165 | R foo |
|
165 | R foo | |
166 | ./foo |
|
166 | ./foo | |
167 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
167 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
168 |
|
168 | |||
169 | 32 state modified, options -Af |
|
169 | 32 state modified, options -Af | |
170 |
|
170 | |||
171 | $ echo b >> foo |
|
171 | $ echo b >> foo | |
172 | $ remove -Af foo |
|
172 | $ remove -Af foo | |
173 | exit code: 0 |
|
173 | exit code: 0 | |
174 | R foo |
|
174 | R foo | |
175 | ./foo |
|
175 | ./foo | |
176 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
176 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
177 |
|
177 | |||
178 | 33 state missing, options -Af |
|
178 | 33 state missing, options -Af | |
179 |
|
179 | |||
180 | $ rm foo |
|
180 | $ rm foo | |
181 | $ remove -Af foo |
|
181 | $ remove -Af foo | |
182 | exit code: 0 |
|
182 | exit code: 0 | |
183 | R foo |
|
183 | R foo | |
184 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
184 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
185 |
|
185 | |||
186 | test some directory stuff |
|
186 | test some directory stuff | |
187 |
|
187 | |||
188 | $ mkdir test |
|
188 | $ mkdir test | |
189 | $ echo a > test/foo |
|
189 | $ echo a > test/foo | |
190 | $ echo b > test/bar |
|
190 | $ echo b > test/bar | |
191 | $ hg ci -Am2 |
|
191 | $ hg ci -Am2 | |
192 | adding test/bar |
|
192 | adding test/bar | |
193 | adding test/foo |
|
193 | adding test/foo | |
194 |
|
194 | |||
195 | dir, options none |
|
195 | dir, options none | |
196 |
|
196 | |||
197 | $ rm test/bar |
|
197 | $ rm test/bar | |
198 | $ remove test |
|
198 | $ remove test | |
199 | removing test/bar |
|
199 | removing test/bar | |
200 | removing test/foo |
|
200 | removing test/foo | |
201 | exit code: 0 |
|
201 | exit code: 0 | |
202 | R test/bar |
|
202 | R test/bar | |
203 | R test/foo |
|
203 | R test/foo | |
204 | ./foo |
|
204 | ./foo | |
205 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
205 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
206 |
|
206 | |||
207 | dir, options -f |
|
207 | dir, options -f | |
208 |
|
208 | |||
209 | $ rm test/bar |
|
209 | $ rm test/bar | |
210 | $ remove -f test |
|
210 | $ remove -f test | |
211 | removing test/bar |
|
211 | removing test/bar | |
212 | removing test/foo |
|
212 | removing test/foo | |
213 | exit code: 0 |
|
213 | exit code: 0 | |
214 | R test/bar |
|
214 | R test/bar | |
215 | R test/foo |
|
215 | R test/foo | |
216 | ./foo |
|
216 | ./foo | |
217 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
217 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
218 |
|
218 | |||
219 | dir, options -A |
|
219 | dir, options -A | |
220 |
|
220 | |||
221 | $ rm test/bar |
|
221 | $ rm test/bar | |
222 | $ remove -A test |
|
222 | $ remove -A test | |
223 | not removing test/foo: file still exists (use -f to force removal) |
|
223 | not removing test/foo: file still exists (use -f to force removal) | |
224 | removing test/bar |
|
224 | removing test/bar | |
225 | exit code: 1 |
|
225 | exit code: 1 | |
226 | R test/bar |
|
226 | R test/bar | |
227 | ./foo |
|
227 | ./foo | |
228 | ./test/foo |
|
228 | ./test/foo | |
229 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
229 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
230 |
|
230 | |||
231 | dir, options -Af |
|
231 | dir, options -Af | |
232 |
|
232 | |||
233 | $ rm test/bar |
|
233 | $ rm test/bar | |
234 | $ remove -Af test |
|
234 | $ remove -Af test | |
235 | removing test/bar |
|
235 | removing test/bar | |
236 | removing test/foo |
|
236 | removing test/foo | |
237 | exit code: 0 |
|
237 | exit code: 0 | |
238 | R test/bar |
|
238 | R test/bar | |
239 | R test/foo |
|
239 | R test/foo | |
240 | ./foo |
|
240 | ./foo | |
241 | ./test/foo |
|
241 | ./test/foo | |
242 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
242 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
243 |
|
243 | |||
244 | test remove dropping empty trees (issue1861) |
|
244 | test remove dropping empty trees (issue1861) | |
245 |
|
245 | |||
246 | $ mkdir -p issue1861/b/c |
|
246 | $ mkdir -p issue1861/b/c | |
247 | $ echo x > issue1861/x |
|
247 | $ echo x > issue1861/x | |
248 | $ echo y > issue1861/b/c/y |
|
248 | $ echo y > issue1861/b/c/y | |
249 | $ hg ci -Am add |
|
249 | $ hg ci -Am add | |
250 | adding issue1861/b/c/y |
|
250 | adding issue1861/b/c/y | |
251 | adding issue1861/x |
|
251 | adding issue1861/x | |
252 | $ hg rm issue1861/b |
|
252 | $ hg rm issue1861/b | |
253 | removing issue1861/b/c/y |
|
253 | removing issue1861/b/c/y | |
254 | $ hg ci -m remove |
|
254 | $ hg ci -m remove | |
255 | $ ls issue1861 |
|
255 | $ ls issue1861 | |
256 | x |
|
256 | x |
@@ -1,54 +1,52 b'' | |||||
1 | $ set -e |
|
|||
2 |
|
||||
3 |
|
|
1 | $ mkdir test | |
4 | $ cd test |
|
2 | $ cd test | |
5 | $ echo foo>foo |
|
3 | $ echo foo>foo | |
6 | $ hg init |
|
4 | $ hg init | |
7 | $ hg addremove |
|
5 | $ hg addremove | |
8 | adding foo |
|
6 | adding foo | |
9 | $ hg commit -m "1" |
|
7 | $ hg commit -m "1" | |
10 |
|
8 | |||
11 | $ hg verify |
|
9 | $ hg verify | |
12 | checking changesets |
|
10 | checking changesets | |
13 | checking manifests |
|
11 | checking manifests | |
14 | crosschecking files in changesets and manifests |
|
12 | crosschecking files in changesets and manifests | |
15 | checking files |
|
13 | checking files | |
16 | 1 files, 1 changesets, 1 total revisions |
|
14 | 1 files, 1 changesets, 1 total revisions | |
17 |
|
15 | |||
18 | $ hg clone . ../branch |
|
16 | $ hg clone . ../branch | |
19 | updating to branch default |
|
17 | updating to branch default | |
20 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
18 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
21 | $ cd ../branch |
|
19 | $ cd ../branch | |
22 | $ hg co |
|
20 | $ hg co | |
23 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
21 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
24 | $ echo bar>>foo |
|
22 | $ echo bar>>foo | |
25 | $ hg commit -m "2" |
|
23 | $ hg commit -m "2" | |
26 |
|
24 | |||
27 | $ cd ../test |
|
25 | $ cd ../test | |
28 |
|
26 | |||
29 | $ hg pull ../branch |
|
27 | $ hg pull ../branch | |
30 | pulling from ../branch |
|
28 | pulling from ../branch | |
31 | searching for changes |
|
29 | searching for changes | |
32 | adding changesets |
|
30 | adding changesets | |
33 | adding manifests |
|
31 | adding manifests | |
34 | adding file changes |
|
32 | adding file changes | |
35 | added 1 changesets with 1 changes to 1 files |
|
33 | added 1 changesets with 1 changes to 1 files | |
36 | (run 'hg update' to get a working copy) |
|
34 | (run 'hg update' to get a working copy) | |
37 |
|
35 | |||
38 | $ hg verify |
|
36 | $ hg verify | |
39 | checking changesets |
|
37 | checking changesets | |
40 | checking manifests |
|
38 | checking manifests | |
41 | crosschecking files in changesets and manifests |
|
39 | crosschecking files in changesets and manifests | |
42 | checking files |
|
40 | checking files | |
43 | 1 files, 2 changesets, 2 total revisions |
|
41 | 1 files, 2 changesets, 2 total revisions | |
44 |
|
42 | |||
45 | $ hg co |
|
43 | $ hg co | |
46 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
44 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
47 |
|
45 | |||
48 | $ cat foo |
|
46 | $ cat foo | |
49 | foo |
|
47 | foo | |
50 | bar |
|
48 | bar | |
51 |
|
49 | |||
52 | $ hg manifest --debug |
|
50 | $ hg manifest --debug | |
53 | 6f4310b00b9a147241b071a60c28a650827fb03d 644 foo |
|
51 | 6f4310b00b9a147241b071a60c28a650827fb03d 644 foo | |
54 |
|
52 |
@@ -1,280 +1,279 b'' | |||||
1 | $ echo "[extensions]" >> $HGRCPATH |
|
1 | $ echo "[extensions]" >> $HGRCPATH | |
2 | $ echo "color=" >> $HGRCPATH |
|
2 | $ echo "color=" >> $HGRCPATH | |
3 | $ echo "[color]" >> $HGRCPATH |
|
3 | $ echo "[color]" >> $HGRCPATH | |
4 | $ echo "mode=ansi" >> $HGRCPATH |
|
4 | $ echo "mode=ansi" >> $HGRCPATH | |
5 |
|
5 | |||
6 | $ hg init repo1 |
|
6 | $ hg init repo1 | |
7 | $ cd repo1 |
|
7 | $ cd repo1 | |
8 | $ mkdir a b a/1 b/1 b/2 |
|
8 | $ mkdir a b a/1 b/1 b/2 | |
9 | $ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 |
|
9 | $ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 | |
10 |
|
10 | |||
11 | hg status in repo root: |
|
11 | hg status in repo root: | |
12 |
|
12 | |||
13 | $ hg status --color=always |
|
13 | $ hg status --color=always | |
14 | [0;35;1;4m? a/1/in_a_1[0m |
|
14 | [0;35;1;4m? a/1/in_a_1[0m | |
15 | [0;35;1;4m? a/in_a[0m |
|
15 | [0;35;1;4m? a/in_a[0m | |
16 | [0;35;1;4m? b/1/in_b_1[0m |
|
16 | [0;35;1;4m? b/1/in_b_1[0m | |
17 | [0;35;1;4m? b/2/in_b_2[0m |
|
17 | [0;35;1;4m? b/2/in_b_2[0m | |
18 | [0;35;1;4m? b/in_b[0m |
|
18 | [0;35;1;4m? b/in_b[0m | |
19 | [0;35;1;4m? in_root[0m |
|
19 | [0;35;1;4m? in_root[0m | |
20 |
|
20 | |||
21 | hg status . in repo root: |
|
21 | hg status . in repo root: | |
22 |
|
22 | |||
23 | $ hg status --color=always . |
|
23 | $ hg status --color=always . | |
24 | [0;35;1;4m? a/1/in_a_1[0m |
|
24 | [0;35;1;4m? a/1/in_a_1[0m | |
25 | [0;35;1;4m? a/in_a[0m |
|
25 | [0;35;1;4m? a/in_a[0m | |
26 | [0;35;1;4m? b/1/in_b_1[0m |
|
26 | [0;35;1;4m? b/1/in_b_1[0m | |
27 | [0;35;1;4m? b/2/in_b_2[0m |
|
27 | [0;35;1;4m? b/2/in_b_2[0m | |
28 | [0;35;1;4m? b/in_b[0m |
|
28 | [0;35;1;4m? b/in_b[0m | |
29 | [0;35;1;4m? in_root[0m |
|
29 | [0;35;1;4m? in_root[0m | |
30 |
|
30 | |||
31 | $ hg status --color=always --cwd a |
|
31 | $ hg status --color=always --cwd a | |
32 | [0;35;1;4m? a/1/in_a_1[0m |
|
32 | [0;35;1;4m? a/1/in_a_1[0m | |
33 | [0;35;1;4m? a/in_a[0m |
|
33 | [0;35;1;4m? a/in_a[0m | |
34 | [0;35;1;4m? b/1/in_b_1[0m |
|
34 | [0;35;1;4m? b/1/in_b_1[0m | |
35 | [0;35;1;4m? b/2/in_b_2[0m |
|
35 | [0;35;1;4m? b/2/in_b_2[0m | |
36 | [0;35;1;4m? b/in_b[0m |
|
36 | [0;35;1;4m? b/in_b[0m | |
37 | [0;35;1;4m? in_root[0m |
|
37 | [0;35;1;4m? in_root[0m | |
38 | $ hg status --color=always --cwd a . |
|
38 | $ hg status --color=always --cwd a . | |
39 | [0;35;1;4m? 1/in_a_1[0m |
|
39 | [0;35;1;4m? 1/in_a_1[0m | |
40 | [0;35;1;4m? in_a[0m |
|
40 | [0;35;1;4m? in_a[0m | |
41 | $ hg status --color=always --cwd a .. |
|
41 | $ hg status --color=always --cwd a .. | |
42 | [0;35;1;4m? 1/in_a_1[0m |
|
42 | [0;35;1;4m? 1/in_a_1[0m | |
43 | [0;35;1;4m? in_a[0m |
|
43 | [0;35;1;4m? in_a[0m | |
44 | [0;35;1;4m? ../b/1/in_b_1[0m |
|
44 | [0;35;1;4m? ../b/1/in_b_1[0m | |
45 | [0;35;1;4m? ../b/2/in_b_2[0m |
|
45 | [0;35;1;4m? ../b/2/in_b_2[0m | |
46 | [0;35;1;4m? ../b/in_b[0m |
|
46 | [0;35;1;4m? ../b/in_b[0m | |
47 | [0;35;1;4m? ../in_root[0m |
|
47 | [0;35;1;4m? ../in_root[0m | |
48 |
|
48 | |||
49 | $ hg status --color=always --cwd b |
|
49 | $ hg status --color=always --cwd b | |
50 | [0;35;1;4m? a/1/in_a_1[0m |
|
50 | [0;35;1;4m? a/1/in_a_1[0m | |
51 | [0;35;1;4m? a/in_a[0m |
|
51 | [0;35;1;4m? a/in_a[0m | |
52 | [0;35;1;4m? b/1/in_b_1[0m |
|
52 | [0;35;1;4m? b/1/in_b_1[0m | |
53 | [0;35;1;4m? b/2/in_b_2[0m |
|
53 | [0;35;1;4m? b/2/in_b_2[0m | |
54 | [0;35;1;4m? b/in_b[0m |
|
54 | [0;35;1;4m? b/in_b[0m | |
55 | [0;35;1;4m? in_root[0m |
|
55 | [0;35;1;4m? in_root[0m | |
56 | $ hg status --color=always --cwd b . |
|
56 | $ hg status --color=always --cwd b . | |
57 | [0;35;1;4m? 1/in_b_1[0m |
|
57 | [0;35;1;4m? 1/in_b_1[0m | |
58 | [0;35;1;4m? 2/in_b_2[0m |
|
58 | [0;35;1;4m? 2/in_b_2[0m | |
59 | [0;35;1;4m? in_b[0m |
|
59 | [0;35;1;4m? in_b[0m | |
60 | $ hg status --color=always --cwd b .. |
|
60 | $ hg status --color=always --cwd b .. | |
61 | [0;35;1;4m? ../a/1/in_a_1[0m |
|
61 | [0;35;1;4m? ../a/1/in_a_1[0m | |
62 | [0;35;1;4m? ../a/in_a[0m |
|
62 | [0;35;1;4m? ../a/in_a[0m | |
63 | [0;35;1;4m? 1/in_b_1[0m |
|
63 | [0;35;1;4m? 1/in_b_1[0m | |
64 | [0;35;1;4m? 2/in_b_2[0m |
|
64 | [0;35;1;4m? 2/in_b_2[0m | |
65 | [0;35;1;4m? in_b[0m |
|
65 | [0;35;1;4m? in_b[0m | |
66 | [0;35;1;4m? ../in_root[0m |
|
66 | [0;35;1;4m? ../in_root[0m | |
67 |
|
67 | |||
68 | $ hg status --color=always --cwd a/1 |
|
68 | $ hg status --color=always --cwd a/1 | |
69 | [0;35;1;4m? a/1/in_a_1[0m |
|
69 | [0;35;1;4m? a/1/in_a_1[0m | |
70 | [0;35;1;4m? a/in_a[0m |
|
70 | [0;35;1;4m? a/in_a[0m | |
71 | [0;35;1;4m? b/1/in_b_1[0m |
|
71 | [0;35;1;4m? b/1/in_b_1[0m | |
72 | [0;35;1;4m? b/2/in_b_2[0m |
|
72 | [0;35;1;4m? b/2/in_b_2[0m | |
73 | [0;35;1;4m? b/in_b[0m |
|
73 | [0;35;1;4m? b/in_b[0m | |
74 | [0;35;1;4m? in_root[0m |
|
74 | [0;35;1;4m? in_root[0m | |
75 | $ hg status --color=always --cwd a/1 . |
|
75 | $ hg status --color=always --cwd a/1 . | |
76 | [0;35;1;4m? in_a_1[0m |
|
76 | [0;35;1;4m? in_a_1[0m | |
77 | $ hg status --color=always --cwd a/1 .. |
|
77 | $ hg status --color=always --cwd a/1 .. | |
78 | [0;35;1;4m? in_a_1[0m |
|
78 | [0;35;1;4m? in_a_1[0m | |
79 | [0;35;1;4m? ../in_a[0m |
|
79 | [0;35;1;4m? ../in_a[0m | |
80 |
|
80 | |||
81 | $ hg status --color=always --cwd b/1 |
|
81 | $ hg status --color=always --cwd b/1 | |
82 | [0;35;1;4m? a/1/in_a_1[0m |
|
82 | [0;35;1;4m? a/1/in_a_1[0m | |
83 | [0;35;1;4m? a/in_a[0m |
|
83 | [0;35;1;4m? a/in_a[0m | |
84 | [0;35;1;4m? b/1/in_b_1[0m |
|
84 | [0;35;1;4m? b/1/in_b_1[0m | |
85 | [0;35;1;4m? b/2/in_b_2[0m |
|
85 | [0;35;1;4m? b/2/in_b_2[0m | |
86 | [0;35;1;4m? b/in_b[0m |
|
86 | [0;35;1;4m? b/in_b[0m | |
87 | [0;35;1;4m? in_root[0m |
|
87 | [0;35;1;4m? in_root[0m | |
88 | $ hg status --color=always --cwd b/1 . |
|
88 | $ hg status --color=always --cwd b/1 . | |
89 | [0;35;1;4m? in_b_1[0m |
|
89 | [0;35;1;4m? in_b_1[0m | |
90 | $ hg status --color=always --cwd b/1 .. |
|
90 | $ hg status --color=always --cwd b/1 .. | |
91 | [0;35;1;4m? in_b_1[0m |
|
91 | [0;35;1;4m? in_b_1[0m | |
92 | [0;35;1;4m? ../2/in_b_2[0m |
|
92 | [0;35;1;4m? ../2/in_b_2[0m | |
93 | [0;35;1;4m? ../in_b[0m |
|
93 | [0;35;1;4m? ../in_b[0m | |
94 |
|
94 | |||
95 | $ hg status --color=always --cwd b/2 |
|
95 | $ hg status --color=always --cwd b/2 | |
96 | [0;35;1;4m? a/1/in_a_1[0m |
|
96 | [0;35;1;4m? a/1/in_a_1[0m | |
97 | [0;35;1;4m? a/in_a[0m |
|
97 | [0;35;1;4m? a/in_a[0m | |
98 | [0;35;1;4m? b/1/in_b_1[0m |
|
98 | [0;35;1;4m? b/1/in_b_1[0m | |
99 | [0;35;1;4m? b/2/in_b_2[0m |
|
99 | [0;35;1;4m? b/2/in_b_2[0m | |
100 | [0;35;1;4m? b/in_b[0m |
|
100 | [0;35;1;4m? b/in_b[0m | |
101 | [0;35;1;4m? in_root[0m |
|
101 | [0;35;1;4m? in_root[0m | |
102 | $ hg status --color=always --cwd b/2 . |
|
102 | $ hg status --color=always --cwd b/2 . | |
103 | [0;35;1;4m? in_b_2[0m |
|
103 | [0;35;1;4m? in_b_2[0m | |
104 | $ hg status --color=always --cwd b/2 .. |
|
104 | $ hg status --color=always --cwd b/2 .. | |
105 | [0;35;1;4m? ../1/in_b_1[0m |
|
105 | [0;35;1;4m? ../1/in_b_1[0m | |
106 | [0;35;1;4m? in_b_2[0m |
|
106 | [0;35;1;4m? in_b_2[0m | |
107 | [0;35;1;4m? ../in_b[0m |
|
107 | [0;35;1;4m? ../in_b[0m | |
108 | $ cd .. |
|
108 | $ cd .. | |
109 |
|
109 | |||
110 | $ hg init repo2 |
|
110 | $ hg init repo2 | |
111 | $ cd repo2 |
|
111 | $ cd repo2 | |
112 | $ touch modified removed deleted ignored |
|
112 | $ touch modified removed deleted ignored | |
113 | $ echo "^ignored$" > .hgignore |
|
113 | $ echo "^ignored$" > .hgignore | |
114 | $ hg ci -A -m 'initial checkin' |
|
114 | $ hg ci -A -m 'initial checkin' | |
115 | adding .hgignore |
|
115 | adding .hgignore | |
116 | adding deleted |
|
116 | adding deleted | |
117 | adding modified |
|
117 | adding modified | |
118 | adding removed |
|
118 | adding removed | |
119 | $ touch modified added unknown ignored |
|
119 | $ touch modified added unknown ignored | |
120 | $ hg add added |
|
120 | $ hg add added | |
121 | $ hg remove removed |
|
121 | $ hg remove removed | |
122 | $ rm deleted |
|
122 | $ rm deleted | |
123 |
|
123 | |||
124 | hg status: |
|
124 | hg status: | |
125 |
|
125 | |||
126 | $ hg status --color=always |
|
126 | $ hg status --color=always | |
127 | [0;32;1mA added[0m |
|
127 | [0;32;1mA added[0m | |
128 | [0;31;1mR removed[0m |
|
128 | [0;31;1mR removed[0m | |
129 | [0;36;1;4m! deleted[0m |
|
129 | [0;36;1;4m! deleted[0m | |
130 | [0;35;1;4m? unknown[0m |
|
130 | [0;35;1;4m? unknown[0m | |
131 |
|
131 | |||
132 | hg status modified added removed deleted unknown never-existed ignored: |
|
132 | hg status modified added removed deleted unknown never-existed ignored: | |
133 |
|
133 | |||
134 | $ hg status --color=always modified added removed deleted unknown never-existed ignored |
|
134 | $ hg status --color=always modified added removed deleted unknown never-existed ignored | |
135 | never-existed: No such file or directory |
|
135 | never-existed: No such file or directory | |
136 | [0;32;1mA added[0m |
|
136 | [0;32;1mA added[0m | |
137 | [0;31;1mR removed[0m |
|
137 | [0;31;1mR removed[0m | |
138 | [0;36;1;4m! deleted[0m |
|
138 | [0;36;1;4m! deleted[0m | |
139 | [0;35;1;4m? unknown[0m |
|
139 | [0;35;1;4m? unknown[0m | |
140 |
|
140 | |||
141 | $ hg copy modified copied |
|
141 | $ hg copy modified copied | |
142 |
|
142 | |||
143 | hg status -C: |
|
143 | hg status -C: | |
144 |
|
144 | |||
145 | $ hg status --color=always -C |
|
145 | $ hg status --color=always -C | |
146 | [0;32;1mA added[0m |
|
146 | [0;32;1mA added[0m | |
147 | [0;32;1mA copied[0m |
|
147 | [0;32;1mA copied[0m | |
148 | [0;0m modified[0m |
|
148 | [0;0m modified[0m | |
149 | [0;31;1mR removed[0m |
|
149 | [0;31;1mR removed[0m | |
150 | [0;36;1;4m! deleted[0m |
|
150 | [0;36;1;4m! deleted[0m | |
151 | [0;35;1;4m? unknown[0m |
|
151 | [0;35;1;4m? unknown[0m | |
152 |
|
152 | |||
153 | hg status -A: |
|
153 | hg status -A: | |
154 |
|
154 | |||
155 | $ hg status --color=always -A |
|
155 | $ hg status --color=always -A | |
156 | [0;32;1mA added[0m |
|
156 | [0;32;1mA added[0m | |
157 | [0;32;1mA copied[0m |
|
157 | [0;32;1mA copied[0m | |
158 | [0;0m modified[0m |
|
158 | [0;0m modified[0m | |
159 | [0;31;1mR removed[0m |
|
159 | [0;31;1mR removed[0m | |
160 | [0;36;1;4m! deleted[0m |
|
160 | [0;36;1;4m! deleted[0m | |
161 | [0;35;1;4m? unknown[0m |
|
161 | [0;35;1;4m? unknown[0m | |
162 | [0;30;1mI ignored[0m |
|
162 | [0;30;1mI ignored[0m | |
163 | [0;0mC .hgignore[0m |
|
163 | [0;0mC .hgignore[0m | |
164 | [0;0mC modified[0m |
|
164 | [0;0mC modified[0m | |
165 |
|
165 | |||
166 |
|
166 | |||
167 | $ echo "^ignoreddir$" > .hgignore |
|
167 | $ echo "^ignoreddir$" > .hgignore | |
168 | $ mkdir ignoreddir |
|
168 | $ mkdir ignoreddir | |
169 | $ touch ignoreddir/file |
|
169 | $ touch ignoreddir/file | |
170 |
|
170 | |||
171 | hg status ignoreddir/file: |
|
171 | hg status ignoreddir/file: | |
172 |
|
172 | |||
173 | $ hg status --color=always ignoreddir/file |
|
173 | $ hg status --color=always ignoreddir/file | |
174 |
|
174 | |||
175 | hg status -i ignoreddir/file: |
|
175 | hg status -i ignoreddir/file: | |
176 |
|
176 | |||
177 | $ hg status --color=always -i ignoreddir/file |
|
177 | $ hg status --color=always -i ignoreddir/file | |
178 | [0;30;1mI ignoreddir/file[0m |
|
178 | [0;30;1mI ignoreddir/file[0m | |
179 | $ cd .. |
|
179 | $ cd .. | |
180 |
|
180 | |||
181 | check 'status -q' and some combinations |
|
181 | check 'status -q' and some combinations | |
182 |
|
182 | |||
183 | $ hg init repo3 |
|
183 | $ hg init repo3 | |
184 | $ cd repo3 |
|
184 | $ cd repo3 | |
185 | $ touch modified removed deleted ignored |
|
185 | $ touch modified removed deleted ignored | |
186 | $ echo "^ignored$" > .hgignore |
|
186 | $ echo "^ignored$" > .hgignore | |
187 | $ hg commit -A -m 'initial checkin' |
|
187 | $ hg commit -A -m 'initial checkin' | |
188 | adding .hgignore |
|
188 | adding .hgignore | |
189 | adding deleted |
|
189 | adding deleted | |
190 | adding modified |
|
190 | adding modified | |
191 | adding removed |
|
191 | adding removed | |
192 | $ touch added unknown ignored |
|
192 | $ touch added unknown ignored | |
193 | $ hg add added |
|
193 | $ hg add added | |
194 | $ echo "test" >> modified |
|
194 | $ echo "test" >> modified | |
195 | $ hg remove removed |
|
195 | $ hg remove removed | |
196 | $ rm deleted |
|
196 | $ rm deleted | |
197 | $ hg copy modified copied |
|
197 | $ hg copy modified copied | |
198 |
|
198 | |||
199 | test unknown color |
|
199 | test unknown color | |
200 |
|
200 | |||
201 | $ hg --config color.status.modified=periwinkle status --color=always |
|
201 | $ hg --config color.status.modified=periwinkle status --color=always | |
202 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) |
|
202 | ignoring unknown color/effect 'periwinkle' (configured in color.status.modified) | |
203 | M modified |
|
203 | M modified | |
204 | [0;32;1mA added[0m |
|
204 | [0;32;1mA added[0m | |
205 | [0;32;1mA copied[0m |
|
205 | [0;32;1mA copied[0m | |
206 | [0;31;1mR removed[0m |
|
206 | [0;31;1mR removed[0m | |
207 | [0;36;1;4m! deleted[0m |
|
207 | [0;36;1;4m! deleted[0m | |
208 | [0;35;1;4m? unknown[0m |
|
208 | [0;35;1;4m? unknown[0m | |
209 |
|
209 | |||
210 | Run status with 2 different flags. |
|
210 | Run status with 2 different flags. | |
211 | Check if result is the same or different. |
|
211 | Check if result is the same or different. | |
212 | If result is not as expected, raise error |
|
212 | If result is not as expected, raise error | |
213 |
|
213 | |||
214 | $ assert() { |
|
214 | $ assert() { | |
215 | > hg status --color=always $1 > ../a |
|
215 | > hg status --color=always $1 > ../a | |
216 | > hg status --color=always $2 > ../b |
|
216 | > hg status --color=always $2 > ../b | |
217 |
> |
|
217 | > if diff ../a ../b > /dev/null; then | |
218 | > if [ $? -ne 0 ]; then |
|
218 | > out=0 | |
|
219 | > else | |||
219 | > out=1 |
|
220 | > out=1 | |
220 | > else |
|
|||
221 | > out=0 |
|
|||
222 | > fi |
|
221 | > fi | |
223 | > if [ $3 -eq 0 ]; then |
|
222 | > if [ $3 -eq 0 ]; then | |
224 | > df="same" |
|
223 | > df="same" | |
225 | > else |
|
224 | > else | |
226 | > df="different" |
|
225 | > df="different" | |
227 | > fi |
|
226 | > fi | |
228 | > if [ $out -ne $3 ]; then |
|
227 | > if [ $out -ne $3 ]; then | |
229 | > echo "Error on $1 and $2, should be $df." |
|
228 | > echo "Error on $1 and $2, should be $df." | |
230 | > fi |
|
229 | > fi | |
231 | > } |
|
230 | > } | |
232 |
|
231 | |||
233 | assert flag1 flag2 [0-same | 1-different] |
|
232 | assert flag1 flag2 [0-same | 1-different] | |
234 |
|
233 | |||
235 | $ assert "-q" "-mard" 0 |
|
234 | $ assert "-q" "-mard" 0 | |
236 | $ assert "-A" "-marduicC" 0 |
|
235 | $ assert "-A" "-marduicC" 0 | |
237 | $ assert "-qA" "-mardcC" 0 |
|
236 | $ assert "-qA" "-mardcC" 0 | |
238 | $ assert "-qAui" "-A" 0 |
|
237 | $ assert "-qAui" "-A" 0 | |
239 | $ assert "-qAu" "-marducC" 0 |
|
238 | $ assert "-qAu" "-marducC" 0 | |
240 | $ assert "-qAi" "-mardicC" 0 |
|
239 | $ assert "-qAi" "-mardicC" 0 | |
241 | $ assert "-qu" "-u" 0 |
|
240 | $ assert "-qu" "-u" 0 | |
242 | $ assert "-q" "-u" 1 |
|
241 | $ assert "-q" "-u" 1 | |
243 | $ assert "-m" "-a" 1 |
|
242 | $ assert "-m" "-a" 1 | |
244 | $ assert "-r" "-d" 1 |
|
243 | $ assert "-r" "-d" 1 | |
245 | $ cd .. |
|
244 | $ cd .. | |
246 |
|
245 | |||
247 | test 'resolve -l' |
|
246 | test 'resolve -l' | |
248 |
|
247 | |||
249 | $ hg init repo4 |
|
248 | $ hg init repo4 | |
250 | $ cd repo4 |
|
249 | $ cd repo4 | |
251 | $ echo "file a" > a |
|
250 | $ echo "file a" > a | |
252 | $ echo "file b" > b |
|
251 | $ echo "file b" > b | |
253 | $ hg add a b |
|
252 | $ hg add a b | |
254 | $ hg commit -m "initial" |
|
253 | $ hg commit -m "initial" | |
255 | $ echo "file a change 1" > a |
|
254 | $ echo "file a change 1" > a | |
256 | $ echo "file b change 1" > b |
|
255 | $ echo "file b change 1" > b | |
257 | $ hg commit -m "head 1" |
|
256 | $ hg commit -m "head 1" | |
258 | $ hg update 0 |
|
257 | $ hg update 0 | |
259 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
258 | 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
260 | $ echo "file a change 2" > a |
|
259 | $ echo "file a change 2" > a | |
261 | $ echo "file b change 2" > b |
|
260 | $ echo "file b change 2" > b | |
262 | $ hg commit -m "head 2" |
|
261 | $ hg commit -m "head 2" | |
263 | created new head |
|
262 | created new head | |
264 | $ hg merge |
|
263 | $ hg merge | |
265 | merging a |
|
264 | merging a | |
266 | warning: conflicts during merge. |
|
265 | warning: conflicts during merge. | |
267 | merging a failed! |
|
266 | merging a failed! | |
268 | merging b |
|
267 | merging b | |
269 | warning: conflicts during merge. |
|
268 | warning: conflicts during merge. | |
270 | merging b failed! |
|
269 | merging b failed! | |
271 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved |
|
270 | 0 files updated, 0 files merged, 0 files removed, 2 files unresolved | |
272 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
|
271 | use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
273 | [1] |
|
272 | [1] | |
274 | $ hg resolve -m b |
|
273 | $ hg resolve -m b | |
275 |
|
274 | |||
276 | hg resolve with one unresolved, one resolved: |
|
275 | hg resolve with one unresolved, one resolved: | |
277 |
|
276 | |||
278 | $ hg resolve --color=always -l |
|
277 | $ hg resolve --color=always -l | |
279 | [0;31;1mU a[0m |
|
278 | [0;31;1mU a[0m | |
280 | [0;32;1mR b[0m |
|
279 | [0;32;1mR b[0m |
@@ -1,275 +1,274 b'' | |||||
1 | $ hg init repo1 |
|
1 | $ hg init repo1 | |
2 | $ cd repo1 |
|
2 | $ cd repo1 | |
3 | $ mkdir a b a/1 b/1 b/2 |
|
3 | $ mkdir a b a/1 b/1 b/2 | |
4 | $ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 |
|
4 | $ touch in_root a/in_a b/in_b a/1/in_a_1 b/1/in_b_1 b/2/in_b_2 | |
5 |
|
5 | |||
6 | hg status in repo root: |
|
6 | hg status in repo root: | |
7 |
|
7 | |||
8 | $ hg status |
|
8 | $ hg status | |
9 | ? a/1/in_a_1 |
|
9 | ? a/1/in_a_1 | |
10 | ? a/in_a |
|
10 | ? a/in_a | |
11 | ? b/1/in_b_1 |
|
11 | ? b/1/in_b_1 | |
12 | ? b/2/in_b_2 |
|
12 | ? b/2/in_b_2 | |
13 | ? b/in_b |
|
13 | ? b/in_b | |
14 | ? in_root |
|
14 | ? in_root | |
15 |
|
15 | |||
16 | hg status . in repo root: |
|
16 | hg status . in repo root: | |
17 |
|
17 | |||
18 | $ hg status . |
|
18 | $ hg status . | |
19 | ? a/1/in_a_1 |
|
19 | ? a/1/in_a_1 | |
20 | ? a/in_a |
|
20 | ? a/in_a | |
21 | ? b/1/in_b_1 |
|
21 | ? b/1/in_b_1 | |
22 | ? b/2/in_b_2 |
|
22 | ? b/2/in_b_2 | |
23 | ? b/in_b |
|
23 | ? b/in_b | |
24 | ? in_root |
|
24 | ? in_root | |
25 |
|
25 | |||
26 | $ hg status --cwd a |
|
26 | $ hg status --cwd a | |
27 | ? a/1/in_a_1 |
|
27 | ? a/1/in_a_1 | |
28 | ? a/in_a |
|
28 | ? a/in_a | |
29 | ? b/1/in_b_1 |
|
29 | ? b/1/in_b_1 | |
30 | ? b/2/in_b_2 |
|
30 | ? b/2/in_b_2 | |
31 | ? b/in_b |
|
31 | ? b/in_b | |
32 | ? in_root |
|
32 | ? in_root | |
33 | $ hg status --cwd a . |
|
33 | $ hg status --cwd a . | |
34 | ? 1/in_a_1 |
|
34 | ? 1/in_a_1 | |
35 | ? in_a |
|
35 | ? in_a | |
36 | $ hg status --cwd a .. |
|
36 | $ hg status --cwd a .. | |
37 | ? 1/in_a_1 |
|
37 | ? 1/in_a_1 | |
38 | ? in_a |
|
38 | ? in_a | |
39 | ? ../b/1/in_b_1 |
|
39 | ? ../b/1/in_b_1 | |
40 | ? ../b/2/in_b_2 |
|
40 | ? ../b/2/in_b_2 | |
41 | ? ../b/in_b |
|
41 | ? ../b/in_b | |
42 | ? ../in_root |
|
42 | ? ../in_root | |
43 |
|
43 | |||
44 | $ hg status --cwd b |
|
44 | $ hg status --cwd b | |
45 | ? a/1/in_a_1 |
|
45 | ? a/1/in_a_1 | |
46 | ? a/in_a |
|
46 | ? a/in_a | |
47 | ? b/1/in_b_1 |
|
47 | ? b/1/in_b_1 | |
48 | ? b/2/in_b_2 |
|
48 | ? b/2/in_b_2 | |
49 | ? b/in_b |
|
49 | ? b/in_b | |
50 | ? in_root |
|
50 | ? in_root | |
51 | $ hg status --cwd b . |
|
51 | $ hg status --cwd b . | |
52 | ? 1/in_b_1 |
|
52 | ? 1/in_b_1 | |
53 | ? 2/in_b_2 |
|
53 | ? 2/in_b_2 | |
54 | ? in_b |
|
54 | ? in_b | |
55 | $ hg status --cwd b .. |
|
55 | $ hg status --cwd b .. | |
56 | ? ../a/1/in_a_1 |
|
56 | ? ../a/1/in_a_1 | |
57 | ? ../a/in_a |
|
57 | ? ../a/in_a | |
58 | ? 1/in_b_1 |
|
58 | ? 1/in_b_1 | |
59 | ? 2/in_b_2 |
|
59 | ? 2/in_b_2 | |
60 | ? in_b |
|
60 | ? in_b | |
61 | ? ../in_root |
|
61 | ? ../in_root | |
62 |
|
62 | |||
63 | $ hg status --cwd a/1 |
|
63 | $ hg status --cwd a/1 | |
64 | ? a/1/in_a_1 |
|
64 | ? a/1/in_a_1 | |
65 | ? a/in_a |
|
65 | ? a/in_a | |
66 | ? b/1/in_b_1 |
|
66 | ? b/1/in_b_1 | |
67 | ? b/2/in_b_2 |
|
67 | ? b/2/in_b_2 | |
68 | ? b/in_b |
|
68 | ? b/in_b | |
69 | ? in_root |
|
69 | ? in_root | |
70 | $ hg status --cwd a/1 . |
|
70 | $ hg status --cwd a/1 . | |
71 | ? in_a_1 |
|
71 | ? in_a_1 | |
72 | $ hg status --cwd a/1 .. |
|
72 | $ hg status --cwd a/1 .. | |
73 | ? in_a_1 |
|
73 | ? in_a_1 | |
74 | ? ../in_a |
|
74 | ? ../in_a | |
75 |
|
75 | |||
76 | $ hg status --cwd b/1 |
|
76 | $ hg status --cwd b/1 | |
77 | ? a/1/in_a_1 |
|
77 | ? a/1/in_a_1 | |
78 | ? a/in_a |
|
78 | ? a/in_a | |
79 | ? b/1/in_b_1 |
|
79 | ? b/1/in_b_1 | |
80 | ? b/2/in_b_2 |
|
80 | ? b/2/in_b_2 | |
81 | ? b/in_b |
|
81 | ? b/in_b | |
82 | ? in_root |
|
82 | ? in_root | |
83 | $ hg status --cwd b/1 . |
|
83 | $ hg status --cwd b/1 . | |
84 | ? in_b_1 |
|
84 | ? in_b_1 | |
85 | $ hg status --cwd b/1 .. |
|
85 | $ hg status --cwd b/1 .. | |
86 | ? in_b_1 |
|
86 | ? in_b_1 | |
87 | ? ../2/in_b_2 |
|
87 | ? ../2/in_b_2 | |
88 | ? ../in_b |
|
88 | ? ../in_b | |
89 |
|
89 | |||
90 | $ hg status --cwd b/2 |
|
90 | $ hg status --cwd b/2 | |
91 | ? a/1/in_a_1 |
|
91 | ? a/1/in_a_1 | |
92 | ? a/in_a |
|
92 | ? a/in_a | |
93 | ? b/1/in_b_1 |
|
93 | ? b/1/in_b_1 | |
94 | ? b/2/in_b_2 |
|
94 | ? b/2/in_b_2 | |
95 | ? b/in_b |
|
95 | ? b/in_b | |
96 | ? in_root |
|
96 | ? in_root | |
97 | $ hg status --cwd b/2 . |
|
97 | $ hg status --cwd b/2 . | |
98 | ? in_b_2 |
|
98 | ? in_b_2 | |
99 | $ hg status --cwd b/2 .. |
|
99 | $ hg status --cwd b/2 .. | |
100 | ? ../1/in_b_1 |
|
100 | ? ../1/in_b_1 | |
101 | ? in_b_2 |
|
101 | ? in_b_2 | |
102 | ? ../in_b |
|
102 | ? ../in_b | |
103 | $ cd .. |
|
103 | $ cd .. | |
104 |
|
104 | |||
105 | $ hg init repo2 |
|
105 | $ hg init repo2 | |
106 | $ cd repo2 |
|
106 | $ cd repo2 | |
107 | $ touch modified removed deleted ignored |
|
107 | $ touch modified removed deleted ignored | |
108 | $ echo "^ignored$" > .hgignore |
|
108 | $ echo "^ignored$" > .hgignore | |
109 | $ hg ci -A -m 'initial checkin' |
|
109 | $ hg ci -A -m 'initial checkin' | |
110 | adding .hgignore |
|
110 | adding .hgignore | |
111 | adding deleted |
|
111 | adding deleted | |
112 | adding modified |
|
112 | adding modified | |
113 | adding removed |
|
113 | adding removed | |
114 | $ touch modified added unknown ignored |
|
114 | $ touch modified added unknown ignored | |
115 | $ hg add added |
|
115 | $ hg add added | |
116 | $ hg remove removed |
|
116 | $ hg remove removed | |
117 | $ rm deleted |
|
117 | $ rm deleted | |
118 |
|
118 | |||
119 | hg status: |
|
119 | hg status: | |
120 |
|
120 | |||
121 | $ hg status |
|
121 | $ hg status | |
122 | A added |
|
122 | A added | |
123 | R removed |
|
123 | R removed | |
124 | ! deleted |
|
124 | ! deleted | |
125 | ? unknown |
|
125 | ? unknown | |
126 |
|
126 | |||
127 | hg status modified added removed deleted unknown never-existed ignored: |
|
127 | hg status modified added removed deleted unknown never-existed ignored: | |
128 |
|
128 | |||
129 | $ hg status modified added removed deleted unknown never-existed ignored |
|
129 | $ hg status modified added removed deleted unknown never-existed ignored | |
130 | never-existed: No such file or directory |
|
130 | never-existed: No such file or directory | |
131 | A added |
|
131 | A added | |
132 | R removed |
|
132 | R removed | |
133 | ! deleted |
|
133 | ! deleted | |
134 | ? unknown |
|
134 | ? unknown | |
135 |
|
135 | |||
136 | $ hg copy modified copied |
|
136 | $ hg copy modified copied | |
137 |
|
137 | |||
138 | hg status -C: |
|
138 | hg status -C: | |
139 |
|
139 | |||
140 | $ hg status -C |
|
140 | $ hg status -C | |
141 | A added |
|
141 | A added | |
142 | A copied |
|
142 | A copied | |
143 | modified |
|
143 | modified | |
144 | R removed |
|
144 | R removed | |
145 | ! deleted |
|
145 | ! deleted | |
146 | ? unknown |
|
146 | ? unknown | |
147 |
|
147 | |||
148 | hg status -A: |
|
148 | hg status -A: | |
149 |
|
149 | |||
150 | $ hg status -A |
|
150 | $ hg status -A | |
151 | A added |
|
151 | A added | |
152 | A copied |
|
152 | A copied | |
153 | modified |
|
153 | modified | |
154 | R removed |
|
154 | R removed | |
155 | ! deleted |
|
155 | ! deleted | |
156 | ? unknown |
|
156 | ? unknown | |
157 | I ignored |
|
157 | I ignored | |
158 | C .hgignore |
|
158 | C .hgignore | |
159 | C modified |
|
159 | C modified | |
160 |
|
160 | |||
161 |
|
161 | |||
162 | $ echo "^ignoreddir$" > .hgignore |
|
162 | $ echo "^ignoreddir$" > .hgignore | |
163 | $ mkdir ignoreddir |
|
163 | $ mkdir ignoreddir | |
164 | $ touch ignoreddir/file |
|
164 | $ touch ignoreddir/file | |
165 |
|
165 | |||
166 | hg status ignoreddir/file: |
|
166 | hg status ignoreddir/file: | |
167 |
|
167 | |||
168 | $ hg status ignoreddir/file |
|
168 | $ hg status ignoreddir/file | |
169 |
|
169 | |||
170 | hg status -i ignoreddir/file: |
|
170 | hg status -i ignoreddir/file: | |
171 |
|
171 | |||
172 | $ hg status -i ignoreddir/file |
|
172 | $ hg status -i ignoreddir/file | |
173 | I ignoreddir/file |
|
173 | I ignoreddir/file | |
174 | $ cd .. |
|
174 | $ cd .. | |
175 |
|
175 | |||
176 | Check 'status -q' and some combinations |
|
176 | Check 'status -q' and some combinations | |
177 |
|
177 | |||
178 | $ hg init repo3 |
|
178 | $ hg init repo3 | |
179 | $ cd repo3 |
|
179 | $ cd repo3 | |
180 | $ touch modified removed deleted ignored |
|
180 | $ touch modified removed deleted ignored | |
181 | $ echo "^ignored$" > .hgignore |
|
181 | $ echo "^ignored$" > .hgignore | |
182 | $ hg commit -A -m 'initial checkin' |
|
182 | $ hg commit -A -m 'initial checkin' | |
183 | adding .hgignore |
|
183 | adding .hgignore | |
184 | adding deleted |
|
184 | adding deleted | |
185 | adding modified |
|
185 | adding modified | |
186 | adding removed |
|
186 | adding removed | |
187 | $ touch added unknown ignored |
|
187 | $ touch added unknown ignored | |
188 | $ hg add added |
|
188 | $ hg add added | |
189 | $ echo "test" >> modified |
|
189 | $ echo "test" >> modified | |
190 | $ hg remove removed |
|
190 | $ hg remove removed | |
191 | $ rm deleted |
|
191 | $ rm deleted | |
192 | $ hg copy modified copied |
|
192 | $ hg copy modified copied | |
193 |
|
193 | |||
194 | Run status with 2 different flags. |
|
194 | Run status with 2 different flags. | |
195 | Check if result is the same or different. |
|
195 | Check if result is the same or different. | |
196 | If result is not as expected, raise error |
|
196 | If result is not as expected, raise error | |
197 |
|
197 | |||
198 | $ assert() { |
|
198 | $ assert() { | |
199 | > hg status $1 > ../a |
|
199 | > hg status $1 > ../a | |
200 | > hg status $2 > ../b |
|
200 | > hg status $2 > ../b | |
201 |
> |
|
201 | > if diff ../a ../b > /dev/null; then | |
202 | > if [ $? -ne 0 ]; then |
|
202 | > out=0 | |
|
203 | > else | |||
203 | > out=1 |
|
204 | > out=1 | |
204 | > else |
|
|||
205 | > out=0 |
|
|||
206 | > fi |
|
205 | > fi | |
207 | > if [ $3 -eq 0 ]; then |
|
206 | > if [ $3 -eq 0 ]; then | |
208 | > df="same" |
|
207 | > df="same" | |
209 | > else |
|
208 | > else | |
210 | > df="different" |
|
209 | > df="different" | |
211 | > fi |
|
210 | > fi | |
212 | > if [ $out -ne $3 ]; then |
|
211 | > if [ $out -ne $3 ]; then | |
213 | > echo "Error on $1 and $2, should be $df." |
|
212 | > echo "Error on $1 and $2, should be $df." | |
214 | > fi |
|
213 | > fi | |
215 | > } |
|
214 | > } | |
216 |
|
215 | |||
217 | Assert flag1 flag2 [0-same | 1-different] |
|
216 | Assert flag1 flag2 [0-same | 1-different] | |
218 |
|
217 | |||
219 | $ assert "-q" "-mard" 0 |
|
218 | $ assert "-q" "-mard" 0 | |
220 | $ assert "-A" "-marduicC" 0 |
|
219 | $ assert "-A" "-marduicC" 0 | |
221 | $ assert "-qA" "-mardcC" 0 |
|
220 | $ assert "-qA" "-mardcC" 0 | |
222 | $ assert "-qAui" "-A" 0 |
|
221 | $ assert "-qAui" "-A" 0 | |
223 | $ assert "-qAu" "-marducC" 0 |
|
222 | $ assert "-qAu" "-marducC" 0 | |
224 | $ assert "-qAi" "-mardicC" 0 |
|
223 | $ assert "-qAi" "-mardicC" 0 | |
225 | $ assert "-qu" "-u" 0 |
|
224 | $ assert "-qu" "-u" 0 | |
226 | $ assert "-q" "-u" 1 |
|
225 | $ assert "-q" "-u" 1 | |
227 | $ assert "-m" "-a" 1 |
|
226 | $ assert "-m" "-a" 1 | |
228 | $ assert "-r" "-d" 1 |
|
227 | $ assert "-r" "-d" 1 | |
229 | $ cd .. |
|
228 | $ cd .. | |
230 |
|
229 | |||
231 | $ hg init repo4 |
|
230 | $ hg init repo4 | |
232 | $ cd repo4 |
|
231 | $ cd repo4 | |
233 | $ touch modified removed deleted |
|
232 | $ touch modified removed deleted | |
234 | $ hg ci -q -A -m 'initial checkin' |
|
233 | $ hg ci -q -A -m 'initial checkin' | |
235 | $ touch added unknown |
|
234 | $ touch added unknown | |
236 | $ hg add added |
|
235 | $ hg add added | |
237 | $ hg remove removed |
|
236 | $ hg remove removed | |
238 | $ rm deleted |
|
237 | $ rm deleted | |
239 | $ echo x > modified |
|
238 | $ echo x > modified | |
240 | $ hg copy modified copied |
|
239 | $ hg copy modified copied | |
241 | $ hg ci -m 'test checkin' -d "1000001 0" |
|
240 | $ hg ci -m 'test checkin' -d "1000001 0" | |
242 | $ rm * |
|
241 | $ rm * | |
243 | $ touch unrelated |
|
242 | $ touch unrelated | |
244 | $ hg ci -q -A -m 'unrelated checkin' -d "1000002 0" |
|
243 | $ hg ci -q -A -m 'unrelated checkin' -d "1000002 0" | |
245 |
|
244 | |||
246 | hg status --change 1: |
|
245 | hg status --change 1: | |
247 |
|
246 | |||
248 | $ hg status --change 1 |
|
247 | $ hg status --change 1 | |
249 | M modified |
|
248 | M modified | |
250 | A added |
|
249 | A added | |
251 | A copied |
|
250 | A copied | |
252 | R removed |
|
251 | R removed | |
253 |
|
252 | |||
254 | hg status --change 1 unrelated: |
|
253 | hg status --change 1 unrelated: | |
255 |
|
254 | |||
256 | $ hg status --change 1 unrelated |
|
255 | $ hg status --change 1 unrelated | |
257 |
|
256 | |||
258 | hg status -C --change 1 added modified copied removed deleted: |
|
257 | hg status -C --change 1 added modified copied removed deleted: | |
259 |
|
258 | |||
260 | $ hg status -C --change 1 added modified copied removed deleted |
|
259 | $ hg status -C --change 1 added modified copied removed deleted | |
261 | M modified |
|
260 | M modified | |
262 | A added |
|
261 | A added | |
263 | A copied |
|
262 | A copied | |
264 | modified |
|
263 | modified | |
265 | R removed |
|
264 | R removed | |
266 |
|
265 | |||
267 | hg status -A --change 1: |
|
266 | hg status -A --change 1: | |
268 |
|
267 | |||
269 | $ hg status -A --change 1 |
|
268 | $ hg status -A --change 1 | |
270 | M modified |
|
269 | M modified | |
271 | A added |
|
270 | A added | |
272 | A copied |
|
271 | A copied | |
273 | modified |
|
272 | modified | |
274 | R removed |
|
273 | R removed | |
275 | C deleted |
|
274 | C deleted |
@@ -1,345 +1,343 b'' | |||||
1 | Make status look into subrepositories by default: |
|
1 | Make status look into subrepositories by default: | |
2 |
|
2 | |||
3 | $ echo '[defaults]' >> $HGRCPATH |
|
3 | $ echo '[defaults]' >> $HGRCPATH | |
4 | $ echo 'status = -S' >> $HGRCPATH |
|
4 | $ echo 'status = -S' >> $HGRCPATH | |
5 | $ echo 'diff = --nodates -S' >> $HGRCPATH |
|
5 | $ echo 'diff = --nodates -S' >> $HGRCPATH | |
6 |
|
6 | |||
7 | Create test repository: |
|
7 | Create test repository: | |
8 |
|
8 | |||
9 | $ hg init repo |
|
9 | $ hg init repo | |
10 | $ cd repo |
|
10 | $ cd repo | |
11 | $ echo x1 > x.txt |
|
11 | $ echo x1 > x.txt | |
12 |
|
12 | |||
13 | $ hg init foo |
|
13 | $ hg init foo | |
14 | $ cd foo |
|
14 | $ cd foo | |
15 | $ echo y1 > y.txt |
|
15 | $ echo y1 > y.txt | |
16 |
|
16 | |||
17 | $ hg init bar |
|
17 | $ hg init bar | |
18 | $ cd bar |
|
18 | $ cd bar | |
19 | $ echo z1 > z.txt |
|
19 | $ echo z1 > z.txt | |
20 |
|
20 | |||
21 | $ cd .. |
|
21 | $ cd .. | |
22 | $ echo 'bar = bar' > .hgsub |
|
22 | $ echo 'bar = bar' > .hgsub | |
23 |
|
23 | |||
24 | $ cd .. |
|
24 | $ cd .. | |
25 | $ echo 'foo = foo' > .hgsub |
|
25 | $ echo 'foo = foo' > .hgsub | |
26 |
|
26 | |||
27 | Add files --- .hgsub files must go first to trigger subrepos: |
|
27 | Add files --- .hgsub files must go first to trigger subrepos: | |
28 |
|
28 | |||
29 | $ hg add -S .hgsub |
|
29 | $ hg add -S .hgsub | |
30 | $ hg add -S foo/.hgsub |
|
30 | $ hg add -S foo/.hgsub | |
31 | $ hg add -S foo/bar |
|
31 | $ hg add -S foo/bar | |
32 | adding foo/bar/z.txt |
|
32 | adding foo/bar/z.txt | |
33 | $ hg add -S |
|
33 | $ hg add -S | |
34 | adding x.txt |
|
34 | adding x.txt | |
35 | adding foo/y.txt |
|
35 | adding foo/y.txt | |
36 |
|
36 | |||
37 | Test recursive status without committing anything: |
|
37 | Test recursive status without committing anything: | |
38 |
|
38 | |||
39 | $ hg status |
|
39 | $ hg status | |
40 | A .hgsub |
|
40 | A .hgsub | |
41 | A foo/.hgsub |
|
41 | A foo/.hgsub | |
42 | A foo/bar/z.txt |
|
42 | A foo/bar/z.txt | |
43 | A foo/y.txt |
|
43 | A foo/y.txt | |
44 | A x.txt |
|
44 | A x.txt | |
45 |
|
45 | |||
46 | Test recursive diff without committing anything: |
|
46 | Test recursive diff without committing anything: | |
47 |
|
47 | |||
48 | $ hg diff foo |
|
48 | $ hg diff foo | |
49 | diff -r 000000000000 foo/.hgsub |
|
49 | diff -r 000000000000 foo/.hgsub | |
50 | --- /dev/null |
|
50 | --- /dev/null | |
51 | +++ b/foo/.hgsub |
|
51 | +++ b/foo/.hgsub | |
52 | @@ -0,0 +1,1 @@ |
|
52 | @@ -0,0 +1,1 @@ | |
53 | +bar = bar |
|
53 | +bar = bar | |
54 | diff -r 000000000000 foo/y.txt |
|
54 | diff -r 000000000000 foo/y.txt | |
55 | --- /dev/null |
|
55 | --- /dev/null | |
56 | +++ b/foo/y.txt |
|
56 | +++ b/foo/y.txt | |
57 | @@ -0,0 +1,1 @@ |
|
57 | @@ -0,0 +1,1 @@ | |
58 | +y1 |
|
58 | +y1 | |
59 | diff -r 000000000000 foo/bar/z.txt |
|
59 | diff -r 000000000000 foo/bar/z.txt | |
60 | --- /dev/null |
|
60 | --- /dev/null | |
61 | +++ b/foo/bar/z.txt |
|
61 | +++ b/foo/bar/z.txt | |
62 | @@ -0,0 +1,1 @@ |
|
62 | @@ -0,0 +1,1 @@ | |
63 | +z1 |
|
63 | +z1 | |
64 |
|
64 | |||
65 | Commits: |
|
65 | Commits: | |
66 |
|
66 | |||
67 | $ hg commit -m 0-0-0 |
|
67 | $ hg commit -m 0-0-0 | |
68 | committing subrepository foo |
|
68 | committing subrepository foo | |
69 | committing subrepository foo/bar |
|
69 | committing subrepository foo/bar | |
70 |
|
70 | |||
71 | $ cd foo |
|
71 | $ cd foo | |
72 | $ echo y2 >> y.txt |
|
72 | $ echo y2 >> y.txt | |
73 | $ hg commit -m 0-1-0 |
|
73 | $ hg commit -m 0-1-0 | |
74 |
|
74 | |||
75 | $ cd bar |
|
75 | $ cd bar | |
76 | $ echo z2 >> z.txt |
|
76 | $ echo z2 >> z.txt | |
77 | $ hg commit -m 0-1-1 |
|
77 | $ hg commit -m 0-1-1 | |
78 |
|
78 | |||
79 | $ cd .. |
|
79 | $ cd .. | |
80 | $ hg commit -m 0-2-1 |
|
80 | $ hg commit -m 0-2-1 | |
81 | committing subrepository bar |
|
81 | committing subrepository bar | |
82 |
|
82 | |||
83 | $ cd .. |
|
83 | $ cd .. | |
84 | $ hg commit -m 1-2-1 |
|
84 | $ hg commit -m 1-2-1 | |
85 | committing subrepository foo |
|
85 | committing subrepository foo | |
86 |
|
86 | |||
87 | Change working directory: |
|
87 | Change working directory: | |
88 |
|
88 | |||
89 | $ echo y3 >> foo/y.txt |
|
89 | $ echo y3 >> foo/y.txt | |
90 | $ echo z3 >> foo/bar/z.txt |
|
90 | $ echo z3 >> foo/bar/z.txt | |
91 | $ hg status |
|
91 | $ hg status | |
92 | M foo/bar/z.txt |
|
92 | M foo/bar/z.txt | |
93 | M foo/y.txt |
|
93 | M foo/y.txt | |
94 | $ hg diff |
|
94 | $ hg diff | |
95 | diff -r d254738c5f5e foo/y.txt |
|
95 | diff -r d254738c5f5e foo/y.txt | |
96 | --- a/foo/y.txt |
|
96 | --- a/foo/y.txt | |
97 | +++ b/foo/y.txt |
|
97 | +++ b/foo/y.txt | |
98 | @@ -1,2 +1,3 @@ |
|
98 | @@ -1,2 +1,3 @@ | |
99 | y1 |
|
99 | y1 | |
100 | y2 |
|
100 | y2 | |
101 | +y3 |
|
101 | +y3 | |
102 | diff -r 9647f22de499 foo/bar/z.txt |
|
102 | diff -r 9647f22de499 foo/bar/z.txt | |
103 | --- a/foo/bar/z.txt |
|
103 | --- a/foo/bar/z.txt | |
104 | +++ b/foo/bar/z.txt |
|
104 | +++ b/foo/bar/z.txt | |
105 | @@ -1,2 +1,3 @@ |
|
105 | @@ -1,2 +1,3 @@ | |
106 | z1 |
|
106 | z1 | |
107 | z2 |
|
107 | z2 | |
108 | +z3 |
|
108 | +z3 | |
109 |
|
109 | |||
110 | Status call crossing repository boundaries: |
|
110 | Status call crossing repository boundaries: | |
111 |
|
111 | |||
112 | $ hg status foo/bar/z.txt |
|
112 | $ hg status foo/bar/z.txt | |
113 | M foo/bar/z.txt |
|
113 | M foo/bar/z.txt | |
114 | $ hg status -I 'foo/?.txt' |
|
114 | $ hg status -I 'foo/?.txt' | |
115 | M foo/y.txt |
|
115 | M foo/y.txt | |
116 | $ hg status -I '**/?.txt' |
|
116 | $ hg status -I '**/?.txt' | |
117 | M foo/bar/z.txt |
|
117 | M foo/bar/z.txt | |
118 | M foo/y.txt |
|
118 | M foo/y.txt | |
119 | $ hg diff -I '**/?.txt' |
|
119 | $ hg diff -I '**/?.txt' | |
120 | diff -r d254738c5f5e foo/y.txt |
|
120 | diff -r d254738c5f5e foo/y.txt | |
121 | --- a/foo/y.txt |
|
121 | --- a/foo/y.txt | |
122 | +++ b/foo/y.txt |
|
122 | +++ b/foo/y.txt | |
123 | @@ -1,2 +1,3 @@ |
|
123 | @@ -1,2 +1,3 @@ | |
124 | y1 |
|
124 | y1 | |
125 | y2 |
|
125 | y2 | |
126 | +y3 |
|
126 | +y3 | |
127 | diff -r 9647f22de499 foo/bar/z.txt |
|
127 | diff -r 9647f22de499 foo/bar/z.txt | |
128 | --- a/foo/bar/z.txt |
|
128 | --- a/foo/bar/z.txt | |
129 | +++ b/foo/bar/z.txt |
|
129 | +++ b/foo/bar/z.txt | |
130 | @@ -1,2 +1,3 @@ |
|
130 | @@ -1,2 +1,3 @@ | |
131 | z1 |
|
131 | z1 | |
132 | z2 |
|
132 | z2 | |
133 | +z3 |
|
133 | +z3 | |
134 |
|
134 | |||
135 | Status from within a subdirectory: |
|
135 | Status from within a subdirectory: | |
136 |
|
136 | |||
137 | $ mkdir dir |
|
137 | $ mkdir dir | |
138 | $ cd dir |
|
138 | $ cd dir | |
139 | $ echo a1 > a.txt |
|
139 | $ echo a1 > a.txt | |
140 | $ hg status |
|
140 | $ hg status | |
141 | M foo/bar/z.txt |
|
141 | M foo/bar/z.txt | |
142 | M foo/y.txt |
|
142 | M foo/y.txt | |
143 | ? dir/a.txt |
|
143 | ? dir/a.txt | |
144 | $ hg diff |
|
144 | $ hg diff | |
145 | diff -r d254738c5f5e foo/y.txt |
|
145 | diff -r d254738c5f5e foo/y.txt | |
146 | --- a/foo/y.txt |
|
146 | --- a/foo/y.txt | |
147 | +++ b/foo/y.txt |
|
147 | +++ b/foo/y.txt | |
148 | @@ -1,2 +1,3 @@ |
|
148 | @@ -1,2 +1,3 @@ | |
149 | y1 |
|
149 | y1 | |
150 | y2 |
|
150 | y2 | |
151 | +y3 |
|
151 | +y3 | |
152 | diff -r 9647f22de499 foo/bar/z.txt |
|
152 | diff -r 9647f22de499 foo/bar/z.txt | |
153 | --- a/foo/bar/z.txt |
|
153 | --- a/foo/bar/z.txt | |
154 | +++ b/foo/bar/z.txt |
|
154 | +++ b/foo/bar/z.txt | |
155 | @@ -1,2 +1,3 @@ |
|
155 | @@ -1,2 +1,3 @@ | |
156 | z1 |
|
156 | z1 | |
157 | z2 |
|
157 | z2 | |
158 | +z3 |
|
158 | +z3 | |
159 |
|
159 | |||
160 | Status with relative path: |
|
160 | Status with relative path: | |
161 |
|
161 | |||
162 | $ hg status .. |
|
162 | $ hg status .. | |
163 | M ../foo/bar/z.txt |
|
163 | M ../foo/bar/z.txt | |
164 | M ../foo/y.txt |
|
164 | M ../foo/y.txt | |
165 | ? a.txt |
|
165 | ? a.txt | |
166 | $ hg diff .. |
|
166 | $ hg diff .. | |
167 | diff -r d254738c5f5e foo/y.txt |
|
167 | diff -r d254738c5f5e foo/y.txt | |
168 | --- a/foo/y.txt |
|
168 | --- a/foo/y.txt | |
169 | +++ b/foo/y.txt |
|
169 | +++ b/foo/y.txt | |
170 | @@ -1,2 +1,3 @@ |
|
170 | @@ -1,2 +1,3 @@ | |
171 | y1 |
|
171 | y1 | |
172 | y2 |
|
172 | y2 | |
173 | +y3 |
|
173 | +y3 | |
174 | diff -r 9647f22de499 foo/bar/z.txt |
|
174 | diff -r 9647f22de499 foo/bar/z.txt | |
175 | --- a/foo/bar/z.txt |
|
175 | --- a/foo/bar/z.txt | |
176 | +++ b/foo/bar/z.txt |
|
176 | +++ b/foo/bar/z.txt | |
177 | @@ -1,2 +1,3 @@ |
|
177 | @@ -1,2 +1,3 @@ | |
178 | z1 |
|
178 | z1 | |
179 | z2 |
|
179 | z2 | |
180 | +z3 |
|
180 | +z3 | |
181 | $ cd .. |
|
181 | $ cd .. | |
182 |
|
182 | |||
183 | Cleanup and final commit: |
|
183 | Cleanup and final commit: | |
184 |
|
184 | |||
185 | $ rm -r dir |
|
185 | $ rm -r dir | |
186 | $ hg commit -m 2-3-2 |
|
186 | $ hg commit -m 2-3-2 | |
187 | committing subrepository foo |
|
187 | committing subrepository foo | |
188 | committing subrepository foo/bar |
|
188 | committing subrepository foo/bar | |
189 |
|
189 | |||
190 | Log with the relationships between repo and its subrepo: |
|
190 | Log with the relationships between repo and its subrepo: | |
191 |
|
191 | |||
192 | $ hg log --template '{rev}:{node|short} {desc}\n' |
|
192 | $ hg log --template '{rev}:{node|short} {desc}\n' | |
193 | 2:1326fa26d0c0 2-3-2 |
|
193 | 2:1326fa26d0c0 2-3-2 | |
194 | 1:4b3c9ff4f66b 1-2-1 |
|
194 | 1:4b3c9ff4f66b 1-2-1 | |
195 | 0:23376cbba0d8 0-0-0 |
|
195 | 0:23376cbba0d8 0-0-0 | |
196 |
|
196 | |||
197 | $ hg -R foo log --template '{rev}:{node|short} {desc}\n' |
|
197 | $ hg -R foo log --template '{rev}:{node|short} {desc}\n' | |
198 | 3:65903cebad86 2-3-2 |
|
198 | 3:65903cebad86 2-3-2 | |
199 | 2:d254738c5f5e 0-2-1 |
|
199 | 2:d254738c5f5e 0-2-1 | |
200 | 1:8629ce7dcc39 0-1-0 |
|
200 | 1:8629ce7dcc39 0-1-0 | |
201 | 0:af048e97ade2 0-0-0 |
|
201 | 0:af048e97ade2 0-0-0 | |
202 |
|
202 | |||
203 | $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n' |
|
203 | $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n' | |
204 | 2:31ecbdafd357 2-3-2 |
|
204 | 2:31ecbdafd357 2-3-2 | |
205 | 1:9647f22de499 0-1-1 |
|
205 | 1:9647f22de499 0-1-1 | |
206 | 0:4904098473f9 0-0-0 |
|
206 | 0:4904098473f9 0-0-0 | |
207 |
|
207 | |||
208 | Status between revisions: |
|
208 | Status between revisions: | |
209 |
|
209 | |||
210 | $ hg status |
|
210 | $ hg status | |
211 | $ hg status --rev 0:1 |
|
211 | $ hg status --rev 0:1 | |
212 | M .hgsubstate |
|
212 | M .hgsubstate | |
213 | M foo/.hgsubstate |
|
213 | M foo/.hgsubstate | |
214 | M foo/bar/z.txt |
|
214 | M foo/bar/z.txt | |
215 | M foo/y.txt |
|
215 | M foo/y.txt | |
216 | $ hg diff -I '**/?.txt' --rev 0:1 |
|
216 | $ hg diff -I '**/?.txt' --rev 0:1 | |
217 | diff -r af048e97ade2 -r d254738c5f5e foo/y.txt |
|
217 | diff -r af048e97ade2 -r d254738c5f5e foo/y.txt | |
218 | --- a/foo/y.txt |
|
218 | --- a/foo/y.txt | |
219 | +++ b/foo/y.txt |
|
219 | +++ b/foo/y.txt | |
220 | @@ -1,1 +1,2 @@ |
|
220 | @@ -1,1 +1,2 @@ | |
221 | y1 |
|
221 | y1 | |
222 | +y2 |
|
222 | +y2 | |
223 | diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt |
|
223 | diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt | |
224 | --- a/foo/bar/z.txt |
|
224 | --- a/foo/bar/z.txt | |
225 | +++ b/foo/bar/z.txt |
|
225 | +++ b/foo/bar/z.txt | |
226 | @@ -1,1 +1,2 @@ |
|
226 | @@ -1,1 +1,2 @@ | |
227 | z1 |
|
227 | z1 | |
228 | +z2 |
|
228 | +z2 | |
229 |
|
229 | |||
230 | Test archiving to a directory tree: |
|
230 | Test archiving to a directory tree: | |
231 |
|
231 | |||
232 | $ hg archive --subrepos ../archive |
|
232 | $ hg archive --subrepos ../archive | |
233 | $ find ../archive | sort |
|
233 | $ find ../archive | sort | |
234 | ../archive |
|
234 | ../archive | |
235 | ../archive/.hg_archival.txt |
|
235 | ../archive/.hg_archival.txt | |
236 | ../archive/.hgsub |
|
236 | ../archive/.hgsub | |
237 | ../archive/.hgsubstate |
|
237 | ../archive/.hgsubstate | |
238 | ../archive/foo |
|
238 | ../archive/foo | |
239 | ../archive/foo/.hgsub |
|
239 | ../archive/foo/.hgsub | |
240 | ../archive/foo/.hgsubstate |
|
240 | ../archive/foo/.hgsubstate | |
241 | ../archive/foo/bar |
|
241 | ../archive/foo/bar | |
242 | ../archive/foo/bar/z.txt |
|
242 | ../archive/foo/bar/z.txt | |
243 | ../archive/foo/y.txt |
|
243 | ../archive/foo/y.txt | |
244 | ../archive/x.txt |
|
244 | ../archive/x.txt | |
245 |
|
245 | |||
246 | Test archiving to zip file (unzip output is unstable): |
|
246 | Test archiving to zip file (unzip output is unstable): | |
247 |
|
247 | |||
248 | $ hg archive --subrepos ../archive.zip |
|
248 | $ hg archive --subrepos ../archive.zip | |
249 |
|
249 | |||
250 | Clone and test outgoing: |
|
250 | Clone and test outgoing: | |
251 |
|
251 | |||
252 | $ cd .. |
|
252 | $ cd .. | |
253 | $ hg clone repo repo2 |
|
253 | $ hg clone repo repo2 | |
254 | updating to branch default |
|
254 | updating to branch default | |
255 | pulling subrepo foo from .*/test-subrepo-recursion.t/repo/foo |
|
255 | pulling subrepo foo from .*/test-subrepo-recursion.t/repo/foo | |
256 | requesting all changes |
|
256 | requesting all changes | |
257 | adding changesets |
|
257 | adding changesets | |
258 | adding manifests |
|
258 | adding manifests | |
259 | adding file changes |
|
259 | adding file changes | |
260 | added 4 changesets with 7 changes to 3 files |
|
260 | added 4 changesets with 7 changes to 3 files | |
261 | pulling subrepo foo/bar from .*/test-subrepo-recursion.t/repo/foo/bar |
|
261 | pulling subrepo foo/bar from .*/test-subrepo-recursion.t/repo/foo/bar | |
262 | requesting all changes |
|
262 | requesting all changes | |
263 | adding changesets |
|
263 | adding changesets | |
264 | adding manifests |
|
264 | adding manifests | |
265 | adding file changes |
|
265 | adding file changes | |
266 | added 3 changesets with 3 changes to 1 files |
|
266 | added 3 changesets with 3 changes to 1 files | |
267 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
267 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
268 | $ cd repo2 |
|
268 | $ cd repo2 | |
269 | $ hg outgoing -S |
|
269 | $ hg outgoing -S | |
270 | comparing with .*/test-subrepo-recursion.t/repo |
|
270 | comparing with .*/test-subrepo-recursion.t/repo | |
271 | searching for changes |
|
271 | searching for changes | |
272 | no changes found |
|
272 | no changes found | |
273 | comparing with .*/test-subrepo-recursion.t/repo/foo |
|
273 | comparing with .*/test-subrepo-recursion.t/repo/foo | |
274 | searching for changes |
|
274 | searching for changes | |
275 | no changes found |
|
275 | no changes found | |
276 | [1] |
|
276 | [1] | |
277 | $ echo $? |
|
|||
278 | 0 |
|
|||
279 |
|
277 | |||
280 | Make nested change: |
|
278 | Make nested change: | |
281 |
|
279 | |||
282 | $ echo y4 >> foo/y.txt |
|
280 | $ echo y4 >> foo/y.txt | |
283 | $ hg diff |
|
281 | $ hg diff | |
284 | diff -r 65903cebad86 foo/y.txt |
|
282 | diff -r 65903cebad86 foo/y.txt | |
285 | --- a/foo/y.txt |
|
283 | --- a/foo/y.txt | |
286 | +++ b/foo/y.txt |
|
284 | +++ b/foo/y.txt | |
287 | @@ -1,3 +1,4 @@ |
|
285 | @@ -1,3 +1,4 @@ | |
288 | y1 |
|
286 | y1 | |
289 | y2 |
|
287 | y2 | |
290 | y3 |
|
288 | y3 | |
291 | +y4 |
|
289 | +y4 | |
292 | $ hg commit -m 3-4-2 |
|
290 | $ hg commit -m 3-4-2 | |
293 | committing subrepository foo |
|
291 | committing subrepository foo | |
294 | $ hg outgoing -S |
|
292 | $ hg outgoing -S | |
295 | comparing with .*/test-subrepo-recursion.t/repo |
|
293 | comparing with .*/test-subrepo-recursion.t/repo | |
296 | searching for changes |
|
294 | searching for changes | |
297 | changeset: 3:2655b8ecc4ee |
|
295 | changeset: 3:2655b8ecc4ee | |
298 | tag: tip |
|
296 | tag: tip | |
299 | user: test |
|
297 | user: test | |
300 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
298 | date: Thu Jan 01 00:00:00 1970 +0000 | |
301 | summary: 3-4-2 |
|
299 | summary: 3-4-2 | |
302 |
|
300 | |||
303 | comparing with .*/test-subrepo-recursion.t/repo/foo |
|
301 | comparing with .*/test-subrepo-recursion.t/repo/foo | |
304 | searching for changes |
|
302 | searching for changes | |
305 | changeset: 4:e96193d6cb36 |
|
303 | changeset: 4:e96193d6cb36 | |
306 | tag: tip |
|
304 | tag: tip | |
307 | user: test |
|
305 | user: test | |
308 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
306 | date: Thu Jan 01 00:00:00 1970 +0000 | |
309 | summary: 3-4-2 |
|
307 | summary: 3-4-2 | |
310 |
|
308 | |||
311 |
|
309 | |||
312 | Switch to original repo and setup default path: |
|
310 | Switch to original repo and setup default path: | |
313 |
|
311 | |||
314 | $ cd ../repo |
|
312 | $ cd ../repo | |
315 | $ echo '[paths]' >> .hg/hgrc |
|
313 | $ echo '[paths]' >> .hg/hgrc | |
316 | $ echo 'default = ../repo2' >> .hg/hgrc |
|
314 | $ echo 'default = ../repo2' >> .hg/hgrc | |
317 |
|
315 | |||
318 | Test incoming: |
|
316 | Test incoming: | |
319 |
|
317 | |||
320 | $ hg incoming -S |
|
318 | $ hg incoming -S | |
321 | comparing with .*/test-subrepo-recursion.t/repo2 |
|
319 | comparing with .*/test-subrepo-recursion.t/repo2 | |
322 | searching for changes |
|
320 | searching for changes | |
323 | changeset: 3:2655b8ecc4ee |
|
321 | changeset: 3:2655b8ecc4ee | |
324 | tag: tip |
|
322 | tag: tip | |
325 | user: test |
|
323 | user: test | |
326 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
324 | date: Thu Jan 01 00:00:00 1970 +0000 | |
327 | summary: 3-4-2 |
|
325 | summary: 3-4-2 | |
328 |
|
326 | |||
329 | comparing with .*/test-subrepo-recursion.t/repo2/foo |
|
327 | comparing with .*/test-subrepo-recursion.t/repo2/foo | |
330 | searching for changes |
|
328 | searching for changes | |
331 | changeset: 4:e96193d6cb36 |
|
329 | changeset: 4:e96193d6cb36 | |
332 | tag: tip |
|
330 | tag: tip | |
333 | user: test |
|
331 | user: test | |
334 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
332 | date: Thu Jan 01 00:00:00 1970 +0000 | |
335 | summary: 3-4-2 |
|
333 | summary: 3-4-2 | |
336 |
|
334 | |||
337 | $ hg incoming -S --bundle incoming.hg |
|
335 | $ hg incoming -S --bundle incoming.hg | |
338 | abort: cannot combine --bundle and --subrepos |
|
336 | abort: cannot combine --bundle and --subrepos | |
339 | [255] |
|
337 | [255] | |
340 |
|
338 | |||
341 | Test missing subrepo: |
|
339 | Test missing subrepo: | |
342 |
|
340 | |||
343 | $ rm -r foo |
|
341 | $ rm -r foo | |
344 | $ hg status |
|
342 | $ hg status | |
345 | warning: unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98' in foo |
|
343 | warning: unknown revision '65903cebad86f1a84bd4f1134f62fa7dcb7a1c98' in foo |
@@ -1,206 +1,203 b'' | |||||
1 | $ "$TESTDIR/hghave" svn || exit 80 |
|
1 | $ "$TESTDIR/hghave" svn || exit 80 | |
2 |
|
2 | |||
3 | $ fix_path() |
|
3 | $ fix_path() | |
4 | > { |
|
4 | > { | |
5 | > tr '\\' / |
|
5 | > tr '\\' / | |
6 | > } |
|
6 | > } | |
7 |
|
7 | |||
8 | $ escapedwd=`pwd | fix_path` |
|
8 | $ escapedwd=`pwd | fix_path` | |
9 |
|
9 | |||
10 | SVN wants all paths to start with a slash. Unfortunately, Windows ones |
|
10 | SVN wants all paths to start with a slash. Unfortunately, Windows ones | |
11 | don't. Handle that. |
|
11 | don't. Handle that. | |
12 |
|
12 | |||
13 |
$ expr "$escapedwd" : |
|
13 | $ expr "$escapedwd" : / > /dev/null || escapedwd="/$escapedwd" | |
14 | $ if [ $? -ne 0 ]; then |
|
|||
15 | > escapedwd="/$escapedwd" |
|
|||
16 | > fi |
|
|||
17 | $ escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"` |
|
14 | $ escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"` | |
18 | $ filterpath="s|$escapedwd|/root|" |
|
15 | $ filterpath="s|$escapedwd|/root|" | |
19 | $ filteroutofdate='s/ in transaction.*/ is out of date/;s/Out of date: /File /' |
|
16 | $ filteroutofdate='s/ in transaction.*/ is out of date/;s/Out of date: /File /' | |
20 |
|
17 | |||
21 | create subversion repo |
|
18 | create subversion repo | |
22 |
|
19 | |||
23 | $ SVNREPO="file://$escapedwd/svn-repo" |
|
20 | $ SVNREPO="file://$escapedwd/svn-repo" | |
24 | $ WCROOT="`pwd`/svn-wc" |
|
21 | $ WCROOT="`pwd`/svn-wc" | |
25 | $ svnadmin create svn-repo |
|
22 | $ svnadmin create svn-repo | |
26 | $ svn co "$SVNREPO" svn-wc |
|
23 | $ svn co "$SVNREPO" svn-wc | |
27 | Checked out revision 0. |
|
24 | Checked out revision 0. | |
28 | $ cd svn-wc |
|
25 | $ cd svn-wc | |
29 | $ mkdir src |
|
26 | $ mkdir src | |
30 | $ echo alpha > src/alpha |
|
27 | $ echo alpha > src/alpha | |
31 | $ svn add src |
|
28 | $ svn add src | |
32 | A src |
|
29 | A src | |
33 | A src/alpha |
|
30 | A src/alpha | |
34 | $ mkdir externals |
|
31 | $ mkdir externals | |
35 | $ echo other > externals/other |
|
32 | $ echo other > externals/other | |
36 | $ svn add externals |
|
33 | $ svn add externals | |
37 | A externals |
|
34 | A externals | |
38 | A externals/other |
|
35 | A externals/other | |
39 | $ svn ci -m 'Add alpha' |
|
36 | $ svn ci -m 'Add alpha' | |
40 | Adding externals |
|
37 | Adding externals | |
41 | Adding externals/other |
|
38 | Adding externals/other | |
42 | Adding src |
|
39 | Adding src | |
43 | Adding src/alpha |
|
40 | Adding src/alpha | |
44 | Transmitting file data .. |
|
41 | Transmitting file data .. | |
45 | Committed revision 1. |
|
42 | Committed revision 1. | |
46 | $ svn up |
|
43 | $ svn up | |
47 | At revision 1. |
|
44 | At revision 1. | |
48 | $ echo "externals -r1 $SVNREPO/externals" > extdef |
|
45 | $ echo "externals -r1 $SVNREPO/externals" > extdef | |
49 | $ svn propset -F extdef svn:externals src |
|
46 | $ svn propset -F extdef svn:externals src | |
50 | property 'svn:externals' set on 'src' |
|
47 | property 'svn:externals' set on 'src' | |
51 | $ svn ci -m 'Setting externals' |
|
48 | $ svn ci -m 'Setting externals' | |
52 | Sending src |
|
49 | Sending src | |
53 |
|
50 | |||
54 | Committed revision 2. |
|
51 | Committed revision 2. | |
55 | $ cd .. |
|
52 | $ cd .. | |
56 |
|
53 | |||
57 | create hg repo |
|
54 | create hg repo | |
58 |
|
55 | |||
59 | $ mkdir sub |
|
56 | $ mkdir sub | |
60 | $ cd sub |
|
57 | $ cd sub | |
61 | $ hg init t |
|
58 | $ hg init t | |
62 | $ cd t |
|
59 | $ cd t | |
63 |
|
60 | |||
64 | first revision, no sub |
|
61 | first revision, no sub | |
65 |
|
62 | |||
66 | $ echo a > a |
|
63 | $ echo a > a | |
67 | $ hg ci -Am0 |
|
64 | $ hg ci -Am0 | |
68 | adding a |
|
65 | adding a | |
69 |
|
66 | |||
70 | add first svn sub with leading whitespaces |
|
67 | add first svn sub with leading whitespaces | |
71 |
|
68 | |||
72 | $ echo "s = [svn] $SVNREPO/src" >> .hgsub |
|
69 | $ echo "s = [svn] $SVNREPO/src" >> .hgsub | |
73 | $ svn co --quiet "$SVNREPO"/src s |
|
70 | $ svn co --quiet "$SVNREPO"/src s | |
74 | $ hg add .hgsub |
|
71 | $ hg add .hgsub | |
75 | $ hg ci -m1 |
|
72 | $ hg ci -m1 | |
76 | committing subrepository s |
|
73 | committing subrepository s | |
77 |
|
74 | |||
78 | debugsub |
|
75 | debugsub | |
79 |
|
76 | |||
80 | $ hg debugsub | sed "$filterpath" |
|
77 | $ hg debugsub | sed "$filterpath" | |
81 | path s |
|
78 | path s | |
82 | source file:///root/svn-repo/src |
|
79 | source file:///root/svn-repo/src | |
83 | revision 2 |
|
80 | revision 2 | |
84 |
|
81 | |||
85 | change file in svn and hg, commit |
|
82 | change file in svn and hg, commit | |
86 |
|
83 | |||
87 | $ echo a >> a |
|
84 | $ echo a >> a | |
88 | $ echo alpha >> s/alpha |
|
85 | $ echo alpha >> s/alpha | |
89 | $ hg commit -m 'Message!' \ |
|
86 | $ hg commit -m 'Message!' \ | |
90 | > | sed 's:Sending.*s/alpha:Sending s/alpha:g' |
|
87 | > | sed 's:Sending.*s/alpha:Sending s/alpha:g' | |
91 | committing subrepository s |
|
88 | committing subrepository s | |
92 | Sending s/alpha |
|
89 | Sending s/alpha | |
93 | Transmitting file data . |
|
90 | Transmitting file data . | |
94 | Committed revision 3. |
|
91 | Committed revision 3. | |
95 |
|
92 | |||
96 | Fetching external item into '.*/s/externals' |
|
93 | Fetching external item into '.*/s/externals' | |
97 | External at revision 1. |
|
94 | External at revision 1. | |
98 |
|
95 | |||
99 | At revision 3. |
|
96 | At revision 3. | |
100 | $ hg debugsub | sed "$filterpath" |
|
97 | $ hg debugsub | sed "$filterpath" | |
101 | path s |
|
98 | path s | |
102 | source file:///root/svn-repo/src |
|
99 | source file:///root/svn-repo/src | |
103 | revision 3 |
|
100 | revision 3 | |
104 |
|
101 | |||
105 | $ echo a > s/a |
|
102 | $ echo a > s/a | |
106 |
|
103 | |||
107 | should be empty despite change to s/a |
|
104 | should be empty despite change to s/a | |
108 |
|
105 | |||
109 | $ hg st |
|
106 | $ hg st | |
110 |
|
107 | |||
111 | add a commit from svn |
|
108 | add a commit from svn | |
112 |
|
109 | |||
113 | $ cd "$WCROOT"/src |
|
110 | $ cd "$WCROOT"/src | |
114 | $ svn up |
|
111 | $ svn up | |
115 | U alpha |
|
112 | U alpha | |
116 |
|
113 | |||
117 | Fetching external item into 'externals' |
|
114 | Fetching external item into 'externals' | |
118 | A externals/other |
|
115 | A externals/other | |
119 | Updated external to revision 1. |
|
116 | Updated external to revision 1. | |
120 |
|
117 | |||
121 | Updated to revision 3. |
|
118 | Updated to revision 3. | |
122 | $ echo xyz >> alpha |
|
119 | $ echo xyz >> alpha | |
123 | $ svn propset svn:mime-type 'text/xml' alpha |
|
120 | $ svn propset svn:mime-type 'text/xml' alpha | |
124 | property 'svn:mime-type' set on 'alpha' |
|
121 | property 'svn:mime-type' set on 'alpha' | |
125 | $ svn ci -m 'amend a from svn' |
|
122 | $ svn ci -m 'amend a from svn' | |
126 | Sending src/alpha |
|
123 | Sending src/alpha | |
127 | Transmitting file data . |
|
124 | Transmitting file data . | |
128 | Committed revision 4. |
|
125 | Committed revision 4. | |
129 | $ cd ../../sub/t |
|
126 | $ cd ../../sub/t | |
130 |
|
127 | |||
131 | this commit from hg will fail |
|
128 | this commit from hg will fail | |
132 |
|
129 | |||
133 | $ echo zzz >> s/alpha |
|
130 | $ echo zzz >> s/alpha | |
134 | $ hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate" |
|
131 | $ hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate" | |
135 | committing subrepository s |
|
132 | committing subrepository s | |
136 | abort: svn: Commit failed (details follow): |
|
133 | abort: svn: Commit failed (details follow): | |
137 | svn: File '/src/alpha' is out of date |
|
134 | svn: File '/src/alpha' is out of date | |
138 | $ svn revert -q s/alpha |
|
135 | $ svn revert -q s/alpha | |
139 |
|
136 | |||
140 | this commit fails because of meta changes |
|
137 | this commit fails because of meta changes | |
141 |
|
138 | |||
142 | $ svn propset svn:mime-type 'text/html' s/alpha |
|
139 | $ svn propset svn:mime-type 'text/html' s/alpha | |
143 | property 'svn:mime-type' set on 's/alpha' |
|
140 | property 'svn:mime-type' set on 's/alpha' | |
144 | $ hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate" |
|
141 | $ hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate" | |
145 | committing subrepository s |
|
142 | committing subrepository s | |
146 | abort: svn: Commit failed (details follow): |
|
143 | abort: svn: Commit failed (details follow): | |
147 | svn: File '/src/alpha' is out of date |
|
144 | svn: File '/src/alpha' is out of date | |
148 | $ svn revert -q s/alpha |
|
145 | $ svn revert -q s/alpha | |
149 |
|
146 | |||
150 | this commit fails because of externals changes |
|
147 | this commit fails because of externals changes | |
151 |
|
148 | |||
152 | $ echo zzz > s/externals/other |
|
149 | $ echo zzz > s/externals/other | |
153 | $ hg ci -m 'amend externals from hg' |
|
150 | $ hg ci -m 'amend externals from hg' | |
154 | committing subrepository s |
|
151 | committing subrepository s | |
155 | abort: cannot commit svn externals |
|
152 | abort: cannot commit svn externals | |
156 | [255] |
|
153 | [255] | |
157 | $ hg diff --subrepos -r 1:2 | grep -v diff |
|
154 | $ hg diff --subrepos -r 1:2 | grep -v diff | |
158 | --- a/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 |
|
155 | --- a/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 | |
159 | +++ b/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 |
|
156 | +++ b/.hgsubstate Thu Jan 01 00:00:00 1970 +0000 | |
160 | @@ -1,1 +1,1 @@ |
|
157 | @@ -1,1 +1,1 @@ | |
161 | -2 s |
|
158 | -2 s | |
162 | +3 s |
|
159 | +3 s | |
163 | --- a/a Thu Jan 01 00:00:00 1970 +0000 |
|
160 | --- a/a Thu Jan 01 00:00:00 1970 +0000 | |
164 | +++ b/a Thu Jan 01 00:00:00 1970 +0000 |
|
161 | +++ b/a Thu Jan 01 00:00:00 1970 +0000 | |
165 | @@ -1,1 +1,2 @@ |
|
162 | @@ -1,1 +1,2 @@ | |
166 | a |
|
163 | a | |
167 | +a |
|
164 | +a | |
168 | $ svn revert -q s/externals/other |
|
165 | $ svn revert -q s/externals/other | |
169 |
|
166 | |||
170 | this commit fails because of externals meta changes |
|
167 | this commit fails because of externals meta changes | |
171 |
|
168 | |||
172 | $ svn propset svn:mime-type 'text/html' s/externals/other |
|
169 | $ svn propset svn:mime-type 'text/html' s/externals/other | |
173 | property 'svn:mime-type' set on 's/externals/other' |
|
170 | property 'svn:mime-type' set on 's/externals/other' | |
174 | $ hg ci -m 'amend externals from hg' |
|
171 | $ hg ci -m 'amend externals from hg' | |
175 | committing subrepository s |
|
172 | committing subrepository s | |
176 | abort: cannot commit svn externals |
|
173 | abort: cannot commit svn externals | |
177 | [255] |
|
174 | [255] | |
178 | $ svn revert -q s/externals/other |
|
175 | $ svn revert -q s/externals/other | |
179 |
|
176 | |||
180 | clone |
|
177 | clone | |
181 |
|
178 | |||
182 | $ cd .. |
|
179 | $ cd .. | |
183 | $ hg clone t tc | fix_path |
|
180 | $ hg clone t tc | fix_path | |
184 | updating to branch default |
|
181 | updating to branch default | |
185 | A tc/s/alpha |
|
182 | A tc/s/alpha | |
186 | U tc/s |
|
183 | U tc/s | |
187 |
|
184 | |||
188 | Fetching external item into 'tc/s/externals' |
|
185 | Fetching external item into 'tc/s/externals' | |
189 | A tc/s/externals/other |
|
186 | A tc/s/externals/other | |
190 | Checked out external at revision 1. |
|
187 | Checked out external at revision 1. | |
191 |
|
188 | |||
192 | Checked out revision 3. |
|
189 | Checked out revision 3. | |
193 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
190 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
194 | $ cd tc |
|
191 | $ cd tc | |
195 |
|
192 | |||
196 | debugsub in clone |
|
193 | debugsub in clone | |
197 |
|
194 | |||
198 | $ hg debugsub | sed "$filterpath" |
|
195 | $ hg debugsub | sed "$filterpath" | |
199 | path s |
|
196 | path s | |
200 | source file:///root/svn-repo/src |
|
197 | source file:///root/svn-repo/src | |
201 | revision 3 |
|
198 | revision 3 | |
202 |
|
199 | |||
203 | verify subrepo is contained within the repo directory |
|
200 | verify subrepo is contained within the repo directory | |
204 |
|
201 | |||
205 | $ python -c "import os.path; print os.path.exists('s')" |
|
202 | $ python -c "import os.path; print os.path.exists('s')" | |
206 | True |
|
203 | True |
@@ -1,197 +1,197 b'' | |||||
1 | $ hg init test |
|
1 | $ hg init test | |
2 | $ cd test |
|
2 | $ cd test | |
3 |
|
3 | |||
4 | $ echo a > a |
|
4 | $ echo a > a | |
5 | $ hg add a |
|
5 | $ hg add a | |
6 | $ hg commit -m "test" |
|
6 | $ hg commit -m "test" | |
7 | $ hg history |
|
7 | $ hg history | |
8 | changeset: 0:acb14030fe0a |
|
8 | changeset: 0:acb14030fe0a | |
9 | tag: tip |
|
9 | tag: tip | |
10 | user: test |
|
10 | user: test | |
11 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
11 | date: Thu Jan 01 00:00:00 1970 +0000 | |
12 | summary: test |
|
12 | summary: test | |
13 |
|
13 | |||
14 |
|
14 | |||
15 | $ hg tag ' ' |
|
15 | $ hg tag ' ' | |
16 | abort: tag names cannot consist entirely of whitespace |
|
16 | abort: tag names cannot consist entirely of whitespace | |
17 | [255] |
|
17 | [255] | |
18 |
|
18 | |||
19 | $ hg tag "bleah" |
|
19 | $ hg tag "bleah" | |
20 | $ hg history |
|
20 | $ hg history | |
21 | changeset: 1:d4f0d2909abc |
|
21 | changeset: 1:d4f0d2909abc | |
22 | tag: tip |
|
22 | tag: tip | |
23 | user: test |
|
23 | user: test | |
24 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
24 | date: Thu Jan 01 00:00:00 1970 +0000 | |
25 | summary: Added tag bleah for changeset acb14030fe0a |
|
25 | summary: Added tag bleah for changeset acb14030fe0a | |
26 |
|
26 | |||
27 | changeset: 0:acb14030fe0a |
|
27 | changeset: 0:acb14030fe0a | |
28 | tag: bleah |
|
28 | tag: bleah | |
29 | user: test |
|
29 | user: test | |
30 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
30 | date: Thu Jan 01 00:00:00 1970 +0000 | |
31 | summary: test |
|
31 | summary: test | |
32 |
|
32 | |||
33 |
|
33 | |||
34 | $ echo foo >> .hgtags |
|
34 | $ echo foo >> .hgtags | |
35 |
$ hg tag "bleah2" |
|
35 | $ hg tag "bleah2" | |
36 | abort: working copy of .hgtags is changed (please commit .hgtags manually) |
|
36 | abort: working copy of .hgtags is changed (please commit .hgtags manually) | |
37 | failed |
|
37 | [255] | |
38 |
|
38 | |||
39 | $ hg revert .hgtags |
|
39 | $ hg revert .hgtags | |
40 |
$ hg tag -r 0 x y z y y z |
|
40 | $ hg tag -r 0 x y z y y z | |
41 | abort: tag names must be unique |
|
41 | abort: tag names must be unique | |
42 | failed |
|
42 | [255] | |
43 |
$ hg tag tap nada dot tip null . |
|
43 | $ hg tag tap nada dot tip null . | |
44 | abort: the name 'tip' is reserved |
|
44 | abort: the name 'tip' is reserved | |
45 | failed |
|
45 | [255] | |
46 |
$ hg tag "bleah" |
|
46 | $ hg tag "bleah" | |
47 | abort: tag 'bleah' already exists (use -f to force) |
|
47 | abort: tag 'bleah' already exists (use -f to force) | |
48 | failed |
|
48 | [255] | |
49 |
$ hg tag "blecch" "bleah" |
|
49 | $ hg tag "blecch" "bleah" | |
50 | abort: tag 'bleah' already exists (use -f to force) |
|
50 | abort: tag 'bleah' already exists (use -f to force) | |
51 | failed |
|
51 | [255] | |
52 |
|
52 | |||
53 |
$ hg tag --remove "blecch" |
|
53 | $ hg tag --remove "blecch" | |
54 | abort: tag 'blecch' does not exist |
|
54 | abort: tag 'blecch' does not exist | |
55 | failed |
|
55 | [255] | |
56 |
$ hg tag --remove "bleah" "blecch" "blough" |
|
56 | $ hg tag --remove "bleah" "blecch" "blough" | |
57 | abort: tag 'blecch' does not exist |
|
57 | abort: tag 'blecch' does not exist | |
58 | failed |
|
58 | [255] | |
59 |
|
59 | |||
60 | $ hg tag -r 0 "bleah0" |
|
60 | $ hg tag -r 0 "bleah0" | |
61 | $ hg tag -l -r 1 "bleah1" |
|
61 | $ hg tag -l -r 1 "bleah1" | |
62 | $ hg tag gack gawk gorp |
|
62 | $ hg tag gack gawk gorp | |
63 | $ hg tag -f gack |
|
63 | $ hg tag -f gack | |
64 | $ hg tag --remove gack gorp |
|
64 | $ hg tag --remove gack gorp | |
65 |
|
65 | |||
66 | $ cat .hgtags |
|
66 | $ cat .hgtags | |
67 | acb14030fe0a21b60322c440ad2d20cf7685a376 bleah |
|
67 | acb14030fe0a21b60322c440ad2d20cf7685a376 bleah | |
68 | acb14030fe0a21b60322c440ad2d20cf7685a376 bleah0 |
|
68 | acb14030fe0a21b60322c440ad2d20cf7685a376 bleah0 | |
69 | 336fccc858a4eb69609a291105009e484a6b6b8d gack |
|
69 | 336fccc858a4eb69609a291105009e484a6b6b8d gack | |
70 | 336fccc858a4eb69609a291105009e484a6b6b8d gawk |
|
70 | 336fccc858a4eb69609a291105009e484a6b6b8d gawk | |
71 | 336fccc858a4eb69609a291105009e484a6b6b8d gorp |
|
71 | 336fccc858a4eb69609a291105009e484a6b6b8d gorp | |
72 | 336fccc858a4eb69609a291105009e484a6b6b8d gack |
|
72 | 336fccc858a4eb69609a291105009e484a6b6b8d gack | |
73 | 799667b6f2d9b957f73fa644a918c2df22bab58f gack |
|
73 | 799667b6f2d9b957f73fa644a918c2df22bab58f gack | |
74 | 799667b6f2d9b957f73fa644a918c2df22bab58f gack |
|
74 | 799667b6f2d9b957f73fa644a918c2df22bab58f gack | |
75 | 0000000000000000000000000000000000000000 gack |
|
75 | 0000000000000000000000000000000000000000 gack | |
76 | 336fccc858a4eb69609a291105009e484a6b6b8d gorp |
|
76 | 336fccc858a4eb69609a291105009e484a6b6b8d gorp | |
77 | 0000000000000000000000000000000000000000 gorp |
|
77 | 0000000000000000000000000000000000000000 gorp | |
78 | $ cat .hg/localtags |
|
78 | $ cat .hg/localtags | |
79 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 |
|
79 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 | |
80 |
|
80 | |||
81 | $ hg update 0 |
|
81 | $ hg update 0 | |
82 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
82 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
83 | $ hg tag "foobar" |
|
83 | $ hg tag "foobar" | |
84 | $ cat .hgtags |
|
84 | $ cat .hgtags | |
85 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar |
|
85 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar | |
86 | $ cat .hg/localtags |
|
86 | $ cat .hg/localtags | |
87 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 |
|
87 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 | |
88 |
|
88 | |||
89 | $ hg tag -l 'xx |
|
89 | $ hg tag -l 'xx | |
90 | > newline' |
|
90 | > newline' | |
91 | abort: '\n' cannot be used in a tag name |
|
91 | abort: '\n' cannot be used in a tag name | |
92 | [255] |
|
92 | [255] | |
93 | $ hg tag -l 'xx:xx' |
|
93 | $ hg tag -l 'xx:xx' | |
94 | abort: ':' cannot be used in a tag name |
|
94 | abort: ':' cannot be used in a tag name | |
95 | [255] |
|
95 | [255] | |
96 |
|
96 | |||
97 | cloning local tags |
|
97 | cloning local tags | |
98 |
|
98 | |||
99 | $ cd .. |
|
99 | $ cd .. | |
100 | $ hg -R test log -r0:5 |
|
100 | $ hg -R test log -r0:5 | |
101 | changeset: 0:acb14030fe0a |
|
101 | changeset: 0:acb14030fe0a | |
102 | tag: bleah |
|
102 | tag: bleah | |
103 | tag: bleah0 |
|
103 | tag: bleah0 | |
104 | tag: foobar |
|
104 | tag: foobar | |
105 | user: test |
|
105 | user: test | |
106 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
106 | date: Thu Jan 01 00:00:00 1970 +0000 | |
107 | summary: test |
|
107 | summary: test | |
108 |
|
108 | |||
109 | changeset: 1:d4f0d2909abc |
|
109 | changeset: 1:d4f0d2909abc | |
110 | tag: bleah1 |
|
110 | tag: bleah1 | |
111 | user: test |
|
111 | user: test | |
112 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
112 | date: Thu Jan 01 00:00:00 1970 +0000 | |
113 | summary: Added tag bleah for changeset acb14030fe0a |
|
113 | summary: Added tag bleah for changeset acb14030fe0a | |
114 |
|
114 | |||
115 | changeset: 2:336fccc858a4 |
|
115 | changeset: 2:336fccc858a4 | |
116 | tag: gawk |
|
116 | tag: gawk | |
117 | user: test |
|
117 | user: test | |
118 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
118 | date: Thu Jan 01 00:00:00 1970 +0000 | |
119 | summary: Added tag bleah0 for changeset acb14030fe0a |
|
119 | summary: Added tag bleah0 for changeset acb14030fe0a | |
120 |
|
120 | |||
121 | changeset: 3:799667b6f2d9 |
|
121 | changeset: 3:799667b6f2d9 | |
122 | user: test |
|
122 | user: test | |
123 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
123 | date: Thu Jan 01 00:00:00 1970 +0000 | |
124 | summary: Added tag gack, gawk, gorp for changeset 336fccc858a4 |
|
124 | summary: Added tag gack, gawk, gorp for changeset 336fccc858a4 | |
125 |
|
125 | |||
126 | changeset: 4:154eeb7c0138 |
|
126 | changeset: 4:154eeb7c0138 | |
127 | user: test |
|
127 | user: test | |
128 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
128 | date: Thu Jan 01 00:00:00 1970 +0000 | |
129 | summary: Added tag gack for changeset 799667b6f2d9 |
|
129 | summary: Added tag gack for changeset 799667b6f2d9 | |
130 |
|
130 | |||
131 | changeset: 5:b4bb47aaff09 |
|
131 | changeset: 5:b4bb47aaff09 | |
132 | user: test |
|
132 | user: test | |
133 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
133 | date: Thu Jan 01 00:00:00 1970 +0000 | |
134 | summary: Removed tag gack, gorp |
|
134 | summary: Removed tag gack, gorp | |
135 |
|
135 | |||
136 | $ hg clone -q -rbleah1 test test1 |
|
136 | $ hg clone -q -rbleah1 test test1 | |
137 | $ hg -R test1 parents --style=compact |
|
137 | $ hg -R test1 parents --style=compact | |
138 | 1[tip] d4f0d2909abc 1970-01-01 00:00 +0000 test |
|
138 | 1[tip] d4f0d2909abc 1970-01-01 00:00 +0000 test | |
139 | Added tag bleah for changeset acb14030fe0a |
|
139 | Added tag bleah for changeset acb14030fe0a | |
140 |
|
140 | |||
141 | $ hg clone -q -r5 test#bleah1 test2 |
|
141 | $ hg clone -q -r5 test#bleah1 test2 | |
142 | $ hg -R test2 parents --style=compact |
|
142 | $ hg -R test2 parents --style=compact | |
143 | 5[tip] b4bb47aaff09 1970-01-01 00:00 +0000 test |
|
143 | 5[tip] b4bb47aaff09 1970-01-01 00:00 +0000 test | |
144 | Removed tag gack, gorp |
|
144 | Removed tag gack, gorp | |
145 |
|
145 | |||
146 | $ hg clone -q -U test#bleah1 test3 |
|
146 | $ hg clone -q -U test#bleah1 test3 | |
147 | $ hg -R test3 parents --style=compact |
|
147 | $ hg -R test3 parents --style=compact | |
148 |
|
148 | |||
149 | $ cd test |
|
149 | $ cd test | |
150 |
|
150 | |||
151 | issue 601 |
|
151 | issue 601 | |
152 |
|
152 | |||
153 | $ python << EOF |
|
153 | $ python << EOF | |
154 | > f = file('.hg/localtags'); last = f.readlines()[-1][:-1]; f.close() |
|
154 | > f = file('.hg/localtags'); last = f.readlines()[-1][:-1]; f.close() | |
155 | > f = file('.hg/localtags', 'w'); f.write(last); f.close() |
|
155 | > f = file('.hg/localtags', 'w'); f.write(last); f.close() | |
156 | > EOF |
|
156 | > EOF | |
157 | $ cat .hg/localtags; echo |
|
157 | $ cat .hg/localtags; echo | |
158 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 |
|
158 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 | |
159 | $ hg tag -l localnewline |
|
159 | $ hg tag -l localnewline | |
160 | $ cat .hg/localtags; echo |
|
160 | $ cat .hg/localtags; echo | |
161 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 |
|
161 | d4f0d2909abc9290e2773c08837d70c1794e3f5a bleah1 | |
162 | c2899151f4e76890c602a2597a650a72666681bf localnewline |
|
162 | c2899151f4e76890c602a2597a650a72666681bf localnewline | |
163 |
|
163 | |||
164 |
|
164 | |||
165 | $ python << EOF |
|
165 | $ python << EOF | |
166 | > f = file('.hgtags'); last = f.readlines()[-1][:-1]; f.close() |
|
166 | > f = file('.hgtags'); last = f.readlines()[-1][:-1]; f.close() | |
167 | > f = file('.hgtags', 'w'); f.write(last); f.close() |
|
167 | > f = file('.hgtags', 'w'); f.write(last); f.close() | |
168 | > EOF |
|
168 | > EOF | |
169 | $ hg ci -m'broken manual edit of .hgtags' |
|
169 | $ hg ci -m'broken manual edit of .hgtags' | |
170 | $ cat .hgtags; echo |
|
170 | $ cat .hgtags; echo | |
171 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar |
|
171 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar | |
172 | $ hg tag newline |
|
172 | $ hg tag newline | |
173 | $ cat .hgtags; echo |
|
173 | $ cat .hgtags; echo | |
174 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar |
|
174 | acb14030fe0a21b60322c440ad2d20cf7685a376 foobar | |
175 | a0eea09de1eeec777b46f2085260a373b2fbc293 newline |
|
175 | a0eea09de1eeec777b46f2085260a373b2fbc293 newline | |
176 |
|
176 | |||
177 |
|
177 | |||
178 | tag and branch using same name |
|
178 | tag and branch using same name | |
179 |
|
179 | |||
180 | $ hg branch tag-and-branch-same-name |
|
180 | $ hg branch tag-and-branch-same-name | |
181 | marked working directory as branch tag-and-branch-same-name |
|
181 | marked working directory as branch tag-and-branch-same-name | |
182 | $ hg ci -m"discouraged" |
|
182 | $ hg ci -m"discouraged" | |
183 | $ hg tag tag-and-branch-same-name |
|
183 | $ hg tag tag-and-branch-same-name | |
184 | warning: tag tag-and-branch-same-name conflicts with existing branch name |
|
184 | warning: tag tag-and-branch-same-name conflicts with existing branch name | |
185 |
|
185 | |||
186 | test custom commit messages |
|
186 | test custom commit messages | |
187 |
|
187 | |||
188 | $ cat > $HGTMP/editor <<'__EOF__' |
|
188 | $ cat > $HGTMP/editor <<'__EOF__' | |
189 | > #!/bin/sh |
|
189 | > #!/bin/sh | |
190 | > echo "custom tag message" > "$1" |
|
190 | > echo "custom tag message" > "$1" | |
191 | > echo "second line" >> "$1" |
|
191 | > echo "second line" >> "$1" | |
192 | > __EOF__ |
|
192 | > __EOF__ | |
193 | $ chmod +x "$HGTMP"/editor |
|
193 | $ chmod +x "$HGTMP"/editor | |
194 | $ HGEDITOR="'$HGTMP'"/editor hg tag custom-tag -e |
|
194 | $ HGEDITOR="'$HGTMP'"/editor hg tag custom-tag -e | |
195 | $ hg log -l1 --template "{desc}\n" |
|
195 | $ hg log -l1 --template "{desc}\n" | |
196 | custom tag message |
|
196 | custom tag message | |
197 | second line |
|
197 | second line |
@@ -1,235 +1,235 b'' | |||||
1 | $ HGMERGE=true; export HGMERGE |
|
1 | $ HGMERGE=true; export HGMERGE | |
2 |
|
2 | |||
3 | $ mkdir r1 |
|
3 | $ mkdir r1 | |
4 | $ cd r1 |
|
4 | $ cd r1 | |
5 | $ hg init |
|
5 | $ hg init | |
6 | $ echo a > a |
|
6 | $ echo a > a | |
7 | $ hg addremove |
|
7 | $ hg addremove | |
8 | adding a |
|
8 | adding a | |
9 | $ hg commit -m "1" |
|
9 | $ hg commit -m "1" | |
10 |
|
10 | |||
11 | $ hg clone . ../r2 |
|
11 | $ hg clone . ../r2 | |
12 | updating to branch default |
|
12 | updating to branch default | |
13 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
13 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
14 | $ cd ../r2 |
|
14 | $ cd ../r2 | |
15 | $ hg up |
|
15 | $ hg up | |
16 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
16 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
17 | $ echo abc > a |
|
17 | $ echo abc > a | |
18 | $ hg diff --nodates |
|
18 | $ hg diff --nodates | |
19 | diff -r c19d34741b0a a |
|
19 | diff -r c19d34741b0a a | |
20 | --- a/a |
|
20 | --- a/a | |
21 | +++ b/a |
|
21 | +++ b/a | |
22 | @@ -1,1 +1,1 @@ |
|
22 | @@ -1,1 +1,1 @@ | |
23 | -a |
|
23 | -a | |
24 | +abc |
|
24 | +abc | |
25 |
|
25 | |||
26 | $ cd ../r1 |
|
26 | $ cd ../r1 | |
27 | $ echo b > b |
|
27 | $ echo b > b | |
28 | $ echo a2 > a |
|
28 | $ echo a2 > a | |
29 | $ hg addremove |
|
29 | $ hg addremove | |
30 | adding b |
|
30 | adding b | |
31 | $ hg commit -m "2" |
|
31 | $ hg commit -m "2" | |
32 |
|
32 | |||
33 | $ cd ../r2 |
|
33 | $ cd ../r2 | |
34 | $ hg -q pull ../r1 |
|
34 | $ hg -q pull ../r1 | |
35 | $ hg status |
|
35 | $ hg status | |
36 | M a |
|
36 | M a | |
37 | $ hg parents |
|
37 | $ hg parents | |
38 | changeset: 0:c19d34741b0a |
|
38 | changeset: 0:c19d34741b0a | |
39 | user: test |
|
39 | user: test | |
40 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
40 | date: Thu Jan 01 00:00:00 1970 +0000 | |
41 | summary: 1 |
|
41 | summary: 1 | |
42 |
|
42 | |||
43 | $ hg --debug up |
|
43 | $ hg --debug up | |
44 | searching for copies back to rev 1 |
|
44 | searching for copies back to rev 1 | |
45 | unmatched files in other: |
|
45 | unmatched files in other: | |
46 | b |
|
46 | b | |
47 | resolving manifests |
|
47 | resolving manifests | |
48 | overwrite False partial False |
|
48 | overwrite False partial False | |
49 | ancestor c19d34741b0a local c19d34741b0a+ remote 1e71731e6fbb |
|
49 | ancestor c19d34741b0a local c19d34741b0a+ remote 1e71731e6fbb | |
50 | a: versions differ -> m |
|
50 | a: versions differ -> m | |
51 | b: remote created -> g |
|
51 | b: remote created -> g | |
52 | preserving a for resolve of a |
|
52 | preserving a for resolve of a | |
53 | updating: a 1/2 files (50.00%) |
|
53 | updating: a 1/2 files (50.00%) | |
54 | picked tool 'true' for a (binary False symlink False) |
|
54 | picked tool 'true' for a (binary False symlink False) | |
55 | merging a |
|
55 | merging a | |
56 | my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a |
|
56 | my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a | |
57 | updating: b 2/2 files (100.00%) |
|
57 | updating: b 2/2 files (100.00%) | |
58 | getting b |
|
58 | getting b | |
59 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
59 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
60 | $ hg parents |
|
60 | $ hg parents | |
61 | changeset: 1:1e71731e6fbb |
|
61 | changeset: 1:1e71731e6fbb | |
62 | tag: tip |
|
62 | tag: tip | |
63 | user: test |
|
63 | user: test | |
64 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
64 | date: Thu Jan 01 00:00:00 1970 +0000 | |
65 | summary: 2 |
|
65 | summary: 2 | |
66 |
|
66 | |||
67 | $ hg --debug up 0 |
|
67 | $ hg --debug up 0 | |
68 | resolving manifests |
|
68 | resolving manifests | |
69 | overwrite False partial False |
|
69 | overwrite False partial False | |
70 | ancestor 1e71731e6fbb local 1e71731e6fbb+ remote c19d34741b0a |
|
70 | ancestor 1e71731e6fbb local 1e71731e6fbb+ remote c19d34741b0a | |
71 | a: versions differ -> m |
|
71 | a: versions differ -> m | |
72 | b: other deleted -> r |
|
72 | b: other deleted -> r | |
73 | preserving a for resolve of a |
|
73 | preserving a for resolve of a | |
74 | updating: b 1/2 files (50.00%) |
|
74 | updating: b 1/2 files (50.00%) | |
75 | removing b |
|
75 | removing b | |
76 | updating: a 2/2 files (100.00%) |
|
76 | updating: a 2/2 files (100.00%) | |
77 | picked tool 'true' for a (binary False symlink False) |
|
77 | picked tool 'true' for a (binary False symlink False) | |
78 | merging a |
|
78 | merging a | |
79 | my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb |
|
79 | my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb | |
80 | 0 files updated, 1 files merged, 1 files removed, 0 files unresolved |
|
80 | 0 files updated, 1 files merged, 1 files removed, 0 files unresolved | |
81 | $ hg parents |
|
81 | $ hg parents | |
82 | changeset: 0:c19d34741b0a |
|
82 | changeset: 0:c19d34741b0a | |
83 | user: test |
|
83 | user: test | |
84 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
84 | date: Thu Jan 01 00:00:00 1970 +0000 | |
85 | summary: 1 |
|
85 | summary: 1 | |
86 |
|
86 | |||
87 |
$ hg --debug merge |
|
87 | $ hg --debug merge | |
88 | abort: there is nothing to merge - use "hg update" instead |
|
88 | abort: there is nothing to merge - use "hg update" instead | |
89 | failed |
|
89 | [255] | |
90 | $ hg parents |
|
90 | $ hg parents | |
91 | changeset: 0:c19d34741b0a |
|
91 | changeset: 0:c19d34741b0a | |
92 | user: test |
|
92 | user: test | |
93 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
93 | date: Thu Jan 01 00:00:00 1970 +0000 | |
94 | summary: 1 |
|
94 | summary: 1 | |
95 |
|
95 | |||
96 | $ hg --debug up |
|
96 | $ hg --debug up | |
97 | searching for copies back to rev 1 |
|
97 | searching for copies back to rev 1 | |
98 | unmatched files in other: |
|
98 | unmatched files in other: | |
99 | b |
|
99 | b | |
100 | resolving manifests |
|
100 | resolving manifests | |
101 | overwrite False partial False |
|
101 | overwrite False partial False | |
102 | ancestor c19d34741b0a local c19d34741b0a+ remote 1e71731e6fbb |
|
102 | ancestor c19d34741b0a local c19d34741b0a+ remote 1e71731e6fbb | |
103 | a: versions differ -> m |
|
103 | a: versions differ -> m | |
104 | b: remote created -> g |
|
104 | b: remote created -> g | |
105 | preserving a for resolve of a |
|
105 | preserving a for resolve of a | |
106 | updating: a 1/2 files (50.00%) |
|
106 | updating: a 1/2 files (50.00%) | |
107 | picked tool 'true' for a (binary False symlink False) |
|
107 | picked tool 'true' for a (binary False symlink False) | |
108 | merging a |
|
108 | merging a | |
109 | my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a |
|
109 | my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a | |
110 | updating: b 2/2 files (100.00%) |
|
110 | updating: b 2/2 files (100.00%) | |
111 | getting b |
|
111 | getting b | |
112 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved |
|
112 | 1 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
113 | $ hg parents |
|
113 | $ hg parents | |
114 | changeset: 1:1e71731e6fbb |
|
114 | changeset: 1:1e71731e6fbb | |
115 | tag: tip |
|
115 | tag: tip | |
116 | user: test |
|
116 | user: test | |
117 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
117 | date: Thu Jan 01 00:00:00 1970 +0000 | |
118 | summary: 2 |
|
118 | summary: 2 | |
119 |
|
119 | |||
120 | $ hg -v history |
|
120 | $ hg -v history | |
121 | changeset: 1:1e71731e6fbb |
|
121 | changeset: 1:1e71731e6fbb | |
122 | tag: tip |
|
122 | tag: tip | |
123 | user: test |
|
123 | user: test | |
124 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
124 | date: Thu Jan 01 00:00:00 1970 +0000 | |
125 | files: a b |
|
125 | files: a b | |
126 | description: |
|
126 | description: | |
127 | 2 |
|
127 | 2 | |
128 |
|
128 | |||
129 |
|
129 | |||
130 | changeset: 0:c19d34741b0a |
|
130 | changeset: 0:c19d34741b0a | |
131 | user: test |
|
131 | user: test | |
132 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
132 | date: Thu Jan 01 00:00:00 1970 +0000 | |
133 | files: a |
|
133 | files: a | |
134 | description: |
|
134 | description: | |
135 | 1 |
|
135 | 1 | |
136 |
|
136 | |||
137 |
|
137 | |||
138 | $ hg diff --nodates |
|
138 | $ hg diff --nodates | |
139 | diff -r 1e71731e6fbb a |
|
139 | diff -r 1e71731e6fbb a | |
140 | --- a/a |
|
140 | --- a/a | |
141 | +++ b/a |
|
141 | +++ b/a | |
142 | @@ -1,1 +1,1 @@ |
|
142 | @@ -1,1 +1,1 @@ | |
143 | -a2 |
|
143 | -a2 | |
144 | +abc |
|
144 | +abc | |
145 |
|
145 | |||
146 |
|
146 | |||
147 | create a second head |
|
147 | create a second head | |
148 |
|
148 | |||
149 | $ cd ../r1 |
|
149 | $ cd ../r1 | |
150 | $ hg up 0 |
|
150 | $ hg up 0 | |
151 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
151 | 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
152 | $ echo b2 > b |
|
152 | $ echo b2 > b | |
153 | $ echo a3 > a |
|
153 | $ echo a3 > a | |
154 | $ hg addremove |
|
154 | $ hg addremove | |
155 | adding b |
|
155 | adding b | |
156 | $ hg commit -m "3" |
|
156 | $ hg commit -m "3" | |
157 | created new head |
|
157 | created new head | |
158 |
|
158 | |||
159 | $ cd ../r2 |
|
159 | $ cd ../r2 | |
160 | $ hg -q pull ../r1 |
|
160 | $ hg -q pull ../r1 | |
161 | $ hg status |
|
161 | $ hg status | |
162 | M a |
|
162 | M a | |
163 | $ hg parents |
|
163 | $ hg parents | |
164 | changeset: 1:1e71731e6fbb |
|
164 | changeset: 1:1e71731e6fbb | |
165 | user: test |
|
165 | user: test | |
166 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
166 | date: Thu Jan 01 00:00:00 1970 +0000 | |
167 | summary: 2 |
|
167 | summary: 2 | |
168 |
|
168 | |||
169 |
$ hg --debug up |
|
169 | $ hg --debug up | |
170 | abort: crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes) |
|
170 | abort: crosses branches (use 'hg merge' to merge or use 'hg update -C' to discard changes) | |
171 | failed |
|
171 | [255] | |
172 |
$ hg --debug merge |
|
172 | $ hg --debug merge | |
173 | abort: outstanding uncommitted changes (use 'hg status' to list changes) |
|
173 | abort: outstanding uncommitted changes (use 'hg status' to list changes) | |
174 | failed |
|
174 | [255] | |
175 | $ hg --debug merge -f |
|
175 | $ hg --debug merge -f | |
176 | searching for copies back to rev 1 |
|
176 | searching for copies back to rev 1 | |
177 | resolving manifests |
|
177 | resolving manifests | |
178 | overwrite False partial False |
|
178 | overwrite False partial False | |
179 | ancestor c19d34741b0a local 1e71731e6fbb+ remote 83c51d0caff4 |
|
179 | ancestor c19d34741b0a local 1e71731e6fbb+ remote 83c51d0caff4 | |
180 | a: versions differ -> m |
|
180 | a: versions differ -> m | |
181 | b: versions differ -> m |
|
181 | b: versions differ -> m | |
182 | preserving a for resolve of a |
|
182 | preserving a for resolve of a | |
183 | preserving b for resolve of b |
|
183 | preserving b for resolve of b | |
184 | updating: a 1/2 files (50.00%) |
|
184 | updating: a 1/2 files (50.00%) | |
185 | picked tool 'true' for a (binary False symlink False) |
|
185 | picked tool 'true' for a (binary False symlink False) | |
186 | merging a |
|
186 | merging a | |
187 | my a@1e71731e6fbb+ other a@83c51d0caff4 ancestor a@c19d34741b0a |
|
187 | my a@1e71731e6fbb+ other a@83c51d0caff4 ancestor a@c19d34741b0a | |
188 | updating: b 2/2 files (100.00%) |
|
188 | updating: b 2/2 files (100.00%) | |
189 | picked tool 'true' for b (binary False symlink False) |
|
189 | picked tool 'true' for b (binary False symlink False) | |
190 | merging b |
|
190 | merging b | |
191 | my b@1e71731e6fbb+ other b@83c51d0caff4 ancestor b@000000000000 |
|
191 | my b@1e71731e6fbb+ other b@83c51d0caff4 ancestor b@000000000000 | |
192 | 0 files updated, 2 files merged, 0 files removed, 0 files unresolved |
|
192 | 0 files updated, 2 files merged, 0 files removed, 0 files unresolved | |
193 | (branch merge, don't forget to commit) |
|
193 | (branch merge, don't forget to commit) | |
194 | $ hg parents |
|
194 | $ hg parents | |
195 | changeset: 1:1e71731e6fbb |
|
195 | changeset: 1:1e71731e6fbb | |
196 | user: test |
|
196 | user: test | |
197 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
197 | date: Thu Jan 01 00:00:00 1970 +0000 | |
198 | summary: 2 |
|
198 | summary: 2 | |
199 |
|
199 | |||
200 | changeset: 2:83c51d0caff4 |
|
200 | changeset: 2:83c51d0caff4 | |
201 | tag: tip |
|
201 | tag: tip | |
202 | parent: 0:c19d34741b0a |
|
202 | parent: 0:c19d34741b0a | |
203 | user: test |
|
203 | user: test | |
204 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
204 | date: Thu Jan 01 00:00:00 1970 +0000 | |
205 | summary: 3 |
|
205 | summary: 3 | |
206 |
|
206 | |||
207 | $ hg diff --nodates |
|
207 | $ hg diff --nodates | |
208 | diff -r 1e71731e6fbb a |
|
208 | diff -r 1e71731e6fbb a | |
209 | --- a/a |
|
209 | --- a/a | |
210 | +++ b/a |
|
210 | +++ b/a | |
211 | @@ -1,1 +1,1 @@ |
|
211 | @@ -1,1 +1,1 @@ | |
212 | -a2 |
|
212 | -a2 | |
213 | +abc |
|
213 | +abc | |
214 |
|
214 | |||
215 |
|
215 | |||
216 | test a local add |
|
216 | test a local add | |
217 |
|
217 | |||
218 | $ cd .. |
|
218 | $ cd .. | |
219 | $ hg init a |
|
219 | $ hg init a | |
220 | $ hg init b |
|
220 | $ hg init b | |
221 | $ echo a > a/a |
|
221 | $ echo a > a/a | |
222 | $ echo a > b/a |
|
222 | $ echo a > b/a | |
223 | $ hg --cwd a commit -A -m a |
|
223 | $ hg --cwd a commit -A -m a | |
224 | adding a |
|
224 | adding a | |
225 | $ cd b |
|
225 | $ cd b | |
226 | $ hg add a |
|
226 | $ hg add a | |
227 | $ hg pull -u ../a |
|
227 | $ hg pull -u ../a | |
228 | pulling from ../a |
|
228 | pulling from ../a | |
229 | requesting all changes |
|
229 | requesting all changes | |
230 | adding changesets |
|
230 | adding changesets | |
231 | adding manifests |
|
231 | adding manifests | |
232 | adding file changes |
|
232 | adding file changes | |
233 | added 1 changesets with 1 changes to 1 files |
|
233 | added 1 changesets with 1 changes to 1 files | |
234 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
234 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
235 | $ hg st |
|
235 | $ hg st |
General Comments 0
You need to be logged in to leave comments.
Login now