tests/test-rename-dir-merge.t
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Mon, 30 Aug 2010 13:49:40 +0900
changeset 12112 d27d5ae576a2
parent 8167 tests/test-rename-dir-merge@6c82beaaa11a
permissions -rw-r--r--
tests: unify test-rename-dir-merge

  $ mkdir t
  $ cd t
  $ hg init

  $ mkdir a
  $ echo foo > a/a
  $ echo bar > a/b
  $ hg ci -Am "0"
  adding a/a
  adding a/b

  $ hg co -C 0
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
  $ hg mv a b
  moving a/a to b/a
  moving a/b to b/b
  $ hg ci -m "1 mv a/ b/"

  $ hg co -C 0
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
  $ echo baz > a/c
  $ echo quux > a/d
  $ hg add a/c
  $ hg ci -m "2 add a/c"
  created new head

  $ hg merge --debug 1
    searching for copies back to rev 1
    unmatched files in local:
     a/c
     a/d
    unmatched files in other:
     b/a
     b/b
    all copies found (* = to merge, ! = divergent):
     b/a -> a/a 
     b/b -> a/b 
    checking for directory renames
    dir a/ -> b/
    file a/c -> b/c
    file a/d -> b/d
  resolving manifests
   overwrite None partial False
   ancestor f9b20c0d4c51 local ce36d17b18fb+ remote 397f8b00a740
   a/d: remote renamed directory to b/d -> d
   a/c: remote renamed directory to b/c -> d
   a/b: other deleted -> r
   a/a: other deleted -> r
   b/a: remote created -> g
   b/b: remote created -> g
  updating: a/a 1/6 files (16.67%)
  removing a/a
  updating: a/b 2/6 files (33.33%)
  removing a/b
  updating: a/c 3/6 files (50.00%)
  moving a/c to b/c
  updating: a/d 4/6 files (66.67%)
  moving a/d to b/d
  updating: b/a 5/6 files (83.33%)
  getting b/a
  updating: b/b 6/6 files (100.00%)
  getting b/b
  4 files updated, 0 files merged, 2 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

  $ echo a/* b/*
  a/* b/a b/b b/c b/d
  $ hg st -C
  M b/a
  M b/b
  A b/c
    a/c
  R a/a
  R a/b
  R a/c
  ? b/d
  $ hg ci -m "3 merge 2+1"
  $ hg debugrename b/c
  b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88

  $ hg co -C 1
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
  $ hg merge --debug 2
    searching for copies back to rev 1
    unmatched files in local:
     b/a
     b/b
     b/d
    unmatched files in other:
     a/c
    all copies found (* = to merge, ! = divergent):
     b/a -> a/a 
     b/b -> a/b 
    checking for directory renames
    dir a/ -> b/
    file a/c -> b/c
  resolving manifests
   overwrite None partial False
   ancestor f9b20c0d4c51 local 397f8b00a740+ remote ce36d17b18fb
   None: local renamed directory to b/c -> d
  updating:None 1/1 files (100.00%)
  getting a/c to b/c
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  (branch merge, don't forget to commit)

  $ echo a/* b/*
  a/* b/a b/b b/c b/d
  $ hg st -C
  A b/c
    a/c
  ? b/d
  $ hg ci -m "4 merge 1+2"
  created new head
  $ hg debugrename b/c
  b/c renamed from a/c:354ae8da6e890359ef49ade27b68bbc361f3ca88