tests/test-rename-dir-merge.t
author Bryan O'Sullivan <bryano@fb.com>
Mon, 11 Feb 2013 16:15:12 -0800
changeset 18668 4034b8d551b1
parent 18634 4b5d37ca3c11
child 19095 5cc71484ee9c
permissions -rw-r--r--
scmutil: create directories in a race-safe way during update With the new parallel update code, it is possible for multiple workers to try to create a hierarchy of directories at the same time. This is hard to trigger in general, but most likely during initial checkout. To deal with these races, we introduce a new ensuredirs function whose contract is to ensure that a directory hierarchy exists - it will ignore a failure that implies that the desired directory already exists.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 12114
diff changeset
     1
  $ hg init t
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     2
  $ cd t
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     3
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     4
  $ mkdir a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     5
  $ echo foo > a/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     6
  $ echo bar > a/b
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     7
  $ hg ci -Am "0"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     8
  adding a/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
     9
  adding a/b
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    11
  $ hg co -C 0
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    12
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    13
  $ hg mv a b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    14
  moving a/a to b/a (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    15
  moving a/b to b/b (glob)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    16
  $ hg ci -m "1 mv a/ b/"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    17
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    18
  $ hg co -C 0
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    19
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    20
  $ echo baz > a/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    21
  $ echo quux > a/d
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    22
  $ hg add a/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    23
  $ hg ci -m "2 add a/c"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    24
  created new head
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    26
  $ hg merge --debug 1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    27
    searching for copies back to rev 1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    28
    unmatched files in local:
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    29
     a/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    30
    unmatched files in other:
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    31
     b/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    32
     b/b
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16094
diff changeset
    33
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
18135
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    34
     src: 'a/a' -> dst: 'b/a' 
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    35
     src: 'a/b' -> dst: 'b/b' 
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    36
    checking for directory renames
18135
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    37
     discovered dir src: 'a/' -> dst: 'b/'
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    38
     pending file src: 'a/c' -> dst: 'b/c'
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    39
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18360
diff changeset
    40
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    41
   ancestor: f9b20c0d4c51, local: ce36d17b18fb+, remote: 397f8b00a740
18360
760c0d67ce5e merge: process files in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18135
diff changeset
    42
   a/a: other deleted -> r
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    43
   a/b: other deleted -> r
18360
760c0d67ce5e merge: process files in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18135
diff changeset
    44
   a/c: remote renamed directory to b/c -> d
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    45
   b/a: remote created -> g
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    46
   b/b: remote created -> g
18631
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
    47
  removing a/a
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    48
  removing a/b
18631
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
    49
  getting b/a
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
    50
  getting b/b
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
    51
  updating: b/b 4/5 files (80.00%)
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
    52
  updating: a/c 5/5 files (100.00%)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    53
  moving a/c to b/c
16094
0776a6cababe merge: don't use unknown()
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
    54
  3 files updated, 0 files merged, 2 files removed, 0 files unresolved
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    55
  (branch merge, don't forget to commit)
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    56
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    57
  $ echo a/* b/*
16094
0776a6cababe merge: don't use unknown()
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
    58
  a/d b/a b/b b/c
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    59
  $ hg st -C
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    60
  M b/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    61
  M b/b
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    62
  A b/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    63
    a/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    64
  R a/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    65
  R a/b
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    66
  R a/c
16094
0776a6cababe merge: don't use unknown()
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
    67
  ? a/d
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    68
  $ hg ci -m "3 merge 2+1"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    69
  $ hg debugrename b/c
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
    70
  b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88 (glob)
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    71
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    72
  $ hg co -C 1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    73
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    74
  $ hg merge --debug 2
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    75
    searching for copies back to rev 1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    76
    unmatched files in local:
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    77
     b/a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    78
     b/b
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    79
    unmatched files in other:
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    80
     a/c
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16094
diff changeset
    81
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
18135
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    82
     src: 'a/a' -> dst: 'b/a' 
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    83
     src: 'a/b' -> dst: 'b/b' 
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    84
    checking for directory renames
18135
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    85
     discovered dir src: 'a/' -> dst: 'b/'
a6fe1b9cc68f copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents: 16913
diff changeset
    86
     pending file src: 'a/c' -> dst: 'b/c'
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    87
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18360
diff changeset
    88
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    89
   ancestor: f9b20c0d4c51, local: 397f8b00a740+, remote: ce36d17b18fb
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    90
   None: local renamed directory to b/c -> d
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    91
  updating:None 1/1 files (100.00%)
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    92
  getting a/c to b/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    93
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    94
  (branch merge, don't forget to commit)
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    95
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    96
  $ echo a/* b/*
16094
0776a6cababe merge: don't use unknown()
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
    97
  a/d b/a b/b b/c
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    98
  $ hg st -C
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
    99
  A b/c
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   100
    a/c
16094
0776a6cababe merge: don't use unknown()
Matt Mackall <mpm@selenic.com>
parents: 15625
diff changeset
   101
  ? a/d
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   102
  $ hg ci -m "4 merge 1+2"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   103
  created new head
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   104
  $ hg debugrename b/c
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   105
  b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88 (glob)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   106
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   107
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   108
Second scenario with two repos:
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   109
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   110
  $ cd ..
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 12114
diff changeset
   111
  $ hg init r1
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   112
  $ cd r1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   113
  $ mkdir a
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   114
  $ echo foo > a/f
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   115
  $ hg add a
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   116
  adding a/f (glob)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   117
  $ hg ci -m "a/f == foo"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   118
  $ cd ..
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   119
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   120
  $ hg clone r1 r2
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   121
  updating to branch default
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   122
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   123
  $ cd r2
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   124
  $ hg mv a b
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   125
  moving a/f to b/f (glob)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   126
  $ echo foo1 > b/f
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   127
  $ hg ci -m" a -> b, b/f == foo1"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   128
  $ cd ..
3733
9e67fecbfd16 merge: handle directory renames
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   129
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   130
  $ cd r1
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   131
  $ mkdir a/aa
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   132
  $ echo bar > a/aa/g
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   133
  $ hg add a/aa
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 13956
diff changeset
   134
  adding a/aa/g (glob)
12114
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   135
  $ hg ci -m "a/aa/g"
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   136
  $ hg pull ../r2
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   137
  pulling from ../r2
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   138
  searching for changes
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   139
  adding changesets
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   140
  adding manifests
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   141
  adding file changes
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   142
  added 1 changesets with 1 changes to 1 files (+1 heads)
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   143
  (run 'hg heads' to see heads, 'hg merge' to merge)
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   144
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   145
  $ hg merge
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   146
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   147
  (branch merge, don't forget to commit)
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   148
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   149
  $ hg st -C
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   150
  M b/f
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   151
  A b/aa/g
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   152
    a/aa/g
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   153
  R a/aa/g
0a6b2e21bc86 tests: merge the two test-rename-dir-merge* into one
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 8167
diff changeset
   154
  R a/f
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16795
diff changeset
   155
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16795
diff changeset
   156
  $ cd ..