view tests/test-merge-remove.out @ 6805:482581431dcd

Sort removes first when applying updates (fixes issues 750 and 912) This change ensures that removes happen first in applyupdates(). This avoids issues where we try to make a case-only rename of a file on a case insensitive system. Without this patch, the add of the new name happens before the remove of the old one - which results in the file not existing, as the two names are effectively the same. With the patch, the old name gets removed then the new one gets added, which is always safe.
author Paul Moore <p.f.moore@gmail.com>
date Tue, 01 Jul 2008 17:59:31 +0100
parents 369ddc9c0339
children
line wrap: on
line source

created new head
merging foo1 and foo to foo1
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
n   0         -2 bar
m 644         14 foo1
copy: foo -> foo1
M bar
M foo1
% removing foo1 and bar
r   0         -2 bar
r   0         -1 foo1
copy: foo -> foo1
R bar
R foo1
% readding foo1 and bar
adding bar
adding foo1
n   0         -2 bar
m 644         14 foo1
copy: foo -> foo1
M bar
M foo1
  foo
% reverting foo1 and bar
saving current version of bar as bar.orig
reverting bar
saving current version of foo1 as foo1.orig
reverting foo1
n   0         -2 bar
m 644         14 foo1
copy: foo -> foo1
M bar
M foo1
  foo