##// END OF EJS Templates
convert/bzr: make it work with filemaps (issue1631)...
convert/bzr: make it work with filemaps (issue1631) The bzr converter maintains a child -> parents mapping and drop entries whenever a child is read. It does not work with filemaps, getchangedfiles() may be called more than once when filtered files belong to merge revisions. getchanges() still works that way but it is not clear whether a similar issue can arise when interacting with merges.

File last commit:

r6425:2d9328a2 default
r8165:78658990 default
Show More
test-mv-cp-st-diff
76 lines | 1.3 KiB | text/plain | TextLexer
#!/bin/sh
add()
{
echo $2 >> $1
}
hg init t
cd t
# set up a boring main branch
add a a
hg add a
mkdir x
add x/x x
hg add x/x
hg ci -m0
add a m1
hg ci -m1
add a m2
add x/y y1
hg add x/y
hg ci -m2
show()
{
echo "- $2: $1"
hg st -C $1
echo
hg diff --git $1
echo
}
count=0
# make a new branch and get diff/status output
# $1 - first commit
# $2 - second commit
# $3 - working dir action
# $4 - test description
tb()
{
hg co -q -C 0
add a $count
count=`expr $count + 1`
hg ci -m "t0"
$1
hg ci -m "t1"
$2
hg ci -m "t2"
$3
echo "** $4 **"
echo "** $1 / $2 / $3"
show "" "working to parent"
show "--rev 0" "working to root"
show "--rev 2" "working to branch"
show "--rev 0 --rev ." "root to parent"
show "--rev . --rev 0" "parent to root"
show "--rev 2 --rev ." "branch to parent"
show "--rev . --rev 2" "parent to branch"
echo
}
tb "add a a1" "add a a2" "hg mv a b" "rename in working dir"
tb "add a a1" "add a a2" "hg cp a b" "copy in working dir"
tb "hg mv a b" "add b b1" "add b w" "single rename"
tb "hg cp a b" "add b b1" "add a w" "single copy"
tb "hg mv a b" "hg mv b c" "hg mv c d" "rename chain"
tb "hg cp a b" "hg cp b c" "hg cp c d" "copy chain"
tb "add a a1" "hg mv a b" "hg mv b a" "circular rename"
tb "hg mv x y" "add y/x x1" "add y/x x2" "directory move"