tests/test-rename-merge1.t
changeset 44161 d7622fdec3b5
parent 42590 ab416b5d9b91
child 44190 5de70f798ea7
equal deleted inserted replaced
44160:abcc82bf0717 44161:d7622fdec3b5
   182   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   182   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   183   (branch merge, don't forget to commit)
   183   (branch merge, don't forget to commit)
   184   $ hg status
   184   $ hg status
   185   M newfile
   185   M newfile
   186   $ cd ..
   186   $ cd ..
       
   187 
       
   188 Create x and y, then modify y and rename x to z on one side of merge, and
       
   189 modify x and rename y to z on the other side.
       
   190   $ hg init conflicting-target
       
   191   $ cd conflicting-target
       
   192   $ echo x > x
       
   193   $ echo y > y
       
   194   $ hg ci -Aqm 'add x and y'
       
   195   $ hg mv x z
       
   196   $ echo foo >> y
       
   197   $ hg ci -qm 'modify y, rename x to z'
       
   198   $ hg co -q 0
       
   199   $ hg mv y z
       
   200   $ echo foo >> x
       
   201   $ hg ci -qm 'modify x, rename y to z'
       
   202 # We should probably tell the user about the conflicting rename sources.
       
   203 # Depending on which side they pick, we should take that rename and get
       
   204 # the changes to the source from the other side. The unchanged file should
       
   205 # remain.
       
   206 # we should not get the prompts about modify/delete conflicts
       
   207   $ hg merge --debug 1 -t :merge3
       
   208     all copies found (* = to merge, ! = divergent, % = renamed and deleted):
       
   209      src: 'x' -> dst: 'z' 
       
   210     checking for directory renames
       
   211   resolving manifests
       
   212    branchmerge: True, force: False, partial: False
       
   213    ancestor: 5151c134577e, local: 07fcbc9a74ed+, remote: f21419739508
       
   214    preserving x for resolve of x
       
   215    preserving z for resolve of z
       
   216    x: prompt changed/deleted -> m (premerge)
       
   217   picked tool ':prompt' for x (binary False symlink False changedelete True)
       
   218   file 'x' was deleted in other [merge rev] but was modified in local [working copy].
       
   219   You can use (c)hanged version, (d)elete, or leave (u)nresolved.
       
   220   What do you want to do? u
       
   221    y: prompt deleted/changed -> m (premerge)
       
   222   picked tool ':prompt' for y (binary False symlink False changedelete True)
       
   223   file 'y' was deleted in local [working copy] but was modified in other [merge rev].
       
   224   You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
       
   225   What do you want to do? u
       
   226    z: both created -> m (premerge)
       
   227   picked tool ':merge3' for z (binary False symlink False changedelete False)
       
   228   merging z
       
   229   my z@07fcbc9a74ed+ other z@f21419739508 ancestor z@000000000000
       
   230    z: both created -> m (merge)
       
   231   picked tool ':merge3' for z (binary False symlink False changedelete False)
       
   232   my z@07fcbc9a74ed+ other z@f21419739508 ancestor z@000000000000
       
   233   warning: conflicts while merging z! (edit, then use 'hg resolve --mark')
       
   234   0 files updated, 0 files merged, 0 files removed, 3 files unresolved
       
   235   use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
       
   236   [1]
       
   237   $ ls
       
   238   x
       
   239   y
       
   240   z
       
   241   z.orig
       
   242   $ cat x
       
   243   x
       
   244   foo
       
   245   $ cat y
       
   246   y
       
   247   foo
       
   248 # 'z' should have had the added 'foo' line
       
   249   $ cat z
       
   250   <<<<<<< working copy: 07fcbc9a74ed - test: modify x, rename y to z
       
   251   y
       
   252   ||||||| base
       
   253   =======
       
   254   x
       
   255   >>>>>>> merge rev:    f21419739508 - test: modify y, rename x to z