test-convert-cvsnt-mergepoints.t
206 lines
| 4.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-convert-cvsnt-mergepoints.t
Matt Mackall
|
r22046 | #require cvs | ||
Matt Mackall
|
r12523 | |||
$ filterpath() | ||||
> { | ||||
> eval "$@" | sed "s:$CVSROOT:*REPO*:g" | ||||
> } | ||||
$ cvscall() | ||||
> { | ||||
> cvs -f "$@" | ||||
> } | ||||
output of 'cvs ci' varies unpredictably, so discard most of it | ||||
-- just keep the part that matters | ||||
$ cvsci() | ||||
> { | ||||
> cvs -f ci -f "$@" > /dev/null | ||||
> } | ||||
$ hgcat() | ||||
> { | ||||
> hg --cwd src-hg cat -r tip "$1" | ||||
> } | ||||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "convert = " >> $HGRCPATH | ||||
create cvs repository | ||||
$ mkdir cvsmaster | ||||
$ cd cvsmaster | ||||
$ CVSROOT=`pwd` | ||||
$ export CVSROOT | ||||
$ CVS_OPTIONS=-f | ||||
$ export CVS_OPTIONS | ||||
$ cd .. | ||||
$ filterpath cvscall -Q -d "$CVSROOT" init | ||||
checkout #1: add foo.txt | ||||
$ cvscall -Q checkout -d cvsworktmp . | ||||
$ cd cvsworktmp | ||||
$ mkdir foo | ||||
$ cvscall -Q add foo | ||||
$ cd foo | ||||
$ echo foo > foo.txt | ||||
Mads Kiilerich
|
r17345 | $ cvscall -Q add foo.txt | ||
Matt Mackall
|
r12523 | $ cvsci -m "add foo.txt" foo.txt | ||
$ cd ../.. | ||||
$ rm -rf cvsworktmp | ||||
checkout #2: create MYBRANCH1 and modify foo.txt on it | ||||
$ cvscall -Q checkout -d cvswork foo | ||||
$ cd cvswork | ||||
$ cvscall -q rtag -b -R MYBRANCH1 foo | ||||
$ cvscall -Q update -P -r MYBRANCH1 | ||||
$ echo bar > foo.txt | ||||
$ cvsci -m "bar" foo.txt | ||||
$ echo baz > foo.txt | ||||
$ cvsci -m "baz" foo.txt | ||||
create MYBRANCH1_2 and modify foo.txt some more | ||||
$ cvscall -q rtag -b -R -r MYBRANCH1 MYBRANCH1_2 foo | ||||
$ cvscall -Q update -P -r MYBRANCH1_2 | ||||
$ echo bazzie > foo.txt | ||||
$ cvsci -m "bazzie" foo.txt | ||||
create MYBRANCH1_1 and modify foo.txt yet again | ||||
$ cvscall -q rtag -b -R MYBRANCH1_1 foo | ||||
$ cvscall -Q update -P -r MYBRANCH1_1 | ||||
$ echo quux > foo.txt | ||||
$ cvsci -m "quux" foo.txt | ||||
merge MYBRANCH1 to MYBRANCH1_1 | ||||
$ filterpath cvscall -Q update -P -jMYBRANCH1 | ||||
rcsmerge: warning: conflicts during merge | ||||
RCS file: *REPO*/foo/foo.txt,v | ||||
retrieving revision 1.1 | ||||
retrieving revision 1.1.2.2 | ||||
Merging differences between 1.1 and 1.1.2.2 into foo.txt | ||||
carefully placed sleep to dodge cvs bug (optimization?) where it | ||||
sometimes ignores a "commit" command if it comes too fast (the -f | ||||
option in cvsci seems to work for all the other commits in this | ||||
script) | ||||
$ sleep 1 | ||||
$ echo xyzzy > foo.txt | ||||
$ cvsci -m "merge1+clobber" foo.txt | ||||
Mads Kiilerich
|
r16972 | #if unix-permissions | ||
Matt Mackall
|
r12523 | return to trunk and merge MYBRANCH1_2 | ||
$ cvscall -Q update -P -A | ||||
$ filterpath cvscall -Q update -P -jMYBRANCH1_2 | ||||
RCS file: *REPO*/foo/foo.txt,v | ||||
retrieving revision 1.1 | ||||
retrieving revision 1.1.2.2.2.1 | ||||
Merging differences between 1.1 and 1.1.2.2.2.1 into foo.txt | ||||
$ cvsci -m "merge2" foo.txt | ||||
$ REALCVS=`which cvs` | ||||
Thomas Arendsen Hein
|
r16350 | $ echo "for x in \$*; do if [ \"\$x\" = \"rlog\" ]; then echo \"RCS file: $CVSROOT/foo/foo.txt,v\"; cat \"$TESTDIR/test-convert-cvsnt-mergepoints.rlog\"; exit 0; fi; done; $REALCVS \$*" > ../cvs | ||
Matt Mackall
|
r12523 | $ chmod +x ../cvs | ||
$ PATH=..:${PATH} hg debugcvsps --parents foo | ||||
collecting CVS rlog | ||||
7 log entries | ||||
creating changesets | ||||
7 changeset entries | ||||
--------------------- | ||||
PatchSet 1 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: HEAD | ||||
Tag: (none) | ||||
Mads Kiilerich
|
r18375 | Branchpoints: MYBRANCH1, MYBRANCH1_1 | ||
Matt Mackall
|
r12523 | Log: | ||
foo.txt | ||||
Members: | ||||
foo.txt:INITIAL->1.1 | ||||
--------------------- | ||||
PatchSet 2 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: MYBRANCH1 | ||||
Tag: (none) | ||||
Parent: 1 | ||||
Log: | ||||
bar | ||||
Members: | ||||
foo.txt:1.1->1.1.2.1 | ||||
--------------------- | ||||
PatchSet 3 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: MYBRANCH1 | ||||
Tag: (none) | ||||
Branchpoints: MYBRANCH1_2 | ||||
Parent: 2 | ||||
Log: | ||||
baz | ||||
Members: | ||||
foo.txt:1.1.2.1->1.1.2.2 | ||||
--------------------- | ||||
PatchSet 4 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: MYBRANCH1_1 | ||||
Tag: (none) | ||||
Parent: 1 | ||||
Log: | ||||
quux | ||||
Members: | ||||
foo.txt:1.1->1.1.4.1 | ||||
--------------------- | ||||
PatchSet 5 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: MYBRANCH1_2 | ||||
Tag: (none) | ||||
Parent: 3 | ||||
Log: | ||||
bazzie | ||||
Members: | ||||
foo.txt:1.1.2.2->1.1.2.2.2.1 | ||||
--------------------- | ||||
PatchSet 6 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: HEAD | ||||
Tag: (none) | ||||
Parents: 1,5 | ||||
Log: | ||||
merge | ||||
Members: | ||||
foo.txt:1.1->1.2 | ||||
--------------------- | ||||
PatchSet 7 | ||||
Date: * (glob) | ||||
Author: user | ||||
Branch: MYBRANCH1_1 | ||||
Tag: (none) | ||||
Parents: 4,3 | ||||
Log: | ||||
merge | ||||
Members: | ||||
foo.txt:1.1.4.1->1.1.4.2 | ||||
Mads Kiilerich
|
r16972 | #endif | ||
Mads Kiilerich
|
r16913 | |||
$ cd .. | ||||