tests/test-convert-svn-encoding.t
author Manuel Jacob <me@manueljacob.de>
Mon, 29 Jun 2020 15:03:36 +0200
branchstable
changeset 45022 e3b19004087a
parent 45020 697212a830fb
child 45023 e54c3cafda15
permissions -rw-r--r--
convert: correctly convert paths to UTF-8 for Subversion The previous code using encoding.tolocal() only worked by chance in these situations: * The string is ASCII: The fast path was triggered and the string was returned unmodified. * The local encoding is UTF-8: The source and target encoding is the same. * The string is not valid UTF-8 and the native encoding is ISO-8859-1: If the string doesn’t decode using UTF-8, ISO-8859-1 is tried as a fallback. During `hg convert`, the local encoding is always UTF-8. The irony is that in this case, encoding.tolocal() behaves like what someone would expect the reverse function, encoding.fromlocal(), to do. When the locale encoding is ISO-8859-15, trying to convert a SVN repo `/tmp/a€` failed before like this: file:///tmp/a%C2%A4 does not look like a Subversion repository to libsvn version 1.14.0 The correct URL is `file:///tmp/a%E2%82%AC`. Unlike previously (with the ISO-8859-1 fallback), decoding the path using the locale encoding can fail. In this case, we have to bail out, as Subversion won’t be able to do anything useful with the path.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 20117
diff changeset
     1
#require svn svn-bindings
8882
48a04961b0dd convert/svn: remove useless encoding/decoding calls (issue1676)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
13519
43b3b761d9d1 tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents: 12943
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
     4
  > [extensions]
17347
2da47de36b6f check-code: fix check for trailing whitespace on continued lines too
Mads Kiilerich <mads@kiilerich.com>
parents: 14162
diff changeset
     5
  > convert =
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
     6
  > EOF
8882
48a04961b0dd convert/svn: remove useless encoding/decoding calls (issue1676)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
     8
  $ svnadmin create svn-repo
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
     9
  $ svnadmin load -q svn-repo < "$TESTDIR/svn/encoding.svndump"
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    10
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    11
Convert while testing all possible outputs
8882
48a04961b0dd convert/svn: remove useless encoding/decoding calls (issue1676)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24728
diff changeset
    13
  $ hg --debug convert svn-repo A-hg --config progress.debug=1
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    14
  initializing destination A-hg repository
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    15
  reparent to file:/*/$TESTTMP/svn-repo (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    16
  run hg sink pre-conversion action
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    17
  scanning source...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    18
  found trunk at 'trunk'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    19
  found tags at 'tags'
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    20
  found branches at 'branches'
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    21
  found branch branch\xc3\xa9 at 5 (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    22
  found branch branch\xc3\xa9e at 6 (esc)
22414
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    23
  scanning: 1/4 revisions (25.00%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    24
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    25
  fetching revision log for "/trunk" from 4 to 0
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    26
  parsing revision 4 (2 changes)
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    27
  parsing revision 3 (4 changes)
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    28
  parsing revision 2 (3 changes)
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    29
  parsing revision 1 (3 changes)
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    30
  no copyfrom path, don't know what to do.
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    31
  '/branches' is not under '/trunk', ignoring
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    32
  '/tags' is not under '/trunk', ignoring
22414
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    33
  scanning: 2/4 revisions (50.00%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    34
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9 (glob)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    35
  fetching revision log for "/branches/branch\xc3\xa9" from 5 to 0 (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    36
  parsing revision 5 (1 changes)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    37
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    38
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9 (glob)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    39
  found parent of branch /branches/branch\xc3\xa9 at 4: /trunk (esc)
22414
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    40
  scanning: 3/4 revisions (75.00%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    41
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9e (glob)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    42
  fetching revision log for "/branches/branch\xc3\xa9e" from 6 to 0 (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    43
  parsing revision 6 (1 changes)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    44
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    45
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9e (glob)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    46
  found parent of branch /branches/branch\xc3\xa9e at 5: /branches/branch\xc3\xa9 (esc)
22414
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    47
  scanning: 4/4 revisions (100.00%)
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    48
  scanning: 5/4 revisions (125.00%)
299eaa09b41b convert: enable deterministic conversion progress bar for svn
Augie Fackler <raf@durin42.com>
parents: 22046
diff changeset
    49
  scanning: 6/4 revisions (150.00%)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    50
  sorting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    51
  converting...
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    52
  5 init projA
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    53
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@1
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    54
  converting: 0/6 revisions (0.00%)
39109
a915db9a5e77 commit: add debug message regarding manifest reuse
Yuya Nishihara <yuya@tcha.org>
parents: 35451
diff changeset
    55
  reusing manifest from p1 (no file change)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    56
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
    57
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    58
  4 hello
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    59
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@2
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    60
  converting: 1/6 revisions (16.67%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    61
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    62
  scanning paths: /trunk/\xc3\xa0 0/3 paths (0.00%) (esc)
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    63
  scanning paths: /trunk/\xc3\xa0/e\xcc\x81 1/3 paths (33.33%) (esc)
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    64
  scanning paths: /trunk/\xc3\xa9 2/3 paths (66.67%) (esc)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    65
  committing files:
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    66
  \xc3\xa0/e\xcc\x81 (esc)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    67
  getting files: \xc3\xa0/e\xcc\x81 1/2 files (50.00%) (esc)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    68
  \xc3\xa9 (esc)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    69
  getting files: \xc3\xa9 2/2 files (100.00%) (esc)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    70
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    71
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
    72
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    73
  3 copy files
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    74
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@3
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    75
  converting: 2/6 revisions (33.33%)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    76
  scanning paths: /trunk/\xc3\xa0 0/4 paths (0.00%) (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    77
  gone from -1
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    78
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    79
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    80
  scanning paths: /trunk/\xc3\xa8 1/4 paths (25.00%) (esc)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    81
  copied to \xc3\xa8 from \xc3\xa9@2 (esc)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    82
  scanning paths: /trunk/\xc3\xa9 2/4 paths (50.00%) (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
    83
  gone from -1
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    84
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
    85
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
    86
  scanning paths: /trunk/\xc3\xb9 3/4 paths (75.00%) (esc)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    87
  mark /trunk/\xc3\xb9 came from \xc3\xa0:2 (esc)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    88
  getting files: \xc3\xa0/e\xcc\x81 1/4 files (25.00%) (esc)
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    89
  getting files: \xc3\xa9 2/4 files (50.00%) (esc)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    90
  committing files:
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    91
  \xc3\xa8 (esc)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    92
  getting files: \xc3\xa8 3/4 files (75.00%) (esc)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    93
   \xc3\xa8: copy \xc3\xa9:6b67ccefd5ce6de77e7ead4f5292843a0255329f (esc)
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    94
  \xc3\xb9/e\xcc\x81 (esc)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
    95
  getting files: \xc3\xb9/e\xcc\x81 4/4 files (100.00%) (esc)
12942
05fffd665170 tests: use (esc) for all non-ASCII test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12679
diff changeset
    96
   \xc3\xb9/e\xcc\x81: copy \xc3\xa0/e\xcc\x81:a9092a3d84a37b9993b5c73576f6de29b7ea50f6 (esc)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    97
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
    98
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
    99
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   100
  2 remove files
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   101
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/trunk@4
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   102
  converting: 3/6 revisions (50.00%)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
   103
  scanning paths: /trunk/\xc3\xa8 0/2 paths (0.00%) (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   104
  gone from -1
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   105
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   106
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
   107
  scanning paths: /trunk/\xc3\xb9 1/2 paths (50.00%) (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   108
  gone from -1
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   109
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   110
  reparent to file:/*/$TESTTMP/svn-repo/trunk (glob)
28470
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
   111
  getting files: \xc3\xa8 1/2 files (50.00%) (esc)
80bd110dbf5e convert: specify unit for ui.progress when operating on files
Anton Shestakov <av6@dwimlabs.net>
parents: 25125
diff changeset
   112
  getting files: \xc3\xb9/e\xcc\x81 2/2 files (100.00%) (esc)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   113
  committing files:
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   114
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   115
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
   116
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   117
  1 branch to branch?
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   118
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?@5
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   119
  converting: 4/6 revisions (66.67%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   120
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9 (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
   121
  scanning paths: /branches/branch\xc3\xa9 0/1 paths (0.00%) (esc)
39109
a915db9a5e77 commit: add debug message regarding manifest reuse
Yuya Nishihara <yuya@tcha.org>
parents: 35451
diff changeset
   122
  reusing manifest from p1 (no file change)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   123
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
   124
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   125
  0 branch to branch?e
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   126
  source: svn:afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af/branches/branch?e@6
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   127
  converting: 5/6 revisions (83.33%)
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   128
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9e (glob)
28471
f106913c6a4e convert: specify unit for ui.progress when scanning paths
Anton Shestakov <av6@dwimlabs.net>
parents: 28470
diff changeset
   129
  scanning paths: /branches/branch\xc3\xa9e 0/1 paths (0.00%) (esc)
39109
a915db9a5e77 commit: add debug message regarding manifest reuse
Yuya Nishihara <yuya@tcha.org>
parents: 35451
diff changeset
   130
  reusing manifest from p1 (no file change)
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   131
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
   132
  updating the branch cache
35451
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   133
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   134
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9e (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   135
  reparent to file:/*/$TESTTMP/svn-repo (glob)
d624c8558c61 tests: update expected output of svn encoding test
Augie Fackler <augie@google.com>
parents: 32267
diff changeset
   136
  reparent to file:/*/$TESTTMP/svn-repo/branches/branch%C3%A9e (glob)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   137
  updating tags
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   138
  committing files:
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   139
  .hgtags
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   140
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23587
diff changeset
   141
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28471
diff changeset
   142
  updating the branch cache
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   143
  run hg sink post-conversion action
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   144
  $ cd A-hg
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   145
  $ hg up
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   146
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8882
48a04961b0dd convert/svn: remove useless encoding/decoding calls (issue1676)
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
   147
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   148
Check tags are in UTF-8
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   149
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12942
diff changeset
   150
  $ cat .hgtags
14162
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13519
diff changeset
   151
  e94e4422020e715add80525e8f0f46c9968689f1 branch\xc3\xa9e (esc)
301725c3df9a localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 13519
diff changeset
   152
  f7e66f98380ed1e53a797c5c7a7a2616a7ab377d branch\xc3\xa9 (esc)
12370
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   153
f98010f57a5e tests: unify test-convert-svn-*
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 8887
diff changeset
   154
  $ cd ..
44968
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   155
45020
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   156
Subversion sources don't support non-ASCII characters in HTTP(S) URLs.
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   157
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   158
  $ XFF=$($PYTHON -c 'from mercurial.utils.procutil import stdout; stdout.write(b"\xff")')
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   159
  $ hg convert --source-type=svn http://localhost:$HGPORT/$XFF test
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   160
  initializing destination test repository
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   161
  Subversion sources don't support non-ASCII characters in HTTP(S) URLs. Please percent-encode them.
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   162
  http://localhost:$HGPORT/\xff does not look like a Subversion repository (esc)
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   163
  abort: http://localhost:$HGPORT/\xff: missing or unsupported repository (esc)
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   164
  [255]
697212a830fb convert: bail out in Subversion source if encountering non-ASCII HTTP(S) URL
Manuel Jacob <me@manueljacob.de>
parents: 44968
diff changeset
   165
45022
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   166
In Subversion, paths are Unicode (encoded as UTF-8). Therefore paths that can't
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   167
be converted between UTF-8 and the locale encoding (which is always ASCII in
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   168
tests) don't work.
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   169
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   170
  $ cp -R svn-repo $XFF
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   171
  $ hg convert $XFF test
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   172
  initializing destination test repository
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   173
  Subversion requires that paths can be converted to Unicode using the current locale encoding (ascii)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   174
  \xff does not look like a CVS checkout (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   175
  $TESTTMP/\xff does not look like a Git repository (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   176
  \xff does not look like a Subversion repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   177
  \xff is not a local Mercurial repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   178
  \xff does not look like a darcs repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   179
  \xff does not look like a monotone repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   180
  \xff does not look like a GNU Arch repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   181
  \xff does not look like a Bazaar repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   182
  cannot find required "p4" tool
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   183
  abort: \xff: missing or unsupported repository (glob) (esc)
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   184
  [255]
e3b19004087a convert: correctly convert paths to UTF-8 for Subversion
Manuel Jacob <me@manueljacob.de>
parents: 45020
diff changeset
   185
44968
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   186
#if py3
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   187
For now, on Python 3, we abort when encountering non-UTF-8 percent-encoded
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   188
bytes in a filename.
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   189
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   190
  $ hg convert file:///%ff test
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   191
  initializing destination test repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   192
  on Python 3, we currently do not support non-UTF-8 percent-encoded bytes in file URLs for Subversion repositories
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   193
  file:///%ff does not look like a CVS checkout
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   194
  $TESTTMP/file:/%ff does not look like a Git repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   195
  file:///%ff does not look like a Subversion repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   196
  file:///%ff is not a local Mercurial repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   197
  file:///%ff does not look like a darcs repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   198
  file:///%ff does not look like a monotone repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   199
  file:///%ff does not look like a GNU Arch repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   200
  file:///%ff does not look like a Bazaar repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   201
  file:///%ff does not look like a P4 repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   202
  abort: file:///%ff: missing or unsupported repository
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   203
  [255]
75b59d221aa3 py3: pass native string to urlreq.url2pathname()
Manuel Jacob <me@manueljacob.de>
parents: 39109
diff changeset
   204
#endif