##// END OF EJS Templates
document and fix findincoming...
document and fix findincoming - add documentation about what the function does, notably the fact that it updates 'base' - transform the workflow to a more simple 'if elif elif else' - do not call remote.branches if not necessary - some nodes where missing in 'base' (from what I understand, if the root of a branch is missing but one parent is present, the parent should be in 'base') - add a testcase for an incorrect outgoing that is fixed by this cset - add a testcase for an empty group bug, it needs fixing

File last commit:

r2283:e506c143 default
r2339:11422943 default
Show More
test-filebranch
79 lines | 1.4 KiB | text/plain | TextLexer
#!/bin/sh
# This test makes sure that we don't mark a file as merged with its ancestor
# when we do a merge.
cat <<'EOF' > merge
#!/bin/sh
echo merging for `basename $1`
EOF
chmod +x merge
echo creating base
hg init a
cd a
echo 1 > foo
echo 1 > bar
echo 1 > baz
echo 1 > quux
hg add foo bar baz quux
hg commit -m "base" -d "1000000 0"
cd ..
hg clone a b
echo creating branch a
cd a
echo 2a > foo
echo 2a > bar
hg commit -m "branch a" -d "1000000 0"
echo creating branch b
cd ..
cd b
echo 2b > foo
echo 2b > baz
hg commit -m "branch b" -d "1000000 0"
echo "we shouldn't have anything but n state here"
hg debugstate | cut -b 1-16,35-
echo merging
hg pull ../a
env HGMERGE=../merge hg merge -v
echo 2m > foo
echo 2b > baz
echo new > quux
echo "we shouldn't have anything but foo in merge state here"
hg debugstate | cut -b 1-16,35- | grep "^m"
hg ci -m "merge" -d "1000000 0"
echo "main: we should have a merge here"
hg debugindex .hg/00changelog.i
echo "log should show foo and quux changed"
hg log -v -r tip
echo "foo: we should have a merge here"
hg debugindex .hg/data/foo.i
echo "bar: we shouldn't have a merge here"
hg debugindex .hg/data/bar.i
echo "baz: we shouldn't have a merge here"
hg debugindex .hg/data/baz.i
echo "quux: we shouldn't have a merge here"
hg debugindex .hg/data/quux.i
echo "manifest entries should match tips of all files"
hg manifest
echo "everything should be clean now"
hg status
hg verify