tests/test-convert.out
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Sat, 03 Jul 2010 18:11:15 +0900
changeset 11608 183e63112698
parent 11523 dec57aa0f8ca
child 11685 aade8f133d11
child 12184 025ca07351ea
permissions -rw-r--r--
log: remove increasing windows usage in fastpath The purpose of increasing windows is to allow backwards iteration on the filelog at a reasonable cost. But is it needed? - if follow is False, we have no reason to iterate backwards. We basically just want to walk the complete filelog and yield all revisions within the revision range. We can do this forward or backwards, as it only reads the index. - when follow is True, we need to examine the contents of the filelog, and to do this efficiently we need to read the filelog forward. And on the other hand, to track ancestors and copies, we need to process revisions backwards. But is it necessary to use increasing windows for this? We can iterate over the complete filelog forward, stack the revisions, and read the reversed(pile), it does the same thing with a more readable code.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6238
aac270593ef7 convert: rename MAPFILE into REVMAP to disambiguate with filemap
Patrick Mezard <pmezard@gmail.com>
parents: 6173
diff changeset
     1
hg convert [OPTION]... SOURCE [DEST [REVMAP]]
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
     2
7598
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7236
diff changeset
     3
convert a foreign SCM repository to a Mercurial one.
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
     4
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
     5
    Accepted source formats [identifiers]:
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
     6
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
     7
    - Mercurial [hg]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
     8
    - CVS [cvs]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
     9
    - Darcs [darcs]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    10
    - git [git]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    11
    - Subversion [svn]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    12
    - Monotone [mtn]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    13
    - GNU Arch [gnuarch]
7053
209ef5f3534c convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents: 6976
diff changeset
    14
    - Bazaar [bzr]
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
    15
    - Perforce [p4]
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    16
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    17
    Accepted destination formats [identifiers]:
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    18
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    19
    - Mercurial [hg]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    20
    - Subversion [svn] (history on branches is not preserved)
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    21
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    22
    If no revision is given, all revisions will be converted. Otherwise,
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    23
    convert will only import up to the named revision (given in a format
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    24
    understood by the source).
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    25
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    26
    If no destination directory name is specified, it defaults to the basename
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    27
    of the source with '-hg' appended. If the destination repository doesn't
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    28
    exist, it will be created.
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    29
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    30
    By default, all sources except Mercurial will use --branchsort. Mercurial
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    31
    uses --sourcesort to preserve original revision numbers order. Sort modes
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    32
    have the following effects:
9103
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
    33
9157
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    34
    --branchsort  convert from parent to child revision when possible, which
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    35
                  means branches are usually converted one after the other. It
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    36
                  generates more compact repositories.
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    37
    --datesort    sort revisions by date. Converted repositories have good-
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    38
                  looking changelogs but are often an order of magnitude
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    39
                  larger than the same ones generated by --branchsort.
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    40
    --sourcesort  try to preserve source revisions order, only supported by
9261667e9b82 commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents: 9103
diff changeset
    41
                  Mercurial sources.
8692
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    42
6238
aac270593ef7 convert: rename MAPFILE into REVMAP to disambiguate with filemap
Patrick Mezard <pmezard@gmail.com>
parents: 6173
diff changeset
    43
    If <REVMAP> isn't given, it will be put in a default location
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    44
    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file that
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    45
    maps each source commit ID to the destination ID for that revision, like
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    46
    so:
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    47
9291
cd5b6a11b607 minirst: indent literal blocks with two spaces
Martin Geisler <mg@lazybytes.net>
parents: 9157
diff changeset
    48
      <source ID> <destination ID>
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    49
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    50
    If the file doesn't exist, it's automatically created. It's updated on
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    51
    each commit copied, so convert-repo can be interrupted and can be run
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    52
    repeatedly to copy new commits.
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    53
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    54
    The [username mapping] file is a simple text file that maps each source
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    55
    commit author to a destination commit author. It is handy for source SCMs
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    56
    that use unix logins to identify authors (eg: CVS). One line per author
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    57
    mapping and the line format is: srcauthor=whatever string you want
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    58
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    59
    The filemap is a file that allows filtering and remapping of files and
11523
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    60
    directories. Each line can contain one of the following directives:
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    61
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    62
      include path/to/file-or-dir
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    63
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    64
      exclude path/to/file-or-dir
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    65
11523
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    66
      rename path/to/source path/to/destination
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    67
11523
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    68
    Comment lines start with '#'. A specificed path matches if it equals the
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    69
    full relative name of a file or one of its parent directories. The
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    70
    'include' or 'exclude' directive with the longest matching path applies,
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    71
    so line order does not matter.
5761
07df2a5c02b2 Adjust changed test output after 0145f9afb0e7 (trailing whitespace)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5556
diff changeset
    72
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    73
    The 'include' directive causes a file, or all files under a directory, to
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    74
    be included in the destination repository, and the exclusion of all other
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    75
    files and directories not explicitly included. The 'exclude' directive
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    76
    causes files or directories to be omitted. The 'rename' directive renames
11523
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    77
    a file or directory if is converted. To rename from a subdirectory into
dec57aa0f8ca convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents: 11321
diff changeset
    78
    the root of the repository, use '.' as the path to rename to.
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
    79
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    80
    The splicemap is a file that allows insertion of synthetic history,
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    81
    letting you specify the parents of a revision. This is useful if you want
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    82
    to e.g. give a Subversion merge two parents, or graft two disconnected
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    83
    series of history together. Each entry contains a key, followed by a
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    84
    space, followed by one or two comma-separated values. The key is the
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    85
    revision ID in the source revision control system whose parents should be
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    86
    modified (same format as a key in .hg/shamap). The values are the revision
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    87
    IDs (in either the source or destination revision control system) that
9634
fbde669564d8 convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents: 9543
diff changeset
    88
    should be used as the new parents for that node. For example, if you have
fbde669564d8 convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents: 9543
diff changeset
    89
    merged "release-1.0" into "trunk", then you should specify the revision on
fbde669564d8 convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents: 9543
diff changeset
    90
    "trunk" as the first parent and the one on the "release-1.0" branch as the
fbde669564d8 convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents: 9543
diff changeset
    91
    second.
6148
31d81d476a7f update output of test-convert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 6039
diff changeset
    92
8377
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8222
diff changeset
    93
    The branchmap is a file that allows you to rename a branch when it is
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8222
diff changeset
    94
    being brought in from whatever external repository. When used in
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    95
    conjunction with a splicemap, it allows for a powerful combination to help
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    96
    fix even the most badly mismanaged repositories and turn them into nicely
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    97
    structured Mercurial repositories. The branchmap contains lines of the
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    98
    form "original_branch_name new_branch_name". "original_branch_name" is the
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
    99
    name of the branch in the source repository, and "new_branch_name" is the
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   100
    name of the branch is the destination repository. This can be used to (for
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   101
    instance) move code in one repository from "default" to a named branch.
8377
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8222
diff changeset
   102
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   103
    Mercurial Source
9086
f459f09b4214 convert: fixed typo in docstring
Martin Geisler <mg@lazybytes.net>
parents: 9058
diff changeset
   104
    ----------------
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   105
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   106
    --config convert.hg.ignoreerrors=False    (boolean)
7231
8e7130a10f3b convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents: 7170
diff changeset
   107
        ignore integrity errors when reading. Use it to fix Mercurial
8e7130a10f3b convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents: 7170
diff changeset
   108
        repositories with missing revlogs, by converting from and to
8e7130a10f3b convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents: 7170
diff changeset
   109
        Mercurial.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   110
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   111
    --config convert.hg.saverev=False         (boolean)
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   112
        store original revision ID in changeset (forces target IDs to change)
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   113
6885
6e253aa04ff7 convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents: 6798
diff changeset
   114
    --config convert.hg.startrev=0            (hg revision identifier)
6e253aa04ff7 convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents: 6798
diff changeset
   115
        convert start revision and its descendants
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   116
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   117
    CVS Source
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   118
    ----------
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   119
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   120
    CVS source will use a sandbox (i.e. a checked-out copy) from CVS to
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   121
    indicate the starting point of what will be converted. Direct access to
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   122
    the repository files is not needed, unless of course the repository is
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   123
    :local:. The conversion uses the top level directory in the sandbox to
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   124
    find the CVS repository, and then uses CVS rlog commands to find files to
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   125
    convert. This means that unless a filemap is given, all files under the
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   126
    starting directory will be converted, and that any directory
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   127
    reorganization in the CVS sandbox is ignored.
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   128
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   129
    The options shown are the defaults.
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   130
9103
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   131
    --config convert.cvsps.cache=True         (boolean)
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   132
        Set to False to disable remote log caching, for testing and debugging
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   133
        purposes.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   134
9103
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   135
    --config convert.cvsps.fuzz=60            (integer)
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   136
        Specify the maximum time (in seconds) that is allowed between commits
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   137
        with identical user and log message in a single changeset. When very
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   138
        large files were checked in as part of a changeset then the default
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   139
        may not be long enough.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   140
9103
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   141
    --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}'
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   142
        Specify a regular expression to which commit log messages are matched.
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   143
        If a match occurs, then the conversion process will insert a dummy
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   144
        revision merging the branch on which this log message occurs to the
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   145
        branch indicated in the regex.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   146
9103
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   147
    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}'
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   148
        Specify a regular expression to which commit log messages are matched.
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   149
        If a match occurs, then the conversion process will add the most
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   150
        recent revision on the branch indicated in the regex as the second
9c7a5d70e72f convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents: 9086
diff changeset
   151
        parent of the changeset.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   152
10095
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   153
    --config hook.cvslog
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   154
        Specify a Python function to be called at the end of gathering the CVS
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   155
        log. The function is passed a list with the log entries, and can
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   156
        modify the entries in-place, or add or delete them.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   157
10095
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   158
    --config hook.cvschangesets
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   159
        Specify a Python function to be called after the changesets are
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   160
        calculated from the the CVS log. The function is passed a list with
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   161
        the changeset entries, and can modify the changesets in-place, or add
69ce7a10e593 convert: implement two hooks in builtin cvsps
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 9962
diff changeset
   162
        or delete them.
6923
ebf1462f2145 strip trailing whitespace, replace tabs by spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6885
diff changeset
   163
9472
a15813fae0a8 convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents: 9291
diff changeset
   164
    An additional "debugcvsps" Mercurial command allows the builtin changeset
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   165
    merging code to be run without doing a conversion. Its parameters and
9472
a15813fae0a8 convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents: 9291
diff changeset
   166
    output are similar to that of cvsps 2.1. Please see the command help for
a15813fae0a8 convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents: 9291
diff changeset
   167
    more details.
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6308
diff changeset
   168
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   169
    Subversion Source
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   170
    -----------------
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   171
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   172
    Subversion source detects classical trunk/branches/tags layouts. By
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   173
    default, the supplied "svn://repo/path/" source URL is converted as a
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   174
    single branch. If "svn://repo/path/trunk" exists it replaces the default
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   175
    branch. If "svn://repo/path/branches" exists, its subdirectories are
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   176
    listed as possible branches. If "svn://repo/path/tags" exists, it is
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   177
    looked for tags referencing converted branches. Default "trunk",
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   178
    "branches" and "tags" values can be overridden with following options. Set
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   179
    them to paths relative to the source URL, or leave them blank to disable
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   180
    auto detection.
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   181
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   182
    --config convert.svn.branches=branches    (directory name)
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   183
        specify the directory containing branches
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   184
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   185
    --config convert.svn.tags=tags            (directory name)
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   186
        specify the directory containing tags
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   187
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   188
    --config convert.svn.trunk=trunk          (directory name)
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   189
        specify the name of the trunk branch
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   190
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   191
    Source history can be retrieved starting at a specific revision, instead
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   192
    of being integrally converted. Only single branch conversions are
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   193
    supported.
6173
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   194
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   195
    --config convert.svn.startrev=0           (svn revision number)
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   196
        specify start Subversion revision.
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   197
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   198
    Perforce Source
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   199
    ---------------
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   200
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   201
    The Perforce (P4) importer can be given a p4 depot path or a client
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   202
    specification as source. It will convert all files in the source to a flat
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   203
    Mercurial repository, ignoring labels, branches and integrations. Note
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   204
    that when a depot path is given you then usually should specify a target
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   205
    directory, because otherwise the target may be named ...-hg.
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   206
9058
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   207
    It is possible to limit the amount of source history to be converted by
b10cee4bd2c1 convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents: 8844
diff changeset
   208
    specifying an initial Perforce revision.
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   209
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   210
    --config convert.p4.startrev=0            (perforce changelist number)
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   211
        specify initial Perforce revision.
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   212
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   213
    Mercurial Destination
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   214
    ---------------------
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5513
diff changeset
   215
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5513
diff changeset
   216
    --config convert.hg.clonebranches=False   (boolean)
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   217
        dispatch source branches in separate clones.
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   218
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5513
diff changeset
   219
    --config convert.hg.tagsbranch=default    (branch name)
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   220
        tag revisions branch name
10936
2853c891ac41 minirst: add margin around definition items
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   221
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5513
diff changeset
   222
    --config convert.hg.usebranchnames=True   (boolean)
6170
747169c54c68 Fix test-convert.out after 55455556f921
Patrick Mezard <pmezard@gmail.com>
parents: 6148
diff changeset
   223
        preserve branch names
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5513
diff changeset
   224
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   225
options:
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   226
11321
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   227
 -A --authors FILE      username mapping filename
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   228
 -d --dest-type TYPE    destination repository type
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   229
    --filemap FILE      remap file names using contents of file
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   230
 -r --rev REV           import up to target revision REV
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   231
 -s --source-type TYPE  source repository type
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   232
    --splicemap FILE    splice synthesized history into place
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   233
    --branchmap FILE    change branch names while converting
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   234
    --branchsort        try to sort changesets by branches
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   235
    --datesort          try to sort changesets by date
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10941
diff changeset
   236
    --sourcesort        preserve source changesets order
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   237
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   238
use "hg -v help convert" to show global options
5015
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   239
adding a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   240
assuming destination a-hg
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   241
initializing destination a-hg repository
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   242
scanning source...
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   243
sorting...
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   244
converting...
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   245
4 a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   246
3 b
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   247
2 c
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   248
1 d
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   249
0 e
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   250
pulling from ../a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   251
searching for changes
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
   252
no changes found
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   253
% should fail
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   254
initializing destination bogusfile repository
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   255
abort: cannot create new bundle repository
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   256
% should fail
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   257
abort: Permission denied: bogusdir
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   258
% should succeed
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   259
initializing destination bogusdir repository
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   260
scanning source...
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   261
sorting...
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   262
converting...
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   263
4 a
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   264
3 b
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   265
2 c
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   266
1 d
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5015
diff changeset
   267
0 e
5805
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5761
diff changeset
   268
% test pre and post conversion actions
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5761
diff changeset
   269
run hg source pre-conversion action
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5761
diff changeset
   270
run hg sink pre-conversion action
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5761
diff changeset
   271
run hg sink post-conversion action
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5761
diff changeset
   272
run hg source post-conversion action
7905
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 7823
diff changeset
   273
% converting empty dir should fail nicely
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 7823
diff changeset
   274
assuming destination emptydir-hg
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 7823
diff changeset
   275
initializing destination emptydir-hg repository
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 7823
diff changeset
   276
emptydir does not look like a CVS checkout
10938
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   277
emptydir does not look like a Git repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   278
emptydir does not look like a Subversion repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   279
emptydir is not a local Mercurial repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   280
emptydir does not look like a darcs repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   281
emptydir does not look like a monotone repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   282
emptydir does not look like a GNU Arch repository
02d6149a480b convert: write "repository" instead of "repo"
Martin Geisler <mg@lazybytes.net>
parents: 10885
diff changeset
   283
emptydir does not look like a Bazaar repository
8844
d2ef4f2b904a tests: fix test for convert detection of p4 repos
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8692
diff changeset
   284
cannot find required "p4" tool
7905
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 7823
diff changeset
   285
abort: emptydir: missing or unsupported repository
9962
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 9634
diff changeset
   286
% convert with imaginary source type
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 9634
diff changeset
   287
initializing destination a-foo repository
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 9634
diff changeset
   288
abort: foo: invalid source repository type
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 9634
diff changeset
   289
% convert with imaginary sink type
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 9634
diff changeset
   290
abort: foo: invalid destination repository type
10577
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   291
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   292
% testing: convert must not produce duplicate entries in fncache
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   293
initializing destination b repository
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   294
scanning source...
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   295
sorting...
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   296
converting...
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   297
4 a
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   298
3 b
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   299
2 c
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   300
1 d
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   301
0 e
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   302
% contents of fncache file:
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   303
data/a.i
d5bd1beff794 store: only add new entries to the fncache file
Adrian Buehlmann <adrian@cadifra.com>
parents: 10095
diff changeset
   304
data/b.i
10885
9e4d120e3c32 convert/subversion: fix default URL checker prototype
Patrick Mezard <pmezard@gmail.com>
parents: 10577
diff changeset
   305
% test bogus URL
9e4d120e3c32 convert/subversion: fix default URL checker prototype
Patrick Mezard <pmezard@gmail.com>
parents: 10577
diff changeset
   306
abort: bzr+ssh://foobar@selenic.com/baz: missing or unsupported repository