Show More
@@ -1,223 +1,223 b'' | |||||
1 | setup |
|
1 | setup | |
2 | $ cat >> $HGRCPATH <<EOF |
|
2 | $ cat >> $HGRCPATH <<EOF | |
3 | > [extensions] |
|
3 | > [extensions] | |
4 | > blackbox= |
|
4 | > blackbox= | |
5 | > mock=$TESTDIR/mockblackbox.py |
|
5 | > mock=$TESTDIR/mockblackbox.py | |
6 | > mq= |
|
6 | > mq= | |
7 | > [alias] |
|
7 | > [alias] | |
8 | > confuse = log --limit 3 |
|
8 | > confuse = log --limit 3 | |
9 | > EOF |
|
9 | > EOF | |
10 | $ hg init blackboxtest |
|
10 | $ hg init blackboxtest | |
11 | $ cd blackboxtest |
|
11 | $ cd blackboxtest | |
12 |
|
12 | |||
13 | command, exit codes, and duration |
|
13 | command, exit codes, and duration | |
14 |
|
14 | |||
15 | $ echo a > a |
|
15 | $ echo a > a | |
16 | $ hg add a |
|
16 | $ hg add a | |
17 | $ hg blackbox --config blackbox.dirty=True |
|
17 | $ hg blackbox --config blackbox.dirty=True | |
18 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a |
|
18 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a | |
19 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) |
|
19 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) | |
20 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox |
|
20 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox | |
21 |
|
21 | |||
22 | alias expansion is logged |
|
22 | alias expansion is logged | |
23 | $ hg confuse |
|
23 | $ hg confuse | |
24 | $ hg blackbox |
|
24 | $ hg blackbox | |
25 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a |
|
25 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a | |
26 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) |
|
26 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> add a exited 0 after * seconds (glob) | |
27 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox |
|
27 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox | |
28 |
1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config |
|
28 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000+ (5000)> blackbox --config *blackbox.dirty=True* exited 0 after * seconds (glob) | |
29 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse |
|
29 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse | |
30 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3' |
|
30 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> alias 'confuse' expands to 'log --limit 3' | |
31 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob) |
|
31 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> confuse exited 0 after * seconds (glob) | |
32 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
|
32 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox | |
33 |
|
33 | |||
34 | incoming change tracking |
|
34 | incoming change tracking | |
35 |
|
35 | |||
36 | create two heads to verify that we only see one change in the log later |
|
36 | create two heads to verify that we only see one change in the log later | |
37 | $ hg commit -ma |
|
37 | $ hg commit -ma | |
38 | $ hg up null |
|
38 | $ hg up null | |
39 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
39 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
40 | $ echo b > b |
|
40 | $ echo b > b | |
41 | $ hg commit -Amb |
|
41 | $ hg commit -Amb | |
42 | adding b |
|
42 | adding b | |
43 | created new head |
|
43 | created new head | |
44 |
|
44 | |||
45 | clone, commit, pull |
|
45 | clone, commit, pull | |
46 | $ hg clone . ../blackboxtest2 |
|
46 | $ hg clone . ../blackboxtest2 | |
47 | updating to branch default |
|
47 | updating to branch default | |
48 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
48 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
49 | $ echo c > c |
|
49 | $ echo c > c | |
50 | $ hg commit -Amc |
|
50 | $ hg commit -Amc | |
51 | adding c |
|
51 | adding c | |
52 | $ cd ../blackboxtest2 |
|
52 | $ cd ../blackboxtest2 | |
53 | $ hg pull |
|
53 | $ hg pull | |
54 | pulling from $TESTTMP/blackboxtest (glob) |
|
54 | pulling from $TESTTMP/blackboxtest (glob) | |
55 | searching for changes |
|
55 | searching for changes | |
56 | adding changesets |
|
56 | adding changesets | |
57 | adding manifests |
|
57 | adding manifests | |
58 | adding file changes |
|
58 | adding file changes | |
59 | added 1 changesets with 1 changes to 1 files |
|
59 | added 1 changesets with 1 changes to 1 files | |
60 | (run 'hg update' to get a working copy) |
|
60 | (run 'hg update' to get a working copy) | |
61 | $ hg blackbox -l 6 |
|
61 | $ hg blackbox -l 6 | |
62 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull |
|
62 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull | |
63 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob) |
|
63 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated served branch cache in * seconds (glob) | |
64 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes |
|
64 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote served branch cache with 1 labels and 2 nodes | |
65 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62 |
|
65 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> 1 incoming changes - new heads: d02f48003e62 | |
66 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob) |
|
66 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pull exited 0 after * seconds (glob) | |
67 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 |
|
67 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 | |
68 |
|
68 | |||
69 | we must not cause a failure if we cannot write to the log |
|
69 | we must not cause a failure if we cannot write to the log | |
70 |
|
70 | |||
71 | $ hg rollback |
|
71 | $ hg rollback | |
72 | repository tip rolled back to revision 1 (undo pull) |
|
72 | repository tip rolled back to revision 1 (undo pull) | |
73 |
|
73 | |||
74 | $ mv .hg/blackbox.log .hg/blackbox.log- |
|
74 | $ mv .hg/blackbox.log .hg/blackbox.log- | |
75 | $ mkdir .hg/blackbox.log |
|
75 | $ mkdir .hg/blackbox.log | |
76 | $ hg --debug incoming |
|
76 | $ hg --debug incoming | |
77 | warning: cannot write to blackbox.log: * (glob) |
|
77 | warning: cannot write to blackbox.log: * (glob) | |
78 | comparing with $TESTTMP/blackboxtest (glob) |
|
78 | comparing with $TESTTMP/blackboxtest (glob) | |
79 | query 1; heads |
|
79 | query 1; heads | |
80 | searching for changes |
|
80 | searching for changes | |
81 | all local heads known remotely |
|
81 | all local heads known remotely | |
82 | changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51 |
|
82 | changeset: 2:d02f48003e62c24e2659d97d30f2a83abe5d5d51 | |
83 | tag: tip |
|
83 | tag: tip | |
84 | phase: draft |
|
84 | phase: draft | |
85 | parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06 |
|
85 | parent: 1:6563da9dcf87b1949716e38ff3e3dfaa3198eb06 | |
86 | parent: -1:0000000000000000000000000000000000000000 |
|
86 | parent: -1:0000000000000000000000000000000000000000 | |
87 | manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892 |
|
87 | manifest: 2:ab9d46b053ebf45b7996f2922b9893ff4b63d892 | |
88 | user: test |
|
88 | user: test | |
89 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
89 | date: Thu Jan 01 00:00:00 1970 +0000 | |
90 | files+: c |
|
90 | files+: c | |
91 | extra: branch=default |
|
91 | extra: branch=default | |
92 | description: |
|
92 | description: | |
93 | c |
|
93 | c | |
94 |
|
94 | |||
95 |
|
95 | |||
96 | $ hg pull |
|
96 | $ hg pull | |
97 | pulling from $TESTTMP/blackboxtest (glob) |
|
97 | pulling from $TESTTMP/blackboxtest (glob) | |
98 | searching for changes |
|
98 | searching for changes | |
99 | adding changesets |
|
99 | adding changesets | |
100 | adding manifests |
|
100 | adding manifests | |
101 | adding file changes |
|
101 | adding file changes | |
102 | added 1 changesets with 1 changes to 1 files |
|
102 | added 1 changesets with 1 changes to 1 files | |
103 | (run 'hg update' to get a working copy) |
|
103 | (run 'hg update' to get a working copy) | |
104 |
|
104 | |||
105 | a failure reading from the log is fatal |
|
105 | a failure reading from the log is fatal | |
106 |
|
106 | |||
107 | $ hg blackbox -l 3 |
|
107 | $ hg blackbox -l 3 | |
108 | abort: *$TESTTMP/blackboxtest2/.hg/blackbox.log* (glob) |
|
108 | abort: *$TESTTMP/blackboxtest2/.hg/blackbox.log* (glob) | |
109 | [255] |
|
109 | [255] | |
110 |
|
110 | |||
111 | $ rmdir .hg/blackbox.log |
|
111 | $ rmdir .hg/blackbox.log | |
112 | $ mv .hg/blackbox.log- .hg/blackbox.log |
|
112 | $ mv .hg/blackbox.log- .hg/blackbox.log | |
113 |
|
113 | |||
114 | backup bundles get logged |
|
114 | backup bundles get logged | |
115 |
|
115 | |||
116 | $ touch d |
|
116 | $ touch d | |
117 | $ hg commit -Amd |
|
117 | $ hg commit -Amd | |
118 | adding d |
|
118 | adding d | |
119 | created new head |
|
119 | created new head | |
120 | $ hg strip tip |
|
120 | $ hg strip tip | |
121 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
121 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
122 | saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob) |
|
122 | saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/*-backup.hg (glob) | |
123 | $ hg blackbox -l 6 |
|
123 | $ hg blackbox -l 6 | |
124 | 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip |
|
124 | 1970/01/01 00:00:00 bob @73f6ee326b27d820b0472f1a825e3a50f3dc489b (5000)> strip tip | |
125 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob) |
|
125 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> saved backup bundle to $TESTTMP/blackboxtest2/.hg/strip-backup/73f6ee326b27-7612e004-backup.hg (glob) | |
126 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob) |
|
126 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> updated base branch cache in * seconds (glob) | |
127 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes |
|
127 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> wrote base branch cache with 1 labels and 2 nodes | |
128 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob) |
|
128 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> strip tip exited 0 after * seconds (glob) | |
129 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 |
|
129 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> blackbox -l 6 | |
130 |
|
130 | |||
131 | extension and python hooks - use the eol extension for a pythonhook |
|
131 | extension and python hooks - use the eol extension for a pythonhook | |
132 |
|
132 | |||
133 | $ echo '[extensions]' >> .hg/hgrc |
|
133 | $ echo '[extensions]' >> .hg/hgrc | |
134 | $ echo 'eol=' >> .hg/hgrc |
|
134 | $ echo 'eol=' >> .hg/hgrc | |
135 | $ echo '[hooks]' >> .hg/hgrc |
|
135 | $ echo '[hooks]' >> .hg/hgrc | |
136 | $ echo 'update = echo hooked' >> .hg/hgrc |
|
136 | $ echo 'update = echo hooked' >> .hg/hgrc | |
137 | $ hg update |
|
137 | $ hg update | |
138 | hooked |
|
138 | hooked | |
139 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
139 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
140 | 1 other heads for branch "default" |
|
140 | 1 other heads for branch "default" | |
141 | $ hg blackbox -l 6 |
|
141 | $ hg blackbox -l 6 | |
142 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> update |
|
142 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> update | |
143 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> writing .hg/cache/tags2-visible with 0 tags |
|
143 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> writing .hg/cache/tags2-visible with 0 tags | |
144 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob) |
|
144 | 1970/01/01 00:00:00 bob @6563da9dcf87b1949716e38ff3e3dfaa3198eb06 (5000)> pythonhook-preupdate: hgext.eol.preupdate finished in * seconds (glob) | |
145 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> exthook-update: echo hooked finished in * seconds (glob) |
|
145 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> exthook-update: echo hooked finished in * seconds (glob) | |
146 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> update exited 0 after * seconds (glob) |
|
146 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> update exited 0 after * seconds (glob) | |
147 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 6 |
|
147 | 1970/01/01 00:00:00 bob @d02f48003e62c24e2659d97d30f2a83abe5d5d51 (5000)> blackbox -l 6 | |
148 |
|
148 | |||
149 | log rotation |
|
149 | log rotation | |
150 |
|
150 | |||
151 | $ echo '[blackbox]' >> .hg/hgrc |
|
151 | $ echo '[blackbox]' >> .hg/hgrc | |
152 | $ echo 'maxsize = 20 b' >> .hg/hgrc |
|
152 | $ echo 'maxsize = 20 b' >> .hg/hgrc | |
153 | $ echo 'maxfiles = 3' >> .hg/hgrc |
|
153 | $ echo 'maxfiles = 3' >> .hg/hgrc | |
154 | $ hg status |
|
154 | $ hg status | |
155 | $ hg status |
|
155 | $ hg status | |
156 | $ hg status |
|
156 | $ hg status | |
157 | $ hg tip -q |
|
157 | $ hg tip -q | |
158 | 2:d02f48003e62 |
|
158 | 2:d02f48003e62 | |
159 | $ ls .hg/blackbox.log* |
|
159 | $ ls .hg/blackbox.log* | |
160 | .hg/blackbox.log |
|
160 | .hg/blackbox.log | |
161 | .hg/blackbox.log.1 |
|
161 | .hg/blackbox.log.1 | |
162 | .hg/blackbox.log.2 |
|
162 | .hg/blackbox.log.2 | |
163 | $ cd .. |
|
163 | $ cd .. | |
164 |
|
164 | |||
165 | $ hg init blackboxtest3 |
|
165 | $ hg init blackboxtest3 | |
166 | $ cd blackboxtest3 |
|
166 | $ cd blackboxtest3 | |
167 | $ hg blackbox |
|
167 | $ hg blackbox | |
168 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox |
|
168 | 1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox | |
169 | $ mv .hg/blackbox.log .hg/blackbox.log- |
|
169 | $ mv .hg/blackbox.log .hg/blackbox.log- | |
170 | $ mkdir .hg/blackbox.log |
|
170 | $ mkdir .hg/blackbox.log | |
171 | $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\ |
|
171 | $ sed -e 's/\(.*test1.*\)/#\1/; s#\(.*commit2.*\)#os.rmdir(".hg/blackbox.log")\ | |
172 | > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\ |
|
172 | > os.rename(".hg/blackbox.log-", ".hg/blackbox.log")\ | |
173 | > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py |
|
173 | > \1#' $TESTDIR/test-dispatch.py > ../test-dispatch.py | |
174 | $ python $TESTDIR/blackbox-readonly-dispatch.py |
|
174 | $ python $TESTDIR/blackbox-readonly-dispatch.py | |
175 | running: add foo |
|
175 | running: add foo | |
176 | result: 0 |
|
176 | result: 0 | |
177 | running: commit -m commit1 -d 2000-01-01 foo |
|
177 | running: commit -m commit1 -d 2000-01-01 foo | |
178 | result: None |
|
178 | result: None | |
179 | running: commit -m commit2 -d 2000-01-02 foo |
|
179 | running: commit -m commit2 -d 2000-01-02 foo | |
180 | result: None |
|
180 | result: None | |
181 | running: log -r 0 |
|
181 | running: log -r 0 | |
182 | changeset: 0:0e4634943879 |
|
182 | changeset: 0:0e4634943879 | |
183 | user: test |
|
183 | user: test | |
184 | date: Sat Jan 01 00:00:00 2000 +0000 |
|
184 | date: Sat Jan 01 00:00:00 2000 +0000 | |
185 | summary: commit1 |
|
185 | summary: commit1 | |
186 |
|
186 | |||
187 | result: None |
|
187 | result: None | |
188 | running: log -r tip |
|
188 | running: log -r tip | |
189 | changeset: 1:45589e459b2e |
|
189 | changeset: 1:45589e459b2e | |
190 | tag: tip |
|
190 | tag: tip | |
191 | user: test |
|
191 | user: test | |
192 | date: Sun Jan 02 00:00:00 2000 +0000 |
|
192 | date: Sun Jan 02 00:00:00 2000 +0000 | |
193 | summary: commit2 |
|
193 | summary: commit2 | |
194 |
|
194 | |||
195 | result: None |
|
195 | result: None | |
196 | $ hg blackbox |
|
196 | $ hg blackbox | |
197 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo |
|
197 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> commit -m commit2 -d 2000-01-02 foo | |
198 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> updated served branch cache in * seconds (glob) |
|
198 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> updated served branch cache in * seconds (glob) | |
199 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> wrote served branch cache with 1 labels and 1 nodes |
|
199 | 1970/01/01 00:00:00 bob @0e46349438790c460c5c9f7546bfcd39b267bbd2 (5000)> wrote served branch cache with 1 labels and 1 nodes | |
200 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob) |
|
200 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> commit -m commit2 -d 2000-01-02 foo exited 0 after * seconds (glob) | |
201 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 |
|
201 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 | |
202 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags |
|
202 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> writing .hg/cache/tags2-visible with 0 tags | |
203 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 exited 0 after * seconds (glob) |
|
203 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r 0 exited 0 after * seconds (glob) | |
204 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip |
|
204 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip | |
205 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip exited 0 after * seconds (glob) |
|
205 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> log -r tip exited 0 after * seconds (glob) | |
206 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> blackbox |
|
206 | 1970/01/01 00:00:00 bob @45589e459b2edfbf3dbde7e01f611d2c1e7453d7 (5000)> blackbox | |
207 |
|
207 | |||
208 | Test log recursion from dirty status check |
|
208 | Test log recursion from dirty status check | |
209 |
|
209 | |||
210 | $ cat > ../r.py <<EOF |
|
210 | $ cat > ../r.py <<EOF | |
211 | > from mercurial import context, error, extensions |
|
211 | > from mercurial import context, error, extensions | |
212 | > x=[False] |
|
212 | > x=[False] | |
213 | > def status(orig, *args, **opts): |
|
213 | > def status(orig, *args, **opts): | |
214 | > args[0].repo().ui.log("broken", "recursion?") |
|
214 | > args[0].repo().ui.log("broken", "recursion?") | |
215 | > return orig(*args, **opts) |
|
215 | > return orig(*args, **opts) | |
216 | > def reposetup(ui, repo): |
|
216 | > def reposetup(ui, repo): | |
217 | > extensions.wrapfunction(context.basectx, 'status', status) |
|
217 | > extensions.wrapfunction(context.basectx, 'status', status) | |
218 | > EOF |
|
218 | > EOF | |
219 | $ hg id --config extensions.x=../r.py --config blackbox.dirty=True |
|
219 | $ hg id --config extensions.x=../r.py --config blackbox.dirty=True | |
220 | 45589e459b2e tip |
|
220 | 45589e459b2e tip | |
221 |
|
221 | |||
222 | cleanup |
|
222 | cleanup | |
223 | $ cd .. |
|
223 | $ cd .. |
@@ -1,178 +1,178 b'' | |||||
1 |
|
1 | |||
2 | $ cat << EOF > buggylocking.py |
|
2 | $ cat << EOF > buggylocking.py | |
3 | > """A small extension that tests our developer warnings |
|
3 | > """A small extension that tests our developer warnings | |
4 | > """ |
|
4 | > """ | |
5 | > |
|
5 | > | |
6 | > from mercurial import cmdutil, repair, revset |
|
6 | > from mercurial import cmdutil, repair, revset | |
7 | > |
|
7 | > | |
8 | > cmdtable = {} |
|
8 | > cmdtable = {} | |
9 | > command = cmdutil.command(cmdtable) |
|
9 | > command = cmdutil.command(cmdtable) | |
10 | > |
|
10 | > | |
11 | > @command('buggylocking', [], '') |
|
11 | > @command('buggylocking', [], '') | |
12 | > def buggylocking(ui, repo): |
|
12 | > def buggylocking(ui, repo): | |
13 | > lo = repo.lock() |
|
13 | > lo = repo.lock() | |
14 | > wl = repo.wlock() |
|
14 | > wl = repo.wlock() | |
15 | > wl.release() |
|
15 | > wl.release() | |
16 | > lo.release() |
|
16 | > lo.release() | |
17 | > |
|
17 | > | |
18 | > @command('buggytransaction', [], '') |
|
18 | > @command('buggytransaction', [], '') | |
19 | > def buggylocking(ui, repo): |
|
19 | > def buggylocking(ui, repo): | |
20 | > tr = repo.transaction('buggy') |
|
20 | > tr = repo.transaction('buggy') | |
21 | > # make sure we rollback the transaction as we don't want to rely on the__del__ |
|
21 | > # make sure we rollback the transaction as we don't want to rely on the__del__ | |
22 | > tr.release() |
|
22 | > tr.release() | |
23 | > |
|
23 | > | |
24 | > @command('properlocking', [], '') |
|
24 | > @command('properlocking', [], '') | |
25 | > def properlocking(ui, repo): |
|
25 | > def properlocking(ui, repo): | |
26 | > """check that reentrance is fine""" |
|
26 | > """check that reentrance is fine""" | |
27 | > wl = repo.wlock() |
|
27 | > wl = repo.wlock() | |
28 | > lo = repo.lock() |
|
28 | > lo = repo.lock() | |
29 | > tr = repo.transaction('proper') |
|
29 | > tr = repo.transaction('proper') | |
30 | > tr2 = repo.transaction('proper') |
|
30 | > tr2 = repo.transaction('proper') | |
31 | > lo2 = repo.lock() |
|
31 | > lo2 = repo.lock() | |
32 | > wl2 = repo.wlock() |
|
32 | > wl2 = repo.wlock() | |
33 | > wl2.release() |
|
33 | > wl2.release() | |
34 | > lo2.release() |
|
34 | > lo2.release() | |
35 | > tr2.close() |
|
35 | > tr2.close() | |
36 | > tr.close() |
|
36 | > tr.close() | |
37 | > lo.release() |
|
37 | > lo.release() | |
38 | > wl.release() |
|
38 | > wl.release() | |
39 | > |
|
39 | > | |
40 | > @command('nowaitlocking', [], '') |
|
40 | > @command('nowaitlocking', [], '') | |
41 | > def nowaitlocking(ui, repo): |
|
41 | > def nowaitlocking(ui, repo): | |
42 | > lo = repo.lock() |
|
42 | > lo = repo.lock() | |
43 | > wl = repo.wlock(wait=False) |
|
43 | > wl = repo.wlock(wait=False) | |
44 | > wl.release() |
|
44 | > wl.release() | |
45 | > lo.release() |
|
45 | > lo.release() | |
46 | > |
|
46 | > | |
47 | > @command('stripintr', [], '') |
|
47 | > @command('stripintr', [], '') | |
48 | > def stripintr(ui, repo): |
|
48 | > def stripintr(ui, repo): | |
49 | > lo = repo.lock() |
|
49 | > lo = repo.lock() | |
50 | > tr = repo.transaction('foobar') |
|
50 | > tr = repo.transaction('foobar') | |
51 | > try: |
|
51 | > try: | |
52 | > repair.strip(repo.ui, repo, [repo['.'].node()]) |
|
52 | > repair.strip(repo.ui, repo, [repo['.'].node()]) | |
53 | > finally: |
|
53 | > finally: | |
54 | > lo.release() |
|
54 | > lo.release() | |
55 | > @command('oldanddeprecated', [], '') |
|
55 | > @command('oldanddeprecated', [], '') | |
56 | > def oldanddeprecated(ui, repo): |
|
56 | > def oldanddeprecated(ui, repo): | |
57 | > """test deprecation warning API""" |
|
57 | > """test deprecation warning API""" | |
58 | > def foobar(ui): |
|
58 | > def foobar(ui): | |
59 | > ui.deprecwarn('foorbar is deprecated, go shopping', '42.1337') |
|
59 | > ui.deprecwarn('foorbar is deprecated, go shopping', '42.1337') | |
60 | > foobar(ui) |
|
60 | > foobar(ui) | |
61 | > |
|
61 | > | |
62 | > def oldstylerevset(repo, subset, x): |
|
62 | > def oldstylerevset(repo, subset, x): | |
63 | > return list(subset) |
|
63 | > return list(subset) | |
64 | > |
|
64 | > | |
65 | > revset.symbols['oldstyle'] = oldstylerevset |
|
65 | > revset.symbols['oldstyle'] = oldstylerevset | |
66 | > EOF |
|
66 | > EOF | |
67 |
|
67 | |||
68 | $ cat << EOF >> $HGRCPATH |
|
68 | $ cat << EOF >> $HGRCPATH | |
69 | > [extensions] |
|
69 | > [extensions] | |
70 | > buggylocking=$TESTTMP/buggylocking.py |
|
70 | > buggylocking=$TESTTMP/buggylocking.py | |
71 | > mock=$TESTDIR/mockblackbox.py |
|
71 | > mock=$TESTDIR/mockblackbox.py | |
72 | > blackbox= |
|
72 | > blackbox= | |
73 | > [devel] |
|
73 | > [devel] | |
74 | > all-warnings=1 |
|
74 | > all-warnings=1 | |
75 | > EOF |
|
75 | > EOF | |
76 |
|
76 | |||
77 | $ hg init lock-checker |
|
77 | $ hg init lock-checker | |
78 | $ cd lock-checker |
|
78 | $ cd lock-checker | |
79 | $ hg buggylocking |
|
79 | $ hg buggylocking | |
80 | devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) |
|
80 | devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | |
81 | $ cat << EOF >> $HGRCPATH |
|
81 | $ cat << EOF >> $HGRCPATH | |
82 | > [devel] |
|
82 | > [devel] | |
83 | > all=0 |
|
83 | > all=0 | |
84 | > check-locks=1 |
|
84 | > check-locks=1 | |
85 | > EOF |
|
85 | > EOF | |
86 | $ hg buggylocking |
|
86 | $ hg buggylocking | |
87 | devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) |
|
87 | devel-warn: "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:* (buggylocking) (glob) | |
88 | $ hg buggylocking --traceback |
|
88 | $ hg buggylocking --traceback | |
89 | devel-warn: "wlock" acquired after "lock" at: |
|
89 | devel-warn: "wlock" acquired after "lock" at: | |
90 | */hg:* in * (glob) |
|
90 | */hg:* in * (glob) | |
91 | */mercurial/dispatch.py:* in run (glob) |
|
91 | */mercurial/dispatch.py:* in run (glob) | |
92 | */mercurial/dispatch.py:* in dispatch (glob) |
|
92 | */mercurial/dispatch.py:* in dispatch (glob) | |
93 | */mercurial/dispatch.py:* in _runcatch (glob) |
|
93 | */mercurial/dispatch.py:* in _runcatch (glob) | |
94 | */mercurial/dispatch.py:* in callcatch (glob) |
|
94 | */mercurial/dispatch.py:* in callcatch (glob) | |
95 | */mercurial/scmutil.py* in callcatch (glob) |
|
95 | */mercurial/scmutil.py* in callcatch (glob) | |
96 | */mercurial/dispatch.py:* in _runcatchfunc (glob) |
|
96 | */mercurial/dispatch.py:* in _runcatchfunc (glob) | |
97 | */mercurial/dispatch.py:* in _dispatch (glob) |
|
97 | */mercurial/dispatch.py:* in _dispatch (glob) | |
98 | */mercurial/dispatch.py:* in runcommand (glob) |
|
98 | */mercurial/dispatch.py:* in runcommand (glob) | |
99 | */mercurial/dispatch.py:* in _runcommand (glob) |
|
99 | */mercurial/dispatch.py:* in _runcommand (glob) | |
100 | */mercurial/dispatch.py:* in <lambda> (glob) |
|
100 | */mercurial/dispatch.py:* in <lambda> (glob) | |
101 | */mercurial/util.py:* in check (glob) |
|
101 | */mercurial/util.py:* in check (glob) | |
102 | $TESTTMP/buggylocking.py:* in buggylocking (glob) |
|
102 | $TESTTMP/buggylocking.py:* in buggylocking (glob) | |
103 | $ hg properlocking |
|
103 | $ hg properlocking | |
104 | $ hg nowaitlocking |
|
104 | $ hg nowaitlocking | |
105 |
|
105 | |||
106 | $ echo a > a |
|
106 | $ echo a > a | |
107 | $ hg add a |
|
107 | $ hg add a | |
108 | $ hg commit -m a |
|
108 | $ hg commit -m a | |
109 | $ hg stripintr 2>&1 | egrep -v '^(\*\*| )' |
|
109 | $ hg stripintr 2>&1 | egrep -v '^(\*\*| )' | |
110 | saved backup bundle to $TESTTMP/lock-checker/.hg/strip-backup/*-backup.hg (glob) |
|
110 | saved backup bundle to $TESTTMP/lock-checker/.hg/strip-backup/*-backup.hg (glob) | |
111 | Traceback (most recent call last): |
|
111 | Traceback (most recent call last): | |
112 | mercurial.error.ProgrammingError: cannot strip from inside a transaction |
|
112 | mercurial.error.ProgrammingError: cannot strip from inside a transaction | |
113 |
|
113 | |||
114 | $ hg log -r "oldstyle()" -T '{rev}\n' |
|
114 | $ hg log -r "oldstyle()" -T '{rev}\n' | |
115 | devel-warn: revset "oldstyle" uses list instead of smartset |
|
115 | devel-warn: revset "oldstyle" uses list instead of smartset | |
116 | (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) |
|
116 | (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) | |
117 | 0 |
|
117 | 0 | |
118 | $ hg oldanddeprecated |
|
118 | $ hg oldanddeprecated | |
119 | devel-warn: foorbar is deprecated, go shopping |
|
119 | devel-warn: foorbar is deprecated, go shopping | |
120 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) |
|
120 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) | |
121 |
|
121 | |||
122 | $ hg oldanddeprecated --traceback |
|
122 | $ hg oldanddeprecated --traceback | |
123 | devel-warn: foorbar is deprecated, go shopping |
|
123 | devel-warn: foorbar is deprecated, go shopping | |
124 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: |
|
124 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: | |
125 | */hg:* in <module> (glob) |
|
125 | */hg:* in <module> (glob) | |
126 | */mercurial/dispatch.py:* in run (glob) |
|
126 | */mercurial/dispatch.py:* in run (glob) | |
127 | */mercurial/dispatch.py:* in dispatch (glob) |
|
127 | */mercurial/dispatch.py:* in dispatch (glob) | |
128 | */mercurial/dispatch.py:* in _runcatch (glob) |
|
128 | */mercurial/dispatch.py:* in _runcatch (glob) | |
129 | */mercurial/dispatch.py:* in callcatch (glob) |
|
129 | */mercurial/dispatch.py:* in callcatch (glob) | |
130 | */mercurial/scmutil.py* in callcatch (glob) |
|
130 | */mercurial/scmutil.py* in callcatch (glob) | |
131 | */mercurial/dispatch.py:* in _runcatchfunc (glob) |
|
131 | */mercurial/dispatch.py:* in _runcatchfunc (glob) | |
132 | */mercurial/dispatch.py:* in _dispatch (glob) |
|
132 | */mercurial/dispatch.py:* in _dispatch (glob) | |
133 | */mercurial/dispatch.py:* in runcommand (glob) |
|
133 | */mercurial/dispatch.py:* in runcommand (glob) | |
134 | */mercurial/dispatch.py:* in _runcommand (glob) |
|
134 | */mercurial/dispatch.py:* in _runcommand (glob) | |
135 | */mercurial/dispatch.py:* in <lambda> (glob) |
|
135 | */mercurial/dispatch.py:* in <lambda> (glob) | |
136 | */mercurial/util.py:* in check (glob) |
|
136 | */mercurial/util.py:* in check (glob) | |
137 | $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) |
|
137 | $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) | |
138 | $ hg blackbox -l 9 |
|
138 | $ hg blackbox -l 9 | |
139 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: revset "oldstyle" uses list instead of smartset |
|
139 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: revset "oldstyle" uses list instead of smartset | |
140 | (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) |
|
140 | (compatibility will be dropped after Mercurial-3.9, update your code.) at: *mercurial/revset.py:* (mfunc) (glob) | |
141 |
1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r |
|
141 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> log -r *oldstyle()* -T *{rev}\n* exited 0 after * seconds (glob) | |
142 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated |
|
142 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated | |
143 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping |
|
143 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping | |
144 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) |
|
144 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: $TESTTMP/buggylocking.py:* (oldanddeprecated) (glob) | |
145 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob) |
|
145 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated exited 0 after * seconds (glob) | |
146 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback |
|
146 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback | |
147 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping |
|
147 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> devel-warn: foorbar is deprecated, go shopping | |
148 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: |
|
148 | (compatibility will be dropped after Mercurial-42.1337, update your code.) at: | |
149 | */hg:* in <module> (glob) |
|
149 | */hg:* in <module> (glob) | |
150 | */mercurial/dispatch.py:* in run (glob) |
|
150 | */mercurial/dispatch.py:* in run (glob) | |
151 | */mercurial/dispatch.py:* in dispatch (glob) |
|
151 | */mercurial/dispatch.py:* in dispatch (glob) | |
152 | */mercurial/dispatch.py:* in _runcatch (glob) |
|
152 | */mercurial/dispatch.py:* in _runcatch (glob) | |
153 | */mercurial/dispatch.py:* in callcatch (glob) |
|
153 | */mercurial/dispatch.py:* in callcatch (glob) | |
154 | */mercurial/scmutil.py* in callcatch (glob) |
|
154 | */mercurial/scmutil.py* in callcatch (glob) | |
155 | */mercurial/dispatch.py:* in _runcatchfunc (glob) |
|
155 | */mercurial/dispatch.py:* in _runcatchfunc (glob) | |
156 | */mercurial/dispatch.py:* in _dispatch (glob) |
|
156 | */mercurial/dispatch.py:* in _dispatch (glob) | |
157 | */mercurial/dispatch.py:* in runcommand (glob) |
|
157 | */mercurial/dispatch.py:* in runcommand (glob) | |
158 | */mercurial/dispatch.py:* in _runcommand (glob) |
|
158 | */mercurial/dispatch.py:* in _runcommand (glob) | |
159 | */mercurial/dispatch.py:* in <lambda> (glob) |
|
159 | */mercurial/dispatch.py:* in <lambda> (glob) | |
160 | */mercurial/util.py:* in check (glob) |
|
160 | */mercurial/util.py:* in check (glob) | |
161 | $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) |
|
161 | $TESTTMP/buggylocking.py:* in oldanddeprecated (glob) | |
162 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob) |
|
162 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> oldanddeprecated --traceback exited 0 after * seconds (glob) | |
163 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9 |
|
163 | 1970/01/01 00:00:00 bob @cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b (5000)> blackbox -l 9 | |
164 |
|
164 | |||
165 | Test programming error failure: |
|
165 | Test programming error failure: | |
166 |
|
166 | |||
167 | $ hg buggytransaction 2>&1 | egrep -v '^ ' |
|
167 | $ hg buggytransaction 2>&1 | egrep -v '^ ' | |
168 | ** Unknown exception encountered with possibly-broken third-party extension buggylocking |
|
168 | ** Unknown exception encountered with possibly-broken third-party extension buggylocking | |
169 | ** which supports versions unknown of Mercurial. |
|
169 | ** which supports versions unknown of Mercurial. | |
170 | ** Please disable buggylocking and try your action again. |
|
170 | ** Please disable buggylocking and try your action again. | |
171 | ** If that fixes the bug please report it to the extension author. |
|
171 | ** If that fixes the bug please report it to the extension author. | |
172 | ** Python * (glob) |
|
172 | ** Python * (glob) | |
173 | ** Mercurial Distributed SCM (*) (glob) |
|
173 | ** Mercurial Distributed SCM (*) (glob) | |
174 | ** Extensions loaded: * (glob) |
|
174 | ** Extensions loaded: * (glob) | |
175 | Traceback (most recent call last): |
|
175 | Traceback (most recent call last): | |
176 | mercurial.error.ProgrammingError: transaction requires locking |
|
176 | mercurial.error.ProgrammingError: transaction requires locking | |
177 |
|
177 | |||
178 | $ cd .. |
|
178 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now