##// END OF EJS Templates
largefiles: factor out procedures to update standins for pre-committing...
largefiles: factor out procedures to update standins for pre-committing This patch factors out procedures to update standins for pre-committing. This is one of preparations to avoid execution of such procedures according to invocation context. For example, resuming automated committing (e.g. "hg rebase --continue") should update standins at the 1st commit, because largefiles in the working directory may be modified manually. But on the other hand, it should avoid updating standins at subsequent committings for efficiency reason. For simplicity, this patch just moves procedures mechanically only with replacing below. - "self" => "repo" - "lfutil." => (none) - "orig" invocation => returning "match" Using "fstandin" instead "standin" as the name of local variable for the loop below is the only special care, because the latter shadows the same name function in "lfutil.py". [before] for standin in standins: lfile = lfutil.splitstandin(standin) if lfdirstate[lfile] != 'r': lfutil.updatestandin(self, standin) [after] for fstandin in standins: lfile = splitstandin(fstandin) if lfdirstate[lfile] != 'r': updatestandin(repo, fstandin)

File last commit:

r22947:c63a09b6 default
r23185:9870173e default
Show More
test-convert-svn-source.t
241 lines | 6.4 KiB | text/troff | Tads3Lexer
/ tests / test-convert-svn-source.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require svn svn-bindings
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Martin Geisler
tests: don't overwrite HGRCPATH...
r13519 $ cat >> $HGRCPATH <<EOF
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > [extensions]
Mads Kiilerich
check-code: fix check for trailing whitespace on continued lines too...
r17347 > convert =
Pavel Boldin
convert.svn: branch name which equals trunk means `default' branch (issue2653)...
r13494 > [convert]
> svn.trunk = mytrunk
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 > EOF
$ svnadmin create svn-repo
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ SVNREPOPATH=`pwd`/svn-repo
#if windows
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 #else
Augie Fackler
tests: use $PYTHON instead of hardcoding python...
r22947 $ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 #endif
Ben Goswami
splicemap: improve error handling when source is subversion (issue2084)...
r19122 $ INVALIDREVISIONID=svn:x2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk@1
$ VALIDREVISIONID=svn:a2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk/mytrunk@1
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Now test that it works with trunk/tags layout, but no branches yet.
Initial svn import
$ mkdir projB
$ cd projB
Pavel Boldin
convert.svn: branch name which equals trunk means `default' branch (issue2653)...
r13494 $ mkdir mytrunk
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ mkdir tags
$ cd ..
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn import -m "init projB" projB "$SVNREPOURL/proj%20B" | sort
Patrick Mezard
test-convert-svn-source: fix non-determinism...
r16525
Mads Kiilerich
tests: add missing path globbing for Windows in svn tests
r17044 Adding projB/mytrunk (glob)
Adding projB/tags (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 Committed revision 1.
Update svn repository
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co "$SVNREPOURL/proj%20B/mytrunk" B
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 Checked out revision 1.
$ cd B
$ echo hello > 'letter .txt'
$ svn add 'letter .txt'
A letter .txt
$ svn ci -m hello
Adding letter .txt
Transmitting file data .
Committed revision 2.
$ "$TESTDIR/svn-safe-append.py" world 'letter .txt'
$ svn ci -m world
Sending letter .txt
Transmitting file data .
Committed revision 3.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn copy -m "tag v0.1" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.1"
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Committed revision 4.
$ "$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt'
$ svn ci -m "nice day"
Sending letter .txt
Transmitting file data .
Committed revision 5.
$ cd ..
Julian Cowley
convert: add config option to use the local time zone...
r17974 Convert to hg once and also test localtimezone option
NOTE: This doesn't check all time zones -- it merely determines that
the configuration option is taking effect.
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Julian Cowley
convert: add config option to use the local time zone...
r17974 An arbitrary (U.S.) time zone is used here. TZ=US/Hawaii is selected
since it does not use DST (unlike other U.S. time zones) and is always
a fixed difference from UTC.
$ TZ=US/Hawaii hg convert --config convert.localtimezone=True "$SVNREPOURL/proj%20B" B-hg
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 initializing destination B-hg repository
scanning source...
sorting...
converting...
3 init projB
2 hello
1 world
0 nice day
updating tags
Update svn repository again
$ cd B
$ "$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt'
$ echo "nice to meet you" > letter2.txt
$ svn add letter2.txt
A letter2.txt
$ svn ci -m "second letter"
Sending letter .txt
Adding letter2.txt
Transmitting file data ..
Committed revision 6.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn copy -m "tag v0.2" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.2"
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Committed revision 7.
$ "$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt
$ svn ci -m "work in progress"
Sending letter2.txt
Transmitting file data .
Committed revision 8.
$ cd ..
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert -s svn "$SVNREPOURL/proj%20B/non-existent-path" dest
Mads Kiilerich
convert: handle invalid subversion source paths
r14152 initializing destination dest repository
abort: no revision found in module /proj B/non-existent-path
[255]
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 ########################################
Test incremental conversion
Julian Cowley
convert: add config option to use the local time zone...
r17974 $ TZ=US/Hawaii hg convert --config convert.localtimezone=True "$SVNREPOURL/proj%20B" B-hg
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 scanning source...
sorting...
converting...
1 second letter
0 work in progress
updating tags
$ cd B-hg
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G --template '{rev} {desc|firstline} date: {date|date} files: {files}\n'
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 7 update tags date: * +0000 files: .hgtags (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 6 work in progress date: * -1000 files: letter2.txt (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 5 second letter date: * -1000 files: letter .txt letter2.txt (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 4 update tags date: * +0000 files: .hgtags (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 3 nice day date: * -1000 files: letter .txt (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 2 world date: * -1000 files: letter .txt (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 1 hello date: * -1000 files: letter .txt (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 |
Julian Cowley
convert: add config option to use the local time zone...
r17974 o 0 init projB date: * -1000 files: (glob)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
$ hg tags -q
tip
v0.2
v0.1
$ cd ..
Test filemap
$ echo 'include letter2.txt' > filemap
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert --filemap filemap "$SVNREPOURL/proj%20B/mytrunk" fmap
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 initializing destination fmap repository
scanning source...
sorting...
converting...
5 init projB
4 hello
3 world
2 nice day
1 second letter
0 work in progress
Pavel Boldin
convert.svn: branch name which equals trunk means `default' branch (issue2653)...
r13494 $ hg -R fmap branch -q
default
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G -R fmap --template '{rev} {desc|firstline} files: {files}\n'
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 o 1 work in progress files: letter2.txt
|
o 0 second letter files: letter2.txt
Mads Kiilerich
convert: introduce --full for converting all files...
r22300 Convert with --full adds and removes files that didn't change
$ cd B
$ echo >> "letter .txt"
$ svn ci -m 'nothing'
Sending letter .txt
Transmitting file data .
Committed revision 9.
$ cd ..
$ echo 'rename letter2.txt letter3.txt' > filemap
$ hg convert --filemap filemap --full "$SVNREPOURL/proj%20B/mytrunk" fmap
scanning source...
sorting...
converting...
0 nothing
$ hg -R fmap st --change tip
A letter .txt
A letter3.txt
R letter2.txt
Ben Goswami
splicemap: improve error handling when source is subversion (issue2084)...
r19122 test invalid splicemap1
$ cat > splicemap <<EOF
> $INVALIDREVISIONID $VALIDREVISIONID
> EOF
$ hg convert --splicemap splicemap "$SVNREPOURL/proj%20B/mytrunk" smap
initializing destination smap repository
abort: splicemap entry svn:x2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk@1 is not a valid revision identifier
[255]
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Test stop revision
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg convert --rev 1 "$SVNREPOURL/proj%20B/mytrunk" stoprev
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 initializing destination stoprev repository
scanning source...
sorting...
converting...
0 init projB
Pavel Boldin
convert.svn: branch name which equals trunk means `default' branch (issue2653)...
r13494 $ hg -R stoprev branch -q
default
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370
Check convert_revision extra-records.
This is also the only place testing more than one extra field in a revision.
$ cd stoprev
$ hg tip --debug | grep extra
extra: branch=default
Pavel Boldin
convert.svn: branch name which equals trunk means `default' branch (issue2653)...
r13494 extra: convert_revision=svn:........-....-....-....-............/proj B/mytrunk@1 (re)
Dan Villiom Podlaski Christiansen
tests: unify test-convert-svn-*
r12370 $ cd ..
Patrick Mezard
convert/svn: do not try converting empty head revisions (issue3347)...
r16466
Mads Kiilerich
convert: secret config option for disabling debugsvnlog...
r20420 Test converting empty heads (issue3347).
Also tests getting logs directly without debugsvnlog.
Patrick Mezard
convert/svn: do not try converting empty head revisions (issue3347)...
r16466
$ svnadmin create svn-empty
$ svnadmin load -q svn-empty < "$TESTDIR/svn/empty.svndump"
Mads Kiilerich
convert: secret config option for disabling debugsvnlog...
r20420 $ hg --config convert.svn.trunk= --config convert.svn.debugsvnlog=0 convert svn-empty
Patrick Mezard
convert/svn: do not try converting empty head revisions (issue3347)...
r16466 assuming destination svn-empty-hg
initializing destination svn-empty-hg repository
scanning source...
sorting...
converting...
1 init projA
0 adddir
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg --config convert.svn.trunk= convert "$SVNREPOURL/../svn-empty/trunk"
Patrick Mezard
convert/svn: do not try converting empty head revisions (issue3347)...
r16466 assuming destination trunk-hg
initializing destination trunk-hg repository
scanning source...
sorting...
converting...
1 init projA
0 adddir