Mercurial > hg
annotate tests/test-clone-failure.t @ 14732:e9ed3506f066 stable
backout of d04ba50e104d: allow to qpop/push with a dirty working copy
The new behavior was breaking existing tools that relied on a sequence such as
this:
1) start with a dirty working copy
2) qimport some patch
3) try to qpush it
4) old behavior would fail at this point due to outstanding changes.
(new behavior would only fail if the outstanding changes and the patches
changes intersect)
5) innocent user qrefreshes, gets his local changes in the imported patch
It's worth considering if we can move this behavior to -f in the future.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 24 Jun 2011 23:25:42 +0300 |
parents | ffb5c09ba822 |
children | a1914d214579 |
rev | line source |
---|---|
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
1 No local source |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
2 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
3 $ hg clone a b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
4 abort: repository a not found! |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
5 [255] |
550 | 6 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
7 No remote source |
550 | 8 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
9 $ hg clone http://127.0.0.1:3121/a b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
10 abort: error: Connection refused |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
11 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
12 $ rm -rf b # work around bug with http clone |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
13 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
14 Inaccessible source |
550 | 15 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
16 $ mkdir a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
17 $ chmod 000 a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
18 $ hg clone a b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
19 abort: repository a not found! |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
20 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
21 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
22 Inaccessible destination |
550 | 23 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13080
diff
changeset
|
24 $ hg init b |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
25 $ cd b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
26 $ hg clone . ../a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
27 abort: Permission denied: ../a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
28 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
29 $ cd .. |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
30 $ chmod 700 a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
31 $ rm -r a b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
32 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
33 Source of wrong type |
550 | 34 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
35 $ if "$TESTDIR/hghave" -q fifo; then |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
36 > mkfifo a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
37 > hg clone a b |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
38 > rm a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
39 > else |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
40 > echo "abort: repository a not found!" |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
41 > fi |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
42 abort: repository a not found! |
550 | 43 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
44 Default destination, same directory |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
45 |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13080
diff
changeset
|
46 $ hg init q |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
47 $ hg clone q |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
48 destination directory: q |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
49 abort: destination 'q' is not empty |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
50 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
51 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
52 destination directory not empty |
550 | 53 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
54 $ mkdir a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
55 $ echo stuff > a/a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
56 $ hg clone q a |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
57 abort: destination 'a' is not empty |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
58 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
59 |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
60 leave existing directory in place after clone failure |
7927
a218ba5f60df
allow clone into existing but empty directories
Steve Borho <steve@borho.org>
parents:
5071
diff
changeset
|
61 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
62 $ hg init c |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
63 $ cd c |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
64 $ echo c > c |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
65 $ hg commit -A -m test |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
66 adding c |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
67 $ chmod -rx .hg/store/data |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
68 $ cd .. |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
69 $ mkdir d |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
70 $ hg clone c d 2> err |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
71 [255] |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
72 $ test -d d |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
73 $ test -d d/.hg |
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
74 [1] |
7935
39566bb99a9c
on clone failure, only remove directories we created
Steve Borho <steve@borho.org>
parents:
7927
diff
changeset
|
75 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
76 reenable perm to allow deletion |
9329
567648eab1dd
test-clone-failure: reenable perm to allow deletion
Simon Heimberg <simohe@besonet.ch>
parents:
8167
diff
changeset
|
77 |
12411
5d3c28a339cb
tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents:
9329
diff
changeset
|
78 $ chmod +rx c/.hg/store/data |