Show More
@@ -168,10 +168,14 b' def clone(ui, source, dest=None, pull=Fa' | |||||
168 | copy = False |
|
168 | copy = False | |
169 |
|
169 | |||
170 | if copy: |
|
170 | if copy: | |
|
171 | hgdir = os.path.realpath(os.path.join(dest, ".hg")) | |||
171 | if not os.path.exists(dest): |
|
172 | if not os.path.exists(dest): | |
172 | os.mkdir(dest) |
|
173 | os.mkdir(dest) | |
|
174 | else: | |||
|
175 | # only clean up directories we create ourselves | |||
|
176 | dir_cleanup.dir_ = hgdir | |||
173 | try: |
|
177 | try: | |
174 | dest_path = os.path.realpath(os.path.join(dest, ".hg")) |
|
178 | dest_path = hgdir | |
175 | os.mkdir(dest_path) |
|
179 | os.mkdir(dest_path) | |
176 | except OSError, inst: |
|
180 | except OSError, inst: | |
177 | if inst.errno == errno.EEXIST: |
|
181 | if inst.errno == errno.EEXIST: |
@@ -49,4 +49,17 b' echo stuff > a/a' | |||||
49 | hg clone q a |
|
49 | hg clone q a | |
50 | echo $? |
|
50 | echo $? | |
51 |
|
51 | |||
|
52 | # leave existing directory in place after clone failure | |||
|
53 | hg init c | |||
|
54 | cd c | |||
|
55 | echo c > c | |||
|
56 | hg commit -A -m test -d '0 0' | |||
|
57 | chmod -rx .hg/store/data | |||
|
58 | cd .. | |||
|
59 | mkdir d | |||
|
60 | hg clone c d 2> err | |||
|
61 | echo $? | |||
|
62 | test -d d && echo "dir is still here" || echo "dir is gone" | |||
|
63 | test -d d/.hg && echo "repo is still here" || echo "repo is gone" | |||
|
64 | ||||
52 | true |
|
65 | true |
General Comments 0
You need to be logged in to leave comments.
Login now