view tests/test-strip-cross @ 8335:713ec3f9c9de

inotify: Clarify the use of "watcher" name. Currently, Watcher is a class in inotify.linux.watcher, but it's also a class in inotify.server . To complicate things further more, the latter has a 'watcher' attribute, an instance of the former class. When it comes to the 'watcher' attribute of the Server class in inotify.server, one can get quite confused: is it a Watcher object from inotify.server, or from inotify.linux.watcher? Changes: * in inotify.linux.watcher : nothing * in inotify.server : ** Watcher class is renamed to RepoWatcher ** server.watcher is renamed to server.repowatcher
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Mon, 04 May 2009 21:18:33 +0900
parents 8e7796a990c5
children 12e5149cafca
line wrap: on
line source

#!/bin/sh

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

echo '[extensions]' >> $HGRCPATH
echo 'hgext.mq =' >> $HGRCPATH

hg init orig
cd orig

hidefilename()
{
    sed -e 's/saving bundle to .*strip-backup/saving bundle to strip-backup/'
}

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 2>&1 | hidefilename
    echo "% Verifying"
    hg --cwd $i verify
    echo
done