hgext/convert/__init__.py
author Cédric Duval <cedricduval@free.fr>
Mon, 22 Jun 2009 15:48:08 +0200
changeset 8894 868670dbc237
parent 8692 827d4e807d57
child 8932 f87884329419
permissions -rw-r--r--
extensions: improve the consistency of synopses Trying as much as possible to consistently: - use a present tense predicate followed by a direct object - verb referring directly to the functionality provided (ie. not "add command that does this" but simple "do that") - keep simple and to the point, leaving details for the long help (width is tight, possibly even more so for translations) Thanks to timeless, Martin Geisler, Rafael Villar Burke, Dan Villiom Podlaski Christiansen and others for the helpful suggestions.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
     1
# convert.py Foreign SCM converter
3917
645e1dd4b8ae convert-repo: update usage information
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3911
diff changeset
     2
#
4635
63b9d2deed48 Updated copyright notices and add "and others" to "hg version"
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4591
diff changeset
     3
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
316
c48d069163d6 Add new convert-repo script
mpm@selenic.com
parents:
diff changeset
     4
#
8225
46293a0c7e9f updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents: 8222
diff changeset
     5
# This software may be used and distributed according to the terms of the
46293a0c7e9f updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents: 8222
diff changeset
     6
# GNU General Public License version 2, incorporated herein by reference.
8228
eee2319c5895 add blank line after copyright notices and after header
Martin Geisler <mg@lazybytes.net>
parents: 8225
diff changeset
     7
8894
868670dbc237 extensions: improve the consistency of synopses
Cédric Duval <cedricduval@free.fr>
parents: 8692
diff changeset
     8
'''import from foreign VCS repositories into Mercurial'''
316
c48d069163d6 Add new convert-repo script
mpm@selenic.com
parents:
diff changeset
     9
5621
badbefa55972 convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents: 5521
diff changeset
    10
import convcmd
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
    11
import cvsps
7873
4a4c7f6a5912 cleanup: drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 7823
diff changeset
    12
import subversion
5621
badbefa55972 convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents: 5521
diff changeset
    13
from mercurial import commands
6999
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
    14
from mercurial.i18n import _
316
c48d069163d6 Add new convert-repo script
mpm@selenic.com
parents:
diff changeset
    15
5621
badbefa55972 convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents: 5521
diff changeset
    16
# Commands definition was moved elsewhere to ease demandload job.
694
51eb248d3348 Teach convert-repo about tags
mpm@selenic.com
parents: 692
diff changeset
    17
5281
a176f9c8b26e convert: rename a class and a function
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5256
diff changeset
    18
def convert(ui, src, dest=None, revmapfile=None, **opts):
7598
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
    19
    """convert a foreign SCM repository to a Mercurial one.
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    20
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    21
    Accepted source formats [identifiers]:
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    22
    - Mercurial [hg]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    23
    - CVS [cvs]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    24
    - Darcs [darcs]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    25
    - git [git]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    26
    - Subversion [svn]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    27
    - Monotone [mtn]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    28
    - GNU Arch [gnuarch]
7053
209ef5f3534c convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents: 6999
diff changeset
    29
    - Bazaar [bzr]
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
    30
    - Perforce [p4]
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    31
6976
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    32
    Accepted destination formats [identifiers]:
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    33
    - Mercurial [hg]
b072266a83d1 convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents: 6923
diff changeset
    34
    - Subversion [svn] (history on branches is not preserved)
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    35
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    36
    If no revision is given, all revisions will be converted.
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    37
    Otherwise, convert will only import up to the named revision
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    38
    (given in a format understood by the source).
4760
07efcce17d28 convert: add -r argument specifying latest revision to convert
Brendan Cully <brendan@kublai.com>
parents: 4719
diff changeset
    39
4883
72ac66e88c43 convert: Use clone's behaviour for the default destionation name.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4719
diff changeset
    40
    If no destination directory name is specified, it defaults to the
7983
7b813bdbd5d0 Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents: 7931
diff changeset
    41
    basename of the source with '-hg' appended. If the destination
4958
71fed370b7a7 Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4957
diff changeset
    42
    repository doesn't exist, it will be created.
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    43
8692
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    44
    By default, all sources except Mercurial will use
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    45
    --branchsort. Mercurial uses --sourcesort to preserve original
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    46
    revision numbers order. Sort modes have the following effects:
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    47
      --branchsort: convert from parent to child revision when
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    48
        possible, which means branches are usually converted one after
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    49
        the other. It generates more compact repositories.
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    50
      --datesort: sort revisions by date. Converted repositories have
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    51
        good-looking changelogs but are often an order of magnitude
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    52
        larger than the same ones generated by --branchsort.
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    53
      --sourcesort: try to preserve source revisions order, only
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    54
        supported by Mercurial sources.
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
    55
6238
aac270593ef7 convert: rename MAPFILE into REVMAP to disambiguate with filemap
Patrick Mezard <pmezard@gmail.com>
parents: 6173
diff changeset
    56
    If <REVMAP> isn't given, it will be put in a default location
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    57
    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    58
    that maps each source commit ID to the destination ID for that
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    59
    revision, like so:
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    60
    <source ID> <destination ID>
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
    61
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    62
    If the file doesn't exist, it's automatically created. It's
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    63
    updated on each commit copied, so convert-repo can be interrupted
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    64
    and can be run repeatedly to copy new commits.
4589
451e91ed535e convert extension: Add support for username mapping
Edouard Gomez <ed.gomez@free.fr>
parents: 4588
diff changeset
    65
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    66
    The [username mapping] file is a simple text file that maps each
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    67
    source commit author to a destination commit author. It is handy
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    68
    for source SCMs that use unix logins to identify authors (eg:
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    69
    CVS). One line per author mapping and the line format is:
4589
451e91ed535e convert extension: Add support for username mapping
Edouard Gomez <ed.gomez@free.fr>
parents: 4588
diff changeset
    70
    srcauthor=whatever string you want
5256
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    71
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    72
    The filemap is a file that allows filtering and remapping of files
7983
7b813bdbd5d0 Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents: 7931
diff changeset
    73
    and directories. Comment lines start with '#'. Each line can
5256
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    74
    contain one of the following directives:
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    75
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    76
      include path/to/file
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    77
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    78
      exclude path/to/file
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    79
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    80
      rename from/file to/file
5760
0145f9afb0e7 Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5632
diff changeset
    81
5256
0b0caffcf175 convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents: 5204
diff changeset
    82
    The 'include' directive causes a file, or all files under a
5484
07bdb5e5d08c Update convert help text
"Rafael Villar Burke <pachi@rvburke.com>"
parents: 5441
diff changeset
    83
    directory, to be included in the destination repository, and the
8668
aea3a23151bd fixed typos found in translatable strings
Martin Geisler <mg@lazybytes.net>
parents: 8598
diff changeset
    84
    exclusion of all other files and directories not explicitly included.
5484
07bdb5e5d08c Update convert help text
"Rafael Villar Burke <pachi@rvburke.com>"
parents: 5441
diff changeset
    85
    The 'exclude' directive causes files or directories to be omitted.
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    86
    The 'rename' directive renames a file or directory. To rename from
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    87
    a subdirectory into the root of the repository, use '.' as the
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    88
    path to rename to.
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
    89
6143
5b159ebb19cf convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents: 6035
diff changeset
    90
    The splicemap is a file that allows insertion of synthetic
7983
7b813bdbd5d0 Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents: 7931
diff changeset
    91
    history, letting you specify the parents of a revision. This is
6143
5b159ebb19cf convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents: 6035
diff changeset
    92
    useful if you want to e.g. give a Subversion merge two parents, or
7983
7b813bdbd5d0 Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents: 7931
diff changeset
    93
    graft two disconnected series of history together. Each entry
6143
5b159ebb19cf convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents: 6035
diff changeset
    94
    contains a key, followed by a space, followed by one or two
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    95
    comma-separated values. The key is the revision ID in the source
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    96
    revision control system whose parents should be modified (same
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    97
    format as a key in .hg/shamap). The values are the revision IDs
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    98
    (in either the source or destination revision control system) that
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
    99
    should be used as the new parents for that node.
6143
5b159ebb19cf convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents: 6035
diff changeset
   100
8377
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   101
    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: 8228
diff changeset
   102
    being brought in from whatever external repository. When used in
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   103
    conjunction with a splicemap, it allows for a powerful combination
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   104
    to help fix even the most badly mismanaged repositories and turn them
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   105
    into nicely structured Mercurial repositories. The branchmap contains
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   106
    lines of the form "original_branch_name new_branch_name".
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   107
    "original_branch_name" is the name of the branch in the source
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   108
    repository, and "new_branch_name" is the name of the branch is the
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   109
    destination repository. This can be used to (for instance) move code
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   110
    in one repository from "default" to a named branch.
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   111
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   112
    Mercurial Source
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   113
    -----------------
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   114
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   115
    --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
   116
        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
   117
        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
   118
        Mercurial.
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   119
    --config convert.hg.saverev=False         (boolean)
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   120
        store original revision ID in changeset (forces target IDs to
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   121
        change)
6885
6e253aa04ff7 convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents: 6798
diff changeset
   122
    --config convert.hg.startrev=0            (hg revision identifier)
6e253aa04ff7 convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents: 6798
diff changeset
   123
        convert start revision and its descendants
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   124
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   125
    CVS Source
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   126
    ----------
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   127
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   128
    CVS source will use a sandbox (i.e. a checked-out copy) from CVS
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   129
    to indicate the starting point of what will be converted. Direct
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   130
    access to the repository files is not needed, unless of course the
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   131
    repository is :local:. The conversion uses the top level directory
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   132
    in the sandbox to find the CVS repository, and then uses CVS rlog
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   133
    commands to find files to convert. This means that unless a
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   134
    filemap is given, all files under the starting directory will be
8668
aea3a23151bd fixed typos found in translatable strings
Martin Geisler <mg@lazybytes.net>
parents: 8598
diff changeset
   135
    converted, and that any directory reorganization in the CVS
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   136
    sandbox is ignored.
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   137
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   138
    Because CVS does not have changesets, it is necessary to collect
7101
e786192d995d convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents: 7053
diff changeset
   139
    individual commits to CVS and merge them into changesets. CVS
e786192d995d convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents: 7053
diff changeset
   140
    source uses its internal changeset merging code by default but can
e786192d995d convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents: 7053
diff changeset
   141
    be configured to call the external 'cvsps' program by setting:
7170
aff204c9bdd6 convert documentation: --config argument with spaces needs quoting.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 7101
diff changeset
   142
        --config convert.cvsps='cvsps -A -u --cvs-direct -q'
8598
5edb2a8e29ea convert: deprecate external cvsps, to be removed in 1.4
Patrick Mezard <pmezard@gmail.com>
parents: 8541
diff changeset
   143
    This option is deprecated and will be removed in Mercurial 1.4.
7101
e786192d995d convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents: 7053
diff changeset
   144
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   145
    The options shown are the defaults.
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   146
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   147
    Internal cvsps is selected by setting
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   148
        --config convert.cvsps=builtin
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   149
    and has a few more configurable options:
8169
6584953be356 convert/cvs: add an option to disable remote log caching
Patrick Mezard <pmezard@gmail.com>
parents: 8026
diff changeset
   150
        --config convert.cvsps.cache=True     (boolean)
8222
d30a21594812 more whitespace cleanup and some other style nits
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8169
diff changeset
   151
            Set to False to disable remote log caching, for testing and
8169
6584953be356 convert/cvs: add an option to disable remote log caching
Patrick Mezard <pmezard@gmail.com>
parents: 8026
diff changeset
   152
            debugging purposes.
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   153
        --config convert.cvsps.fuzz=60        (integer)
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   154
            Specify the maximum time (in seconds) that is allowed
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   155
            between commits with identical user and log message in a
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   156
            single changeset. When very large files were checked in as
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   157
            part of a changeset then the default may not be long
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   158
            enough.
8541
06ace50443f6 hgcia, convert: escape backslashes in docstrings
Martin Geisler <mg@lazybytes.net>
parents: 8377
diff changeset
   159
        --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   160
            Specify a regular expression to which commit log messages
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   161
            are matched. If a match occurs, then the conversion
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   162
            process will insert a dummy revision merging the branch on
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   163
            which this log message occurs to the branch indicated in
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   164
            the regex.
8541
06ace50443f6 hgcia, convert: escape backslashes in docstrings
Martin Geisler <mg@lazybytes.net>
parents: 8377
diff changeset
   165
        --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   166
            Specify a regular expression to which commit log messages
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   167
            are matched. If a match occurs, then the conversion
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   168
            process will add the most recent revision on the branch
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   169
            indicated in the regex as the second parent of the
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   170
            changeset.
6923
ebf1462f2145 strip trailing whitespace, replace tabs by spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6885
diff changeset
   171
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   172
    The hgext/convert/cvsps wrapper script allows the builtin
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   173
    changeset merging code to be run without doing a conversion. Its
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   174
    parameters and output are similar to that of cvsps 2.1.
6798
ceb28b67204e convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 6666
diff changeset
   175
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   176
    Subversion Source
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   177
    -----------------
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   178
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   179
    Subversion source detects classical trunk/branches/tags layouts.
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   180
    By default, the supplied "svn://repo/path/" source URL is
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   181
    converted as a single branch. If "svn://repo/path/trunk" exists it
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   182
    replaces the default branch. If "svn://repo/path/branches" exists,
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   183
    its subdirectories are listed as possible branches. If
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   184
    "svn://repo/path/tags" exists, it is looked for tags referencing
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   185
    converted branches. Default "trunk", "branches" and "tags" values
8668
aea3a23151bd fixed typos found in translatable strings
Martin Geisler <mg@lazybytes.net>
parents: 8598
diff changeset
   186
    can be overridden with following options. Set them to paths
aea3a23151bd fixed typos found in translatable strings
Martin Geisler <mg@lazybytes.net>
parents: 8598
diff changeset
   187
    relative to the source URL, or leave them blank to disable auto
aea3a23151bd fixed typos found in translatable strings
Martin Geisler <mg@lazybytes.net>
parents: 8598
diff changeset
   188
    detection.
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   189
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   190
    --config convert.svn.branches=branches    (directory name)
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   191
        specify the directory containing branches
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   192
    --config convert.svn.tags=tags            (directory name)
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   193
        specify the directory containing tags
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   194
    --config convert.svn.trunk=trunk          (directory name)
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   195
        specify the name of the trunk branch
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   196
6173
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   197
    Source history can be retrieved starting at a specific revision,
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   198
    instead of being integrally converted. Only single branch
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   199
    conversions are supported.
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   200
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   201
    --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
   202
        specify start Subversion revision.
963000ed8cac convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents: 6172
diff changeset
   203
7823
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   204
    Perforce Source
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   205
    ---------------
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   206
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   207
    The Perforce (P4) importer can be given a p4 depot path or a
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   208
    client specification as source. It will convert all files in the
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   209
    source to a flat Mercurial repository, ignoring labels, branches
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   210
    and integrations. Note that when a depot path is given you then
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   211
    usually should specify a target directory, because otherwise the
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   212
    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
   213
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   214
    It is possible to limit the amount of source history to be
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   215
    converted by 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
   216
8010
58ba4b86ae13 convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents: 7989
diff changeset
   217
    --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
   218
        specify initial Perforce revision.
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   219
11efa41037e2 convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7815
diff changeset
   220
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   221
    Mercurial Destination
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   222
    ---------------------
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
   223
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
   224
    --config convert.hg.clonebranches=False   (boolean)
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   225
        dispatch source branches in separate clones.
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
   226
    --config convert.hg.tagsbranch=default    (branch name)
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   227
        tag revisions branch name
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
   228
    --config convert.hg.usebranchnames=True   (boolean)
6169
55455556f921 convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents: 6143
diff changeset
   229
        preserve branch names
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5554
diff changeset
   230
4958
71fed370b7a7 Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4957
diff changeset
   231
    """
5621
badbefa55972 convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents: 5521
diff changeset
   232
    return convcmd.convert(ui, src, dest, revmapfile, **opts)
316
c48d069163d6 Add new convert-repo script
mpm@selenic.com
parents:
diff changeset
   233
5621
badbefa55972 convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents: 5521
diff changeset
   234
def debugsvnlog(ui, **opts):
7873
4a4c7f6a5912 cleanup: drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 7823
diff changeset
   235
    return subversion.debugsvnlog(ui, **opts)
316
c48d069163d6 Add new convert-repo script
mpm@selenic.com
parents:
diff changeset
   236
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   237
def debugcvsps(ui, *args, **opts):
7598
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   238
    '''create changeset information from CVS
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   239
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   240
    This command is intended as a debugging tool for the CVS to
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   241
    Mercurial converter, and can be used as a direct replacement for
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   242
    cvsps.
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   243
7989
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   244
    Hg debugcvsps reads the CVS rlog for current directory (or any
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   245
    named directory) in the CVS repository, and converts the log to a
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   246
    series of changesets based on matching commit log entries and
468ab22785aa convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents: 7983
diff changeset
   247
    dates.'''
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   248
    return cvsps.debugcvsps(ui, *args, **opts)
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   249
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   250
commands.norepo += " convert debugsvnlog debugcvsps"
5127
39b6eaee6fd7 convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents: 5121
diff changeset
   251
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
   252
cmdtable = {
4532
c3a78a49d7f0 Some small cleanups for convert extension:
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4521
diff changeset
   253
    "convert":
5281
a176f9c8b26e convert: rename a class and a function
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5256
diff changeset
   254
        (convert,
6999
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   255
         [('A', 'authors', '', _('username mapping filename')),
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   256
          ('d', 'dest-type', '', _('destination repository type')),
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   257
          ('', 'filemap', '', _('remap file names using contents of file')),
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   258
          ('r', 'rev', '', _('import up to target revision REV')),
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   259
          ('s', 'source-type', '', _('source repository type')),
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   260
          ('', 'splicemap', '', _('splice synthesized history into place')),
8377
29f4f0d66cd5 convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents: 8228
diff changeset
   261
          ('', 'branchmap', '', _('change branch names while converting')),
8692
827d4e807d57 convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents: 8690
diff changeset
   262
          ('', 'branchsort', None, _('try to sort changesets by branches')),
8690
c5b4f662109f convert: add --sourcesort option for source specific sort
Patrick Mezard <pmezard@gmail.com>
parents: 8668
diff changeset
   263
          ('', 'datesort', None, _('try to sort changesets by date')),
c5b4f662109f convert: add --sourcesort option for source specific sort
Patrick Mezard <pmezard@gmail.com>
parents: 8668
diff changeset
   264
          ('', 'sourcesort', None, _('preserve source changesets order'))],
6999
f1546aa94362 i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents: 6976
diff changeset
   265
         _('hg convert [OPTION]... SOURCE [DEST [REVMAP]]')),
5138
9cda2315c7a9 convert: Use debugsvnlog instead of git-like debug-svn-log.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5134
diff changeset
   266
    "debugsvnlog":
5127
39b6eaee6fd7 convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents: 5121
diff changeset
   267
        (debugsvnlog,
39b6eaee6fd7 convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents: 5121
diff changeset
   268
         [],
5138
9cda2315c7a9 convert: Use debugsvnlog instead of git-like debug-svn-log.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5134
diff changeset
   269
         'hg debugsvnlog'),
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   270
    "debugcvsps":
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   271
        (debugcvsps,
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   272
         [
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   273
          # Main options shared with cvsps-2.1
7598
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   274
          ('b', 'branches', [], _('only return changes on specified branches')),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   275
          ('p', 'prefix', '', _('prefix to remove from file names')),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   276
          ('r', 'revisions', [], _('only return changes after or between specified tags')),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   277
          ('u', 'update-cache', None, _("update cvs log cache")),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   278
          ('x', 'new-cache', None, _("create new cvs log cache")),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   279
          ('z', 'fuzz', 60, _('set commit time fuzz in seconds')),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   280
          ('', 'root', '', _('specify cvsroot')),
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   281
          # Options specific to builtin cvsps
7598
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   282
          ('', 'parents', '', _('show parent changesets')),
26adfaccdf73 lowercase help output
Martin Geisler <mg@daimi.au.dk>
parents: 7502
diff changeset
   283
          ('', 'ancestors', '', _('show current changeset in ancestor branches')),
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   284
          # Options that are ignored for compatibility with cvsps-2.1
7735
2e48668b51f0 convert: marked string for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7598
diff changeset
   285
          ('A', 'cvs-direct', None, _('ignored for compatibility')),
7502
16905fc2690f Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents: 7236
diff changeset
   286
         ],
7735
2e48668b51f0 convert: marked string for translation
Martin Geisler <mg@daimi.au.dk>
parents: 7598
diff changeset
   287
         _('hg debugcvsps [OPTION]... [PATH]...')),
4513
ac2fe196ac9b Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents: 4512
diff changeset
   288
}