view tests/test-strip-cross @ 11835:14db59e3b248 stable

convert: Test svn sink for a repo with tags. This test case backs the fix in changeset 7e5f5e5858f9. The subversion sink used to crash, if the source repo used tags.
author Daniel J. Lauk <daniel.lauk@gmail.com>
date Thu, 12 Aug 2010 11:15:33 +0200
parents 2313dc4d9817
children
line wrap: on
line source

#!/bin/sh

# test stripping of filelogs where the linkrev doesn't always increase

. $TESTDIR/helpers.sh
echo '[extensions]' >> $HGRCPATH
echo 'hgext.mq =' >> $HGRCPATH

hg init orig
cd orig

commit()
{
    hg up -qC null
    count=1
    for i in "$@"; do
	for f in $i; do
	    echo $count > $f
	done
	count=`expr $count + 1`
    done
    hg commit -qAm "$*"
}

# 2 1 0 2 0 1 2
commit '201 210'

commit '102 120' '210'

commit '021'

commit '201' '021 120'

commit '012 021' '102 201' '120 210'

commit 'manifest-file'

commit '102 120' '012 210' '021 201'

commit '201 210' '021 120' '012 102'

HGUSER=another-user; export HGUSER
commit 'manifest-file'

commit '012' 'manifest-file'

cd ..
hg clone -q -U -r -1 -r -2 -r -3 -r -4 -r -6 orig crossed

for i in crossed/.hg/store/00manifest.i crossed/.hg/store/data/*.i; do
    echo $i
    hg debugindex $i
    echo
done

for i in 0 1 2 3 4; do
    hg clone -q -U --pull crossed $i
    echo "% Trying to strip revision $i"
    hg --cwd $i strip $i | hidebackup
    echo "% Verifying"
    hg --cwd $i verify
    echo
done