tests/test-convert-svn-source.t
author Matt Mackall <mpm@selenic.com>
Thu, 05 Mar 2015 13:21:57 -0600
changeset 24205 abcb1ee3b20a
parent 23583 a8edcb9c1199
child 25472 4d2b9b304ad0
permissions -rw-r--r--
check-code: allow disabling msys path check
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 20420
diff changeset
     1
#require svn svn-bindings
5255
37c610c41ed6 Test svn repository conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
13519
43b3b761d9d1 tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents: 13494
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
     4
  > [extensions]
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 17044
diff changeset
     5
  > convert =
13494
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
     6
  > [convert]
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
     7
  > svn.trunk = mytrunk
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
     8
  > EOF
5255
37c610c41ed6 Test svn repository conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    10
  $ svnadmin create svn-repo
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    11
  $ SVNREPOPATH=`pwd`/svn-repo
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    12
#if windows
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22300
diff changeset
    13
  $ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    14
#else
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22300
diff changeset
    15
  $ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    16
#endif
19122
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
    17
  $ INVALIDREVISIONID=svn:x2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk@1
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
    18
  $ VALIDREVISIONID=svn:a2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk/mytrunk@1
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    19
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    20
Now test that it works with trunk/tags layout, but no branches yet.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    21
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    22
Initial svn import
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    23
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    24
  $ mkdir projB
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    25
  $ cd projB
13494
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
    26
  $ mkdir mytrunk
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    27
  $ mkdir tags
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    28
  $ cd ..
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    29
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    30
  $ svn import -m "init projB" projB "$SVNREPOURL/proj%20B" | sort
16525
b12b65d2cbe4 test-convert-svn-source: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16466
diff changeset
    31
  
17044
3dd6da761fff tests: add missing path globbing for Windows in svn tests
Mads Kiilerich <mads@kiilerich.com>
parents: 17033
diff changeset
    32
  Adding         projB/mytrunk (glob)
3dd6da761fff tests: add missing path globbing for Windows in svn tests
Mads Kiilerich <mads@kiilerich.com>
parents: 17033
diff changeset
    33
  Adding         projB/tags (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    34
  Committed revision 1.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    35
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    36
Update svn repository
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    37
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    38
  $ svn co "$SVNREPOURL/proj%20B/mytrunk" B
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    39
  Checked out revision 1.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    40
  $ cd B
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    41
  $ echo hello > 'letter .txt'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    42
  $ svn add 'letter .txt'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    43
  A         letter .txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    44
  $ svn ci -m hello
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    45
  Adding         letter .txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    46
  Transmitting file data .
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    47
  Committed revision 2.
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    48
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    49
  $ "$TESTDIR/svn-safe-append.py" world 'letter .txt'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    50
  $ svn ci -m world
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    51
  Sending        letter .txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    52
  Transmitting file data .
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    53
  Committed revision 3.
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    54
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    55
  $ svn copy -m "tag v0.1" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.1"
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    56
  
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    57
  Committed revision 4.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    58
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    59
  $ "$TESTDIR/svn-safe-append.py" 'nice day today!' 'letter .txt'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    60
  $ svn ci -m "nice day"
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    61
  Sending        letter .txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    62
  Transmitting file data .
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    63
  Committed revision 5.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    64
  $ cd ..
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    65
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    66
Convert to hg once and also test localtimezone option
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    67
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    68
NOTE: This doesn't check all time zones -- it merely determines that
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    69
the configuration option is taking effect.
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    70
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    71
An arbitrary (U.S.) time zone is used here.  TZ=US/Hawaii is selected
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    72
since it does not use DST (unlike other U.S. time zones) and is always
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    73
a fixed difference from UTC.
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    74
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
    75
  $ TZ=US/Hawaii hg convert --config convert.localtimezone=True "$SVNREPOURL/proj%20B" B-hg
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    76
  initializing destination B-hg repository
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    77
  scanning source...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    78
  sorting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    79
  converting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    80
  3 init projB
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    81
  2 hello
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    82
  1 world
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    83
  0 nice day
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    84
  updating tags
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    85
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    86
Update svn repository again
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    87
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    88
  $ cd B
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    89
  $ "$TESTDIR/svn-safe-append.py" "see second letter" 'letter .txt'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    90
  $ echo "nice to meet you" > letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    91
  $ svn add letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    92
  A         letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    93
  $ svn ci -m "second letter"
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    94
  Sending        letter .txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    95
  Adding         letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    96
  Transmitting file data ..
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
    97
  Committed revision 6.
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
    98
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
    99
  $ svn copy -m "tag v0.2" "$SVNREPOURL/proj%20B/mytrunk" "$SVNREPOURL/proj%20B/tags/v0.2"
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   100
  
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   101
  Committed revision 7.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   102
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   103
  $ "$TESTDIR/svn-safe-append.py" "blah-blah-blah" letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   104
  $ svn ci -m "work in progress"
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   105
  Sending        letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   106
  Transmitting file data .
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   107
  Committed revision 8.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   108
  $ cd ..
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
   109
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
   110
  $ hg convert -s svn "$SVNREPOURL/proj%20B/non-existent-path" dest
14152
00121103546a convert: handle invalid subversion source paths
Mads Kiilerich <mads@kiilerich.com>
parents: 13519
diff changeset
   111
  initializing destination dest repository
00121103546a convert: handle invalid subversion source paths
Mads Kiilerich <mads@kiilerich.com>
parents: 13519
diff changeset
   112
  abort: no revision found in module /proj B/non-existent-path
00121103546a convert: handle invalid subversion source paths
Mads Kiilerich <mads@kiilerich.com>
parents: 13519
diff changeset
   113
  [255]
00121103546a convert: handle invalid subversion source paths
Mads Kiilerich <mads@kiilerich.com>
parents: 13519
diff changeset
   114
6401
635c57cf0de8 test-convert-svn-source: remove redundant tests
Patrick Mezard <pmezard@gmail.com>
parents: 5954
diff changeset
   115
########################################
635c57cf0de8 test-convert-svn-source: remove redundant tests
Patrick Mezard <pmezard@gmail.com>
parents: 5954
diff changeset
   116
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   117
Test incremental conversion
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   118
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   119
  $ TZ=US/Hawaii hg convert --config convert.localtimezone=True "$SVNREPOURL/proj%20B" B-hg
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   120
  scanning source...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   121
  sorting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   122
  converting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   123
  1 second letter
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   124
  0 work in progress
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   125
  updating tags
5854
8b95f598097c convert: separate trunk detection from branch layout detection
Edouard Gomez <ed.gomez@free.fr>
parents: 5804
diff changeset
   126
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   127
  $ cd B-hg
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19122
diff changeset
   128
  $ hg log -G --template '{rev} {desc|firstline} date: {date|date} files: {files}\n'
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   129
  o  7 update tags date: * +0000 files: .hgtags (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   130
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   131
  o  6 work in progress date: * -1000 files: letter2.txt (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   132
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   133
  o  5 second letter date: * -1000 files: letter .txt letter2.txt (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   134
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   135
  o  4 update tags date: * +0000 files: .hgtags (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   136
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   137
  o  3 nice day date: * -1000 files: letter .txt (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   138
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   139
  o  2 world date: * -1000 files: letter .txt (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   140
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   141
  o  1 hello date: * -1000 files: letter .txt (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   142
  |
17974
337d728e644f convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents: 17347
diff changeset
   143
  o  0 init projB date: * -1000 files: (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   144
  
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   145
  $ hg tags -q
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   146
  tip
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   147
  v0.2
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   148
  v0.1
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   149
  $ cd ..
6401
635c57cf0de8 test-convert-svn-source: remove redundant tests
Patrick Mezard <pmezard@gmail.com>
parents: 5954
diff changeset
   150
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   151
Test filemap
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   152
  $ echo 'include letter2.txt' > filemap
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
   153
  $ hg convert --filemap filemap "$SVNREPOURL/proj%20B/mytrunk" fmap
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   154
  initializing destination fmap repository
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   155
  scanning source...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   156
  sorting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   157
  converting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   158
  5 init projB
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   159
  4 hello
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   160
  3 world
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   161
  2 nice day
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   162
  1 second letter
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   163
  0 work in progress
13494
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
   164
  $ hg -R fmap branch -q
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
   165
  default
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19122
diff changeset
   166
  $ hg log -G -R fmap --template '{rev} {desc|firstline} files: {files}\n'
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   167
  o  1 work in progress files: letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   168
  |
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   169
  o  0 second letter files: letter2.txt
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   170
  
22300
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   171
Convert with --full adds and removes files that didn't change
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   172
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   173
  $ cd B
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   174
  $ echo >> "letter .txt"
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   175
  $ svn ci -m 'nothing'
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   176
  Sending        letter .txt
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   177
  Transmitting file data .
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   178
  Committed revision 9.
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   179
  $ cd ..
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   180
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   181
  $ echo 'rename letter2.txt letter3.txt' > filemap
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   182
  $ hg convert --filemap filemap --full "$SVNREPOURL/proj%20B/mytrunk" fmap
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   183
  scanning source...
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   184
  sorting...
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   185
  converting...
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   186
  0 nothing
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   187
  $ hg -R fmap st --change tip
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   188
  A letter .txt
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   189
  A letter3.txt
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   190
  R letter2.txt
35ab037de989 convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   191
19122
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   192
test invalid splicemap1
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   193
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   194
  $ cat > splicemap <<EOF
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   195
  > $INVALIDREVISIONID $VALIDREVISIONID
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   196
  > EOF
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   197
  $ hg convert --splicemap splicemap "$SVNREPOURL/proj%20B/mytrunk" smap
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   198
  initializing destination smap repository
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   199
  abort: splicemap entry svn:x2147622-4a9f-4db4-a8d3-13562ff547b2/proj%20B/mytrunk@1 is not a valid revision identifier
83973dc1bfe9 splicemap: improve error handling when source is subversion (issue2084)
Ben Goswami <bengoswami@fb.com>
parents: 17974
diff changeset
   200
  [255]
6401
635c57cf0de8 test-convert-svn-source: remove redundant tests
Patrick Mezard <pmezard@gmail.com>
parents: 5954
diff changeset
   201
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   202
Test stop revision
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
   203
  $ hg convert --rev 1 "$SVNREPOURL/proj%20B/mytrunk" stoprev
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   204
  initializing destination stoprev repository
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   205
  scanning source...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   206
  sorting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   207
  converting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   208
  0 init projB
13494
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
   209
  $ hg -R stoprev branch -q
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
   210
  default
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   211
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   212
Check convert_revision extra-records.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   213
This is also the only place testing more than one extra field in a revision.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   214
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   215
  $ cd stoprev
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   216
  $ hg tip --debug | grep extra
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   217
  extra:       branch=default
13494
3178aca36b0f convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents: 12377
diff changeset
   218
  extra:       convert_revision=svn:........-....-....-....-............/proj B/mytrunk@1 (re)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 10775
diff changeset
   219
  $ cd ..
16466
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   220
20420
62153c5d1ce2 convert: secret config option for disabling debugsvnlog
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   221
Test converting empty heads (issue3347).
62153c5d1ce2 convert: secret config option for disabling debugsvnlog
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   222
Also tests getting logs directly without debugsvnlog.
16466
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   223
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   224
  $ svnadmin create svn-empty
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   225
  $ svnadmin load -q svn-empty < "$TESTDIR/svn/empty.svndump"
20420
62153c5d1ce2 convert: secret config option for disabling debugsvnlog
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   226
  $ hg --config convert.svn.trunk= --config convert.svn.debugsvnlog=0 convert svn-empty
16466
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   227
  assuming destination svn-empty-hg
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   228
  initializing destination svn-empty-hg repository
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   229
  scanning source...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   230
  sorting...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   231
  converting...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   232
  1 init projA
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   233
  0 adddir
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 16525
diff changeset
   234
  $ hg --config convert.svn.trunk= convert "$SVNREPOURL/../svn-empty/trunk"
16466
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   235
  assuming destination trunk-hg
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   236
  initializing destination trunk-hg repository
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   237
  scanning source...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   238
  sorting...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   239
  converting...
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   240
  1 init projA
c53a49c345e1 convert/svn: do not try converting empty head revisions (issue3347)
Patrick Mezard <patrick@mezard.eu>
parents: 14152
diff changeset
   241
  0 adddir
23583
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   242
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   243
Test that a too-new repository format is properly rejected:
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   244
  $ mv svn-empty/format format
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   245
  $ echo 999 > svn-empty/format
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   246
It's important that this command explicitly specify svn, otherwise it
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   247
can have surprising side effects (like falling back to a perforce
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   248
depot that can be seen from the test environment and slurping from that.)
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   249
  $ hg convert --source-type svn svn-empty this-will-fail
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   250
  initializing destination this-will-fail repository
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   251
  file:/*/$TESTTMP/svn-empty does not look like a Subversion repository to libsvn version 1.*.* (glob)
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   252
  abort: svn-empty: missing or unsupported repository
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   253
  [255]
a8edcb9c1199 convert: on svn failure, note libsvn version (issue4043)
Augie Fackler <raf@durin42.com>
parents: 22947
diff changeset
   254
  $ mv format svn-empty/format