Mercurial > hg
view tests/test-convert-cvs-builtincvsps-cvsnt-mergepoints @ 8552:06561793778e
inotify: Separate query sending logic from Server starting.
Use a decorator around the public statusquery method of Client:
start_server(query_to_server):
try:
query_to_server()
except QueryFailed:
[error recovery, inotify Server (re)starting]
query_to_server()
This way, introducing a new xxxquery Client method is easy:
one has only to code the protocol part of xxxquery, ignoring errors,
and decorating it using start_server to handle server recovery
and (re)starts
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Tue, 07 Apr 2009 19:30:01 +0900 |
parents | ec8b8a0f494b |
children |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" cvs || exit 80 cvscall() { cvs -f "$@" } hgcat() { hg --cwd src-hg cat -r tip "$1" } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH echo "[convert]" >> $HGRCPATH echo "cvsps=builtin" >> $HGRCPATH echo % create cvs repository mkdir cvsmaster cd cvsmaster CVSROOT=`pwd` export CVSROOT CVS_OPTIONS=-f export CVS_OPTIONS cd .. cvscall -q -d "$CVSROOT" init cvscall -q checkout -d cvsworktmp . cd cvsworktmp mkdir foo cvscall -q add foo | sed -e 's/Directory .* added to the repository//g' cd foo echo foo > foo.txt cvscall -q add foo.txt cvscall -q ci -m "foo.txt" | sed 's/.*,v.*/checking in/g' cd ../.. rm -rf cvsworktmp cvscall -q checkout -d cvswork foo cd cvswork cvscall -q rtag -b -R MYBRANCH1 foo cvscall -q up -P -r MYBRANCH1 echo bar > foo.txt cvscall -q ci -m "bar" | sed 's/.*,v.*/checking in/g' echo baz > foo.txt cvscall -q ci -m "baz" | sed 's/.*,v.*/checking in/g' cvscall -q rtag -b -R -r MYBRANCH1 MYBRANCH1_2 foo cvscall -q up -P -r MYBRANCH1_2 echo bazzie > foo.txt cvscall -q ci -m "bazzie" | sed 's/.*,v.*/checking in/g' cvscall -q rtag -b -R MYBRANCH1_1 foo cvscall -q up -P -r MYBRANCH1_1 echo quux > foo.txt cvscall -q ci -m "quux" | sed 's/.*,v.*/checking in/g' cvscall -q up -P -jMYBRANCH1 | sed 's/RCS file: .*,v/merging MYBRANCH1/g' echo xyzzy > foo.txt cvscall -q ci -m "merge" | sed 's/.*,v.*/checking in/g' cvscall -q up -P -A cvscall -q up -P -jMYBRANCH1_2 | sed 's/RCS file: .*,v/merging MYBRANCH1_2/g' cvscall -q ci -m "merge" | sed 's/.*,v.*/checking in/g' REALCVS=`which cvs` echo "for x in \$*; do if [ \"\$x\" = \"rlog\" ]; then echo \"RCS file: $CVSROOT/foo/foo.txt,v\"; cat $TESTDIR/test-convert-cvs-builtincvsps-cvsnt-mergepoints.rlog; exit 0; fi; done; $REALCVS \$*" > cvs chmod +x cvs PATH=.:${PATH} hg debugcvsps --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/' cd ..