Mercurial > hg
view tests/test-convert-cvs-branch @ 9412:3a78bbc57660
color: do all setup in uisetup
Now that extensions are loaded in phases, we are guaranteed to always
find mq in uisetup with extensions.find and we know that the mq
commands are not yet copied into commands.table.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 29 Aug 2009 00:30:03 +0200 |
parents | 4743d1a65dfe |
children | 56a5f80556f5 |
line wrap: on
line source
#!/bin/sh # This is http://mercurial.selenic.com/bts/issue1148 # and http://mercurial.selenic.com/bts/issue1447 "$TESTDIR/hghave" cvs || exit 80 cvscall() { cvs -f "$@" } echo "[extensions]" >> $HGRCPATH echo "convert = " >> $HGRCPATH echo "graphlog = " >> $HGRCPATH echo "[convert]" >> $HGRCPATH echo "cvsps=builtin" >> $HGRCPATH echo "cvsps.cache=0" >> $HGRCPATH echo % create cvs repository mkdir cvsrepo cd cvsrepo CVSROOT=`pwd` export CVSROOT CVS_OPTIONS=-f export CVS_OPTIONS cd .. cvscall -q -d "$CVSROOT" init echo % Create a new project mkdir src cd src echo "1" > a echo "1" > b cvscall import -m "init" src v0 r0 | sort cd .. cvscall co src cd src echo % Branch the project cvscall tag -b BRANCH cvscall up -r BRANCH > /dev/null echo % Modify file a, then b, then a echo "2" > a cvscall ci -m "mod a" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' echo "2" > b cvscall ci -m "mod b" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' echo "3" > a cvscall ci -m "mod a again" | grep '<--' | sed -e 's:.*src/\(.*\),v.*:checking in src/\1,v:g' echo % Convert cd .. hg convert src | sed -e 's/connecting to.*cvsrepo/connecting to cvsrepo/g' echo % Check the result hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' echo "" echo % issue 1447 cvscall() { echo cvs -f "$@" cvs -f "$@" sleep 1 } cvsci() { echo cvs -f ci "$@" cvs -f ci "$@" >/dev/null 2>&1 sleep 1 } cvscall -Q -d `pwd`/cvsmaster2 init >/dev/null 2>&1 cd cvsmaster2 CVSROOT=`pwd` export CVSROOT mkdir foo cd .. cvscall -Q co -d cvswork2 foo cd cvswork2 echo foo > a.txt echo bar > b.txt cvscall -Q add a.txt b.txt cvsci -m "Initial commit" echo foo > b.txt cvsci -m "Fix b on HEAD" echo bar > a.txt cvsci -m "Small fix in a on HEAD" cvscall -Q tag -b BRANCH cvscall -Q up -P -rBRANCH echo baz > b.txt cvsci -m "Change on BRANCH in b" hg debugcvsps -x --parents foo | sed -e 's/Author:.*/Author:/' -e 's/Date:.*/Date:/' cd ..