tests/test-clone-failure.t
author Matt Mackall <mpm@selenic.com>
Tue, 01 Feb 2011 17:29:38 -0600
branchstable
changeset 13334 2b2155623ee2
parent 12411 5d3c28a339cb
child 13080 bdb73eede5fb
permissions -rw-r--r--
merge with crew
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
     6
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
     7
No remote source
550
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
     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
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
    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
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
    23
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    24
  $ mkdir b
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 init
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    27
  $ hg clone . ../a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    28
  abort: Permission denied: ../a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    29
  [255]
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    30
  $ cd ..
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    31
  $ chmod 700 a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    32
  $ rm -r a b
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    33
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    34
Source of wrong type
550
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
    35
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    36
  $ if "$TESTDIR/hghave" -q fifo; then
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    37
  >     mkfifo a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    38
  >     hg clone a b
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    39
  >     rm a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    40
  > else
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    41
  >     echo "abort: repository a not found!"
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    42
  >     echo 255
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    43
  > fi
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    44
  abort: repository a not found!
550
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
    45
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    46
Default destination, same directory
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    47
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    48
  $ mkdir q
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    49
  $ cd q
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    50
  $ hg init
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    51
  $ cd ..
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    52
  $ hg clone q
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    53
  destination directory: q
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    54
  abort: destination 'q' is not empty
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    55
  [255]
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    56
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    57
destination directory not empty
550
96ff7dae94f7 [PATCH] Tests for clone command
mpm@selenic.com
parents:
diff changeset
    58
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    59
  $ mkdir a 
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    60
  $ echo stuff > a/a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    61
  $ hg clone q a
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    62
  abort: destination 'a' is not empty
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    63
  [255]
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    64
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    65
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
    66
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    67
  $ hg init c
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    68
  $ cd c
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    69
  $ echo c > c
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    70
  $ hg commit -A -m test
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    71
  adding c
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    72
  $ chmod -rx .hg/store/data
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    73
  $ cd ..
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    74
  $ mkdir d
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    75
  $ hg clone c d 2> err
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    76
  [255]
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    77
  $ test -d d
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    78
  $ test -d d/.hg
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    79
  [1]
7935
39566bb99a9c on clone failure, only remove directories we created
Steve Borho <steve@borho.org>
parents: 7927
diff changeset
    80
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    81
reenable perm to allow deletion
9329
567648eab1dd test-clone-failure: reenable perm to allow deletion
Simon Heimberg <simohe@besonet.ch>
parents: 8167
diff changeset
    82
12411
5d3c28a339cb tests: unify test-clone-failure
Matt Mackall <mpm@selenic.com>
parents: 9329
diff changeset
    83
  $ chmod +rx c/.hg/store/data