view tests/test-filebranch @ 5398:ecde0b7e0b3f

osutil.c: use readdir instead of readdir64 Some systems (e.g. *BSD) don't have a readdir64 function - the regular readdir already uses 64-bit types. On other systems (Linux, Solaris, ...), if Python was compiled with large file support, Python.h will define _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64, so that any call to readdir will actually be a call to readdir64. If Python was not compiled with large file support, we probably don't want to define these macros to avoid ABI problems.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 06 Oct 2007 14:14:11 -0300
parents b0140ead7f70
children e7ed5d07cc4c
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
import sys, os
print "merging for", os.path.basename(sys.argv[1])
EOF
HGMERGE="python ../merge"; export HGMERGE

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
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/store/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/store/data/foo.i

echo "bar: we shouldn't have a merge here"
hg debugindex .hg/store/data/bar.i

echo "baz: we shouldn't have a merge here"
hg debugindex .hg/store/data/baz.i

echo "quux: we shouldn't have a merge here"
hg debugindex .hg/store/data/quux.i

echo "manifest entries should match tips of all files"
hg manifest --debug

echo "everything should be clean now"
hg status

hg verify