tests/test-rename.out
author Robin Farine <robin.farine@terminus.org>
Tue, 28 Feb 2006 23:47:40 -0800
changeset 1822 64df4220b349
parent 1747 91c56c427171
child 1976 df8416346bb7
permissions -rw-r--r--
copy/rename to a removed destination file When the destination of a copy or rename operation has been marked for removal, we need to restore it before we overwrite it with the new content. This also handles the case of idempotent renames, i.e. hg rename "a" "b" hg rename "b" "a"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     1
# rename a single file
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     2
A d2/c
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     3
R d1/d11/a1
1565
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
     4
# rename --after a single file
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
     5
A d2/c
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
     6
R d1/d11/a1
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     7
# move a single file to an existing directory
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     8
A d2/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
     9
R d1/d11/a1
1565
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    10
# move --after a single file to an existing directory
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    11
A d2/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    12
R d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    13
# rename a file using a relative path
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    14
A d1/d11/e
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    15
R d2/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    16
# rename --after a file using a relative path
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    17
A d1/d11/e
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    18
R d2/b
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    19
# rename directory d1 as d3
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    20
copying d1/a to d3/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    21
copying d1/b to d3/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    22
copying d1/ba to d3/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    23
copying d1/d11/a1 to d3/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    24
removing d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    25
removing d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    26
removing d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    27
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    28
A d3/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    29
A d3/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    30
A d3/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    31
A d3/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    32
R d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    33
R d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    34
R d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    35
R d1/d11/a1
1565
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    36
# rename --after directory d1 as d3
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    37
copying d1/a to d3/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    38
copying d1/b to d3/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    39
copying d1/ba to d3/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    40
copying d1/d11/a1 to d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    41
removing d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    42
removing d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    43
removing d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    44
removing d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    45
A d3/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    46
A d3/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    47
A d3/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    48
A d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    49
R d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    50
R d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    51
R d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    52
R d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    53
# move a directory using a relative path
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    54
copying ../d1/d11/a1 to d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    55
removing ../d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    56
A d2/d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    57
R d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    58
# move --after a directory using a relative path
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    59
copying ../d1/d11/a1 to d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    60
removing ../d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    61
A d2/d3/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    62
R d1/d11/a1
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    63
# move directory d1/d11 to an existing directory d2 (removes empty d1)
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    64
copying d1/d11/a1 to d2/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    65
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    66
A d2/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    67
R d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    68
# move directories d1 and d2 to a new directory d3
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    69
copying d1/a to d3/d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    70
copying d1/b to d3/d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    71
copying d1/ba to d3/d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    72
copying d1/d11/a1 to d3/d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    73
copying d2/b to d3/d2/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    74
removing d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    75
removing d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    76
removing d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    77
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    78
removing d2/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    79
A d3/d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    80
A d3/d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    81
A d3/d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    82
A d3/d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    83
A d3/d2/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    84
R d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    85
R d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    86
R d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    87
R d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
    88
R d2/b
1565
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    89
# move --after directories d1 and d2 to a new directory d3
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    90
copying d1/a to d3/d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    91
copying d1/b to d3/d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    92
copying d1/ba to d3/d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    93
copying d1/d11/a1 to d3/d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    94
copying d2/b to d3/d2/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    95
removing d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    96
removing d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    97
removing d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    98
removing d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
    99
removing d2/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   100
A d3/d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   101
A d3/d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   102
A d3/d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   103
A d3/d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   104
A d3/d2/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   105
R d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   106
R d1/b
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   107
R d1/ba
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   108
R d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   109
R d2/b
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   110
# move everything under directory d1 to existing directory d2, do not
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   111
# overwrite existing files (d2/b)
1513
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   112
d2/b: not overwriting - file exists
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   113
copying d1/d11/a1 to d2/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   114
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   115
A d2/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   116
A d2/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   117
A d2/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   118
R d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   119
R d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   120
R d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   121
1c1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   122
< d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   123
---
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   124
> d2/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   125
# attempt to move potentially more than one file into a non-existent
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   126
# directory
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   127
abort: with multiple sources, destination must be an existing directory
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   128
# move every file under d1 to d2/d21 (glob)
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   129
copying d1/a to d2/d21/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   130
copying d1/b to d2/d21/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   131
copying d1/ba to d2/d21/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   132
copying d1/d11/a1 to d2/d21/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   133
removing d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   134
removing d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   135
removing d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   136
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   137
A d2/d21/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   138
A d2/d21/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   139
A d2/d21/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   140
A d2/d21/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   141
R d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   142
R d1/b
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   143
R d1/ba
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   144
R d1/d11/a1
1565
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   145
# move --after some files under d1 to d2/d21 (glob)
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   146
copying d1/a to d2/d21/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   147
copying d1/d11/a1 to d2/d21/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   148
removing d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   149
removing d1/d11/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   150
A d2/d21/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   151
A d2/d21/a1
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   152
R d1/a
4bcbc126b80b fix rename --after
Robin Farine <robin.farine@terminus.org>
parents: 1514
diff changeset
   153
R d1/d11/a1
1512
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   154
# move every file under d1 starting with an 'a' to d2/d21 (regexp)
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   155
copying d1/a to d2/d21/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   156
copying d1/d11/a1 to d2/d21/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   157
removing d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   158
removing d1/d11/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   159
A d2/d21/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   160
A d2/d21/a1
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   161
R d1/a
53ad6ee6ede4 generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff changeset
   162
R d1/d11/a1
1513
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   163
# attempt to overwrite an existing file
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   164
d1/ca: not overwriting - file exists
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   165
? d1/ca
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   166
# forced overwrite of an existing file
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   167
A d1/ca
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   168
R d1/ba
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   169
# replace a symlink with a file
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   170
A d1/ca
5c3b93b244aa copy & rename don't overwrite unless --force is specified
Robin Farine <robin.farine@terminus.org>
parents: 1512
diff changeset
   171
R d1/ba
1514
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   172
# do not copy more than one source file to the same destination file
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   173
copying d1/d11/a1 to d3/d11/a1
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   174
d3/b: not overwriting - d2/b collides with d1/b
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   175
removing d1/d11/a1
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   176
A d3/a
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   177
A d3/b
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   178
A d3/ba
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   179
A d3/d11/a1
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   180
R d1/a
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   181
R d1/b
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   182
R d1/ba
faf46d810a85 avoid to copy more than one file to the same destination file
Robin Farine <robin.farine@terminus.org>
parents: 1513
diff changeset
   183
R d1/d11/a1
1633
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   184
# move a whole subtree with "hg rename ."
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   185
copying a to ../d3/d1/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   186
copying b to ../d3/d1/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   187
copying ba to ../d3/d1/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   188
copying d11/a1 to ../d3/d1/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   189
removing a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   190
removing b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   191
removing ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   192
removing d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   193
A d3/d1/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   194
A d3/d1/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   195
A d3/d1/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   196
A d3/d1/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   197
R d1/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   198
R d1/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   199
R d1/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   200
R d1/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   201
# move a whole subtree with "hg rename --after ."
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   202
copying a to ../d3/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   203
copying b to ../d3/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   204
copying ba to ../d3/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   205
copying d11/a1 to ../d3/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   206
removing a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   207
removing b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   208
removing ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   209
removing d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   210
A d3/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   211
A d3/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   212
A d3/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   213
A d3/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   214
R d1/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   215
R d1/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   216
R d1/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   217
R d1/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   218
# move the parent tree with "hg rename .."
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   219
copying ../a to ../../d3/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   220
copying ../b to ../../d3/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   221
copying ../ba to ../../d3/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   222
copying a1 to ../../d3/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   223
removing ../a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   224
removing ../b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   225
removing ../ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   226
removing a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   227
A d3/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   228
A d3/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   229
A d3/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   230
A d3/d11/a1
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   231
R d1/a
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   232
R d1/b
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   233
R d1/ba
94c179a92f4a copy/rename '.' or '..' correctly
Robin Farine <robin.farine@terminus.org>
parents: 1565
diff changeset
   234
R d1/d11/a1
1634
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   235
# skip removed files
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   236
copying d1/a to d3/a
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   237
copying d1/ba to d3/ba
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   238
copying d1/d11/a1 to d3/d11/a1
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   239
removing d1/a
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   240
removing d1/ba
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   241
removing d1/d11/a1
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   242
A d3/a
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   243
A d3/ba
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   244
A d3/d11/a1
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   245
R d1/a
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   246
R d1/b
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   247
R d1/ba
f49f602fae92 copy & rename can ignore removed source files
Robin Farine <robin.farine@terminus.org>
parents: 1633
diff changeset
   248
R d1/d11/a1
1747
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   249
# transitive rename
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   250
A d1/bc
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   251
R d1/b
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   252
# transitive rename --after
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   253
A d1/bc
91c56c427171 transitive copy/rename
Robin Farine <robin.farine@terminus.org>
parents: 1634
diff changeset
   254
R d1/b
1822
64df4220b349 copy/rename to a removed destination file
Robin Farine <robin.farine@terminus.org>
parents: 1747
diff changeset
   255
# idempotent renames (d1/b -> d1/bb followed by d1/bb -> d1/b)
64df4220b349 copy/rename to a removed destination file
Robin Farine <robin.farine@terminus.org>
parents: 1747
diff changeset
   256
M d1/b