view tests/test-filebranch @ 1340:faa62c7685fb

hgk is a wish script --- mercurial-0.7.orig/contrib/hgk 2005-09-23 11:02:21.000000000 +0200 +++ mercurial-0.7/contrib/hgk 2005-09-23 11:07:57.000000000 +0200 @@ -1,6 +1,4 @@ -#!/bin/sh -# Tcl ignores the next line -*- tcl -*- \ -exec wish "$0" -- "${1+$@}" +#!/usr/bin/wish # Copyright (C) 2005 Paul Mackerras. All rights reserved. # This program is free software; it may be used, copied, modified
author Vincent Danjean
date Fri, 23 Sep 2005 18:58:57 -0700
parents 6f274afc05c7
children 7544700fd931
line wrap: on
line source

#!/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 "0 0"

cd ..
hg clone a b

echo creating branch a
cd a
echo 2a > foo
echo 2a > bar
hg commit -m "branch a" -d "0 0"

echo creating branch b

cd ..
cd b
echo 2b > foo
echo 2b > baz
hg commit -m "branch b" -d "0 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 update -vm

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 "0 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