merge: handle directory renames
commit: handle new copy dirstate case correctly
findcopies:
keep a map of all copies found for directory logic
add dirs filter
check for merge:followdirs config option
generate a directory move map
find files that match directory move map
manifestmerge:
add directory rename cases
applyupdates:
skip actions with None file
add "d" action
recordupdates:
add "d" action
add simple directory rename test
#!/bin/sh
mkdir t
cd t
hg init
mkdir a
echo foo > a/a
echo bar > a/b
hg add a
hg ci -m "0" -d "0 0"
hg co -C 0
hg mv a b
hg ci -m "1 mv a/ b/" -d "0 0"
hg co -C 0
echo baz > a/c
hg add a/c
hg ci -m "2 add a/c" -d "0 0"
hg merge --debug 1
ls a/ b/
hg st -C
hg ci -m "3 merge 2+1" -d "0 0"
hg co -C 1
hg merge --debug 2
ls a/ b/
hg st -C
hg ci -m "4 merge 1+2" -d "0 0"