Mercurial > hg
view tests/test-convert-cvs-branch.t @ 13955:86b5cc1e8be8 stable
help config: explain that config files do not exist by default
Inspired by critique given on StackOverflow where a user writes:
I can have a good guess at what "%USERPROFILE%" might signify but
none of the files listed in the "hg help config" output exist after
running the installer. Previous experience would suggest that
missing files mean something somewhere has gone seriously wrong.
http://stackoverflow.com/questions/2329023/2351139#2351139
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Mon, 18 Apr 2011 13:57:22 +0200 |
parents | c7d23b4ca4ba |
children | f2719b387380 |
line wrap: on
line source
This is http://mercurial.selenic.com/bts/issue1148 and http://mercurial.selenic.com/bts/issue1447 $ "$TESTDIR/hghave" cvs || exit 80 $ cvscall() > { > cvs -f "$@" > /dev/null > } $ echo "[extensions]" >> $HGRCPATH $ echo "convert = " >> $HGRCPATH $ echo "graphlog = " >> $HGRCPATH $ echo "[convert]" >> $HGRCPATH $ echo "cvsps.cache=0" >> $HGRCPATH create cvs repository $ mkdir cvsrepo $ cd cvsrepo $ CVSROOT=`pwd` $ export CVSROOT $ CVS_OPTIONS=-f $ export CVS_OPTIONS $ cd .. $ cvscall -q -d "$CVSROOT" init 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 cvs checkout: Updating src $ cd src Branch the project $ cvscall tag -b BRANCH cvs tag: Tagging . $ cvscall up -r BRANCH > /dev/null cvs update: Updating . Modify file a, then b, then a $ sleep 1 $ echo "2" > a $ cvscall ci -m "mod a" cvs commit: Examining . $ echo "2" > b $ cvscall ci -m "mod b" cvs commit: Examining . $ sleep 1 $ echo "3" > a $ cvscall ci -m "mod a again" cvs commit: Examining . Convert $ cd .. $ hg convert src assuming destination src-hg initializing destination src-hg repository connecting to $TESTTMP/cvsrepo scanning source... collecting CVS rlog 7 log entries creating changesets 5 changeset entries sorting... converting... 4 Initial revision 3 init 2 mod a 1 mod b 0 mod a again updating tags Check the result $ hg -R src-hg glog --template '{rev} ({branches}) {desc} files: {files}\n' o 5 () update tags files: .hgtags | | o 4 (BRANCH) mod a again files: a | | | o 3 (BRANCH) mod b files: b | | | o 2 (BRANCH) mod a files: a | | | o 1 (v0) init files: |/ o 0 () Initial revision files: a b issue 1447 $ cvscall() > { > cvs -f "$@" > /dev/null > sleep 1 > } $ cvsci() > { > cvs -f ci "$@" >/dev/null > sleep 1 > } $ cvscall -Q -d `pwd`/cvsmaster2 init $ 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" cvs commit: Examining . $ echo foo > b.txt $ cvsci -m "Fix b on HEAD" cvs commit: Examining . $ echo bar > a.txt $ cvsci -m "Small fix in a on HEAD" cvs commit: Examining . $ cvscall -Q tag -b BRANCH $ cvscall -Q up -P -rBRANCH $ echo baz > b.txt $ cvsci -m "Change on BRANCH in b" cvs commit: Examining . $ hg debugcvsps -x --parents foo collecting CVS rlog 5 log entries creating changesets 4 changeset entries --------------------- PatchSet 1 Date: * (glob) Author: * (glob) Branch: HEAD Tag: (none) Log: Initial commit Members: a.txt:INITIAL->1.1 b.txt:INITIAL->1.1 --------------------- PatchSet 2 Date: * (glob) Author: * (glob) Branch: HEAD Tag: (none) Branchpoints: BRANCH Parent: 1 Log: Fix b on HEAD Members: b.txt:1.1->1.2 --------------------- PatchSet 3 Date: * (glob) Author: * (glob) Branch: HEAD Tag: (none) Branchpoints: BRANCH Parent: 2 Log: Small fix in a on HEAD Members: a.txt:1.1->1.2 --------------------- PatchSet 4 Date: * (glob) Author: * (glob) Branch: BRANCH Tag: (none) Parent: 3 Log: Change on BRANCH in b Members: b.txt:1.2->1.2.2.1