view tests/test-convert-tla @ 9954:d6a307719ccb stable

fix bug in prepush logic involving merge changesets When creating new branches and merging them into existing ones, you would sometimes be able to push some changesets (the existing branches) without using --force, even when that creates a new head on the remote. A test which triggers the error has been added.
author Sune Foldager <cryo@cyanite.org>
date Mon, 30 Nov 2009 14:58:52 +0100
parents 5b7da468531b
children bb5ea66789e3
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" tla || exit 80

mkdir do_not_use_HOME_tla
cd do_not_use_HOME_tla
HOME=`pwd`; export HOME
cd ..
tla my-id "mercurial <mercurial@selenic.com>"

echo "[extensions]" >> $HGRCPATH
echo "convert=" >> $HGRCPATH
echo 'hgext.graphlog =' >> $HGRCPATH

echo % create tla archive
tla make-archive tla@mercurial--convert `pwd`/hg-test-convert-tla

echo % initialize tla repo
mkdir tla-repo
cd tla-repo/
tla init-tree tla@mercurial--convert/tla--test--0
tla import

echo % create initial files
echo 'this is a file' > a
tla add a
mkdir src
tla add src
cd src
dd count=1 if=/dev/zero of=b > /dev/null 2> /dev/null
tla add b
tla commit -s "added a file, src and src/b (binary)"

echo % create link file and modify a
ln -s ../a a-link
tla add a-link
echo 'this a modification to a' >> ../a
tla commit -s "added link to a and modify a"

echo % create second link and modify b
ln -s ../a a-link-2
tla add a-link-2
dd count=1 seek=1 if=/dev/zero of=b > /dev/null 2> /dev/null
tla commit -s "added second link and modify b"

echo % b file to link and a-link-2 to regular file
rm -f a-link-2
echo 'this is now a regular file' > a-link-2
ln -sf ../a b
tla commit -s "file to link and link to file test"

echo % move a-link-2 file and src directory
cd ..
tla mv src/a-link-2 c
tla mv src test
tla commit -s "move and rename a-link-2 file and src directory"

cd ..

echo % converting tla repo to Mercurial
hg convert tla-repo tla-repo-hg

tla register-archive -d tla@mercurial--convert

glog()
{
    hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
}

echo % show graph log
glog -R tla-repo-hg
hg up -q -R tla-repo-hg
hg -R tla-repo-hg manifest --debug