Mercurial > hg
annotate hgext/convert/__init__.py @ 33671:38fc45721334
changegroup: wrap some ** expansions in strkwargs
author | Augie Fackler <augie@google.com> |
---|---|
date | Mon, 24 Jul 2017 11:16:53 -0400 |
parents | 0823f0983eaa |
children | 8860100908eb |
rev | line source |
---|---|
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 | 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 |
10263 | 6 # GNU General Public License version 2 or any later version. |
8228
eee2319c5895
add blank line after copyright notices and after header
Martin Geisler <mg@lazybytes.net>
parents:
8225
diff
changeset
|
7 |
8932
f87884329419
extensions: fix up description lines some more
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8894
diff
changeset
|
8 '''import revisions from foreign VCS repositories into Mercurial''' |
316 | 9 |
28414
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
10 from __future__ import absolute_import |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
11 |
29205
a0939666b836
py3: move up symbol imports to enforce import-checker rules
Yuya Nishihara <yuya@tcha.org>
parents:
28540
diff
changeset
|
12 from mercurial.i18n import _ |
28414
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
13 from mercurial import ( |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
14 registrar, |
28414
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
15 ) |
316 | 16 |
28414
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
17 from . import ( |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
18 convcmd, |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
19 cvsps, |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
20 subversion, |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
21 ) |
4817c17a11a2
convert: __init__ use absolute_import
timeless <timeless@mozdev.org>
parents:
26370
diff
changeset
|
22 |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
23 cmdtable = {} |
32337
46ba2cdda476
registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents:
30815
diff
changeset
|
24 command = registrar.command(cmdtable) |
29841
d5883fd055c6
extensions: change magic "shipped with hg" string
Augie Fackler <augie@google.com>
parents:
29205
diff
changeset
|
25 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for |
25186
80c5b2666a96
extensions: document that `testedwith = 'internal'` is special
Augie Fackler <augie@google.com>
parents:
22512
diff
changeset
|
26 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should |
80c5b2666a96
extensions: document that `testedwith = 'internal'` is special
Augie Fackler <augie@google.com>
parents:
22512
diff
changeset
|
27 # be specifying the version(s) of Mercurial they are tested with, or |
80c5b2666a96
extensions: document that `testedwith = 'internal'` is special
Augie Fackler <augie@google.com>
parents:
22512
diff
changeset
|
28 # leave the attribute unspecified. |
29841
d5883fd055c6
extensions: change magic "shipped with hg" string
Augie Fackler <augie@google.com>
parents:
29205
diff
changeset
|
29 testedwith = 'ships-with-hg-core' |
16743
38caf405d010
hgext: mark all first-party extensions as such
Augie Fackler <raf@durin42.com>
parents:
16683
diff
changeset
|
30 |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
31 # Commands definition was moved elsewhere to ease demandload job. |
694 | 32 |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
33 @command('convert', |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
34 [('', 'authors', '', |
26370
44cc9f63a2f1
help: include parens in DEPRECATED/EXPERIMENTAL keywords
Yuya Nishihara <yuya@tcha.org>
parents:
26077
diff
changeset
|
35 _('username mapping filename (DEPRECATED) (use --authormap instead)'), |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
36 _('FILE')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
37 ('s', 'source-type', '', _('source repository type'), _('TYPE')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
38 ('d', 'dest-type', '', _('destination repository type'), _('TYPE')), |
25748
baea47cafe75
convert: add support for specifying multiple revs
Durham Goode <durham@fb.com>
parents:
25741
diff
changeset
|
39 ('r', 'rev', [], _('import up to source revision REV'), _('REV')), |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
40 ('A', 'authormap', '', _('remap usernames using this file'), _('FILE')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
41 ('', 'filemap', '', _('remap file names using contents of file'), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
42 _('FILE')), |
22300
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
43 ('', 'full', None, |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
44 _('apply filemap changes by converting all files again')), |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
45 ('', 'splicemap', '', _('splice synthesized history into place'), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
46 _('FILE')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
47 ('', 'branchmap', '', _('change branch names while converting'), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
48 _('FILE')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
49 ('', 'branchsort', None, _('try to sort changesets by branches')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
50 ('', 'datesort', None, _('try to sort changesets by date')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
51 ('', 'sourcesort', None, _('preserve source changesets order')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
52 ('', 'closesort', None, _('try to reorder closed revisions'))], |
21769
4a54d9f1b6b6
convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21244
diff
changeset
|
53 _('hg convert [OPTION]... SOURCE [DEST [REVMAP]]'), |
4a54d9f1b6b6
convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21244
diff
changeset
|
54 norepo=True) |
5281
a176f9c8b26e
convert: rename a class and a function
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5256
diff
changeset
|
55 def convert(ui, src, dest=None, revmapfile=None, **opts): |
7598 | 56 """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
|
57 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
58 Accepted source formats [identifiers]: |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
59 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
60 - Mercurial [hg] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
61 - CVS [cvs] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
62 - Darcs [darcs] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
63 - git [git] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
64 - Subversion [svn] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
65 - Monotone [mtn] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
66 - GNU Arch [gnuarch] |
7053
209ef5f3534c
convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents:
6999
diff
changeset
|
67 - Bazaar [bzr] |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
68 - Perforce [p4] |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
69 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
70 Accepted destination formats [identifiers]: |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
71 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
72 - Mercurial [hg] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
73 - 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
|
74 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
75 If no revision is given, all revisions will be converted. |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
76 Otherwise, convert will only import up to the named revision |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
77 (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
|
78 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
79 If no destination directory name is specified, it defaults to the |
12185
6a94459b7afa
convert: better quoting in help text
Martin Geisler <mg@lazybytes.net>
parents:
12184
diff
changeset
|
80 basename of the source with ``-hg`` appended. If the destination |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
81 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
|
82 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
83 By default, all sources except Mercurial will use --branchsort. |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
84 Mercurial uses --sourcesort to preserve original revision numbers |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
85 order. Sort modes have the following effects: |
9103
9c7a5d70e72f
convert: fix inconsistent indentation in help text
Martin Geisler <mg@lazybytes.net>
parents:
9086
diff
changeset
|
86 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
87 --branchsort convert from parent to child revision when possible, |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
88 which means branches are usually converted one after |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
89 the other. It generates more compact repositories. |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
90 |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
91 --datesort sort revisions by date. Converted repositories have |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
92 good-looking changelogs but are often an order of |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
93 magnitude larger than the same ones generated by |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
94 --branchsort. |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
95 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
96 --sourcesort try to preserve source revisions order, only |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
97 supported by Mercurial sources. |
8692
827d4e807d57
convert: default revisions order depends on source
Patrick Mezard <pmezard@gmail.com>
parents:
8690
diff
changeset
|
98 |
18819
05acdf8e1f23
convert: add closesort algorithm to mercurial sources
Constantine Linnick <theaspect@gmail.com>
parents:
18324
diff
changeset
|
99 --closesort try to move closed revisions as close as possible |
05acdf8e1f23
convert: add closesort algorithm to mercurial sources
Constantine Linnick <theaspect@gmail.com>
parents:
18324
diff
changeset
|
100 to parent branches, only supported by Mercurial |
05acdf8e1f23
convert: add closesort algorithm to mercurial sources
Constantine Linnick <theaspect@gmail.com>
parents:
18324
diff
changeset
|
101 sources. |
05acdf8e1f23
convert: add closesort algorithm to mercurial sources
Constantine Linnick <theaspect@gmail.com>
parents:
18324
diff
changeset
|
102 |
12924
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
103 If ``REVMAP`` isn't given, it will be put in a default location |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
104 (``<dest>/.hg/shamap`` by default). The ``REVMAP`` is a simple |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
105 text file that maps each source commit ID to the destination ID |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
106 for that revision, like so:: |
9058
b10cee4bd2c1
convert: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents:
8932
diff
changeset
|
107 |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9103
diff
changeset
|
108 <source ID> <destination ID> |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
109 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
110 If the file doesn't exist, it's automatically created. It's |
12186
3417b3d95b05
convert: help string cleanups
Martin Geisler <mg@lazybytes.net>
parents:
12185
diff
changeset
|
111 updated on each commit copied, so :hg:`convert` can be interrupted |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
112 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
|
113 |
12198
0c67a58f0580
convert: deprecate --authors in preference for --authormap
Martin Geisler <mg@lazybytes.net>
parents:
12188
diff
changeset
|
114 The authormap is a simple text file that maps each source commit |
0c67a58f0580
convert: deprecate --authors in preference for --authormap
Martin Geisler <mg@lazybytes.net>
parents:
12188
diff
changeset
|
115 author to a destination commit author. It is handy for source SCMs |
17424
e7cfe3587ea4
fix trivial spelling errors
Mads Kiilerich <mads@kiilerich.com>
parents:
17267
diff
changeset
|
116 that use unix logins to identify authors (e.g.: CVS). One line per |
12198
0c67a58f0580
convert: deprecate --authors in preference for --authormap
Martin Geisler <mg@lazybytes.net>
parents:
12188
diff
changeset
|
117 author mapping and the line format is:: |
12184
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
118 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
119 source author = destination author |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
120 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
121 Empty lines and lines starting with a ``#`` are ignored. |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
122 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
123 The filemap is a file that allows filtering and remapping of files |
11523
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
124 and directories. Each line can contain one of the following |
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
125 directives:: |
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
126 |
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
127 include path/to/file-or-dir |
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
128 |
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
129 exclude path/to/file-or-dir |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
130 |
11523
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
131 rename path/to/source path/to/destination |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
132 |
12188 | 133 Comment lines start with ``#``. A specified path matches if it |
11523
dec57aa0f8ca
convert: cleanup of filemap help text
Mads Kiilerich <mads@kiilerich.com>
parents:
11321
diff
changeset
|
134 equals the full relative name of a file or one of its parent |
12185
6a94459b7afa
convert: better quoting in help text
Martin Geisler <mg@lazybytes.net>
parents:
12184
diff
changeset
|
135 directories. The ``include`` or ``exclude`` directive with the |
6a94459b7afa
convert: better quoting in help text
Martin Geisler <mg@lazybytes.net>
parents:
12184
diff
changeset
|
136 longest matching path applies, so line order does not matter. |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5632
diff
changeset
|
137 |
12185
6a94459b7afa
convert: better quoting in help text
Martin Geisler <mg@lazybytes.net>
parents:
12184
diff
changeset
|
138 The ``include`` directive causes a file, or all files under a |
20784
7f4cf938643d
convert: more clear documentation of the 'include' default of a 'include .'
Mads Kiilerich <madski@unity3d.com>
parents:
19891
diff
changeset
|
139 directory, to be included in the destination repository. The default |
7f4cf938643d
convert: more clear documentation of the 'include' default of a 'include .'
Mads Kiilerich <madski@unity3d.com>
parents:
19891
diff
changeset
|
140 if there are no ``include`` statements is to include everything. |
7f4cf938643d
convert: more clear documentation of the 'include' default of a 'include .'
Mads Kiilerich <madski@unity3d.com>
parents:
19891
diff
changeset
|
141 If there are any ``include`` statements, nothing else is included. |
7f4cf938643d
convert: more clear documentation of the 'include' default of a 'include .'
Mads Kiilerich <madski@unity3d.com>
parents:
19891
diff
changeset
|
142 The ``exclude`` directive causes files or directories to |
12185
6a94459b7afa
convert: better quoting in help text
Martin Geisler <mg@lazybytes.net>
parents:
12184
diff
changeset
|
143 be omitted. The ``rename`` directive renames a file or directory if |
11685 | 144 it is converted. To rename from a subdirectory into the root of |
12188 | 145 the repository, use ``.`` as the path to rename to. |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
146 |
22300
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
147 ``--full`` will make sure the converted changesets contain exactly |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
148 the right files with the right content. It will make a full |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
149 conversion of all files, not just the ones that have |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
150 changed. Files that already are correct will not be changed. This |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
151 can be used to apply filemap changes when converting |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
152 incrementally. This is currently only supported for Mercurial and |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
153 Subversion. |
35ab037de989
convert: introduce --full for converting all files
Mads Kiilerich <madski@unity3d.com>
parents:
21769
diff
changeset
|
154 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
155 The splicemap is a file that allows insertion of synthetic |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
156 history, letting you specify the parents of a revision. This is |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
157 useful if you want to e.g. give a Subversion merge two parents, or |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
158 graft two disconnected series of history together. Each entry |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
159 contains a key, followed by a space, followed by one or two |
12184
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
160 comma-separated values:: |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
161 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
162 key parent1, parent2 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
163 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
164 The key is the revision ID in the source |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
165 revision control system whose parents should be modified (same |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
166 format as a key in .hg/shamap). The values are the revision IDs |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
167 (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
|
168 should be used as the new parents for that node. For example, if |
fbde669564d8
convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents:
9543
diff
changeset
|
169 you have merged "release-1.0" into "trunk", then you should |
fbde669564d8
convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents:
9543
diff
changeset
|
170 specify the revision on "trunk" as the first parent and the one on |
fbde669564d8
convert: document parent order in splicemap help (issue1764)
Martin Geisler <mg@lazybytes.net>
parents:
9543
diff
changeset
|
171 the "release-1.0" branch as the second. |
6143
5b159ebb19cf
convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents:
6035
diff
changeset
|
172 |
8377
29f4f0d66cd5
convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents:
8228
diff
changeset
|
173 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
|
174 being brought in from whatever external repository. When used in |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
175 conjunction with a splicemap, it allows for a powerful combination |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
176 to help fix even the most badly mismanaged repositories and turn them |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
177 into nicely structured Mercurial repositories. The branchmap contains |
12184
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
178 lines of the form:: |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
179 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
180 original_branch_name new_branch_name |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
181 |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
182 where "original_branch_name" is the name of the branch in the |
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
183 source repository, and "new_branch_name" is the name of the branch |
32755
3a57bfd369d4
convert: correct the documentation about whitespace in branchmap branches
Matt Harbison <matt_harbison@yahoo.com>
parents:
32337
diff
changeset
|
184 is the destination repository. No whitespace is allowed in the new |
3a57bfd369d4
convert: correct the documentation about whitespace in branchmap branches
Matt Harbison <matt_harbison@yahoo.com>
parents:
32337
diff
changeset
|
185 branch name. This can be used to (for instance) move code in one |
12184
025ca07351ea
convert: show example splice, author, and branch map entries in help
Martin Geisler <mg@lazybytes.net>
parents:
11523
diff
changeset
|
186 repository from "default" to a named branch. |
8377
29f4f0d66cd5
convert: adding branchmap functionality to convert extension
Michael J. Pedersen <m.pedersen@icelus.org>
parents:
8228
diff
changeset
|
187 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
188 Mercurial Source |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17251
diff
changeset
|
189 ################ |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
190 |
12922
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
191 The Mercurial source recognizes the following configuration |
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
192 options, which you can set on the command line with ``--config``: |
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
193 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
194 :convert.hg.ignoreerrors: ignore integrity errors when reading. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
195 Use it to fix Mercurial repositories with missing revlogs, by |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
196 converting from and to Mercurial. Default is False. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
197 |
13429
0079fb98e8d0
convert: fix typos in docstring
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
12924
diff
changeset
|
198 :convert.hg.saverev: store original revision ID in changeset |
15300 | 199 (forces target IDs to change). It takes a boolean argument and |
200 defaults to False. | |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
201 |
25880
6fb55c6c6562
convert: document convert.hg.startrev
Matt Harbison <matt_harbison@yahoo.com>
parents:
25787
diff
changeset
|
202 :convert.hg.startrev: specify the initial Mercurial revision. |
6fb55c6c6562
convert: document convert.hg.startrev
Matt Harbison <matt_harbison@yahoo.com>
parents:
25787
diff
changeset
|
203 The default is 0. |
6fb55c6c6562
convert: document convert.hg.startrev
Matt Harbison <matt_harbison@yahoo.com>
parents:
25787
diff
changeset
|
204 |
19891
e271970b9821
convert: introduce hg.revs to replace hg.startrev and --rev with a revset
Mads Kiilerich <madski@unity3d.com>
parents:
19864
diff
changeset
|
205 :convert.hg.revs: revset specifying the source revisions to convert. |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
206 |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
207 CVS Source |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17251
diff
changeset
|
208 ########## |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
209 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
210 CVS source will use a sandbox (i.e. a checked-out copy) from CVS |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
211 to indicate the starting point of what will be converted. Direct |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
212 access to the repository files is not needed, unless of course the |
12924
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
213 repository is ``:local:``. The conversion uses the top level |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
214 directory in the sandbox to find the CVS repository, and then uses |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
215 CVS rlog commands to find files to convert. This means that unless |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
216 a filemap is given, all files under the starting directory will be |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
217 converted, and that any directory reorganization in the CVS |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
218 sandbox is ignored. |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
219 |
12922
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
220 The following options can be used with ``--config``: |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
221 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
222 :convert.cvsps.cache: Set to False to disable remote log caching, |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
223 for testing and debugging purposes. Default is True. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
224 |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
225 :convert.cvsps.fuzz: Specify the maximum time (in seconds) that is |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
226 allowed between commits with identical user and log message in |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
227 a single changeset. When very large files were checked in as |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
228 part of a changeset then the default may not be long enough. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
229 The default is 60. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
230 |
33388
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
231 :convert.cvsps.logencoding: Specify encoding name to be used for |
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
232 transcoding CVS log messages. Multiple encoding names can be |
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
233 specified as a list (see :hg:`help config.Syntax`), but only |
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
234 the first acceptable encoding in the list is used per CVS log |
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
235 entries. This transcoding is executed before cvslog hook below. |
0823f0983eaa
convert: transcode CVS log messages by specified encoding (issue5597)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
32755
diff
changeset
|
236 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
237 :convert.cvsps.mergeto: Specify a regular expression to which |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
238 commit log messages are matched. If a match occurs, then the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
239 conversion process will insert a dummy revision merging the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
240 branch on which this log message occurs to the branch |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
241 indicated in the regex. Default is ``{{mergetobranch |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
242 ([-\\w]+)}}`` |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
243 |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
244 :convert.cvsps.mergefrom: Specify a regular expression to which |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
245 commit log messages are matched. If a match occurs, then the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
246 conversion process will add the most recent revision on the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
247 branch indicated in the regex as the second parent of the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
248 changeset. Default is ``{{mergefrombranch ([-\\w]+)}}`` |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
249 |
17974
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
250 :convert.localtimezone: use local time (as determined by the TZ |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
251 environment variable) for changeset date/times. The default |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
252 is False (use UTC). |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
253 |
18321
c51d2bc7a5d7
convert: correct 'hooks' section name in online help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17424
diff
changeset
|
254 :hooks.cvslog: Specify a Python function to be called at the end of |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
255 gathering the CVS log. The function is passed a list with the |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
256 log entries, and can modify the entries in-place, or add or |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
257 delete them. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
258 |
18321
c51d2bc7a5d7
convert: correct 'hooks' section name in online help
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17424
diff
changeset
|
259 :hooks.cvschangesets: Specify a Python function to be called after |
17251
98166640b356
help: fix some instances of 'the the'
Mads Kiilerich <mads@kiilerich.com>
parents:
16743
diff
changeset
|
260 the changesets are calculated from the CVS log. The |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
261 function is passed a list with the changeset entries, and can |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
262 modify the changesets in-place, or add or delete them. |
6923
ebf1462f2145
strip trailing whitespace, replace tabs by spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6885
diff
changeset
|
263 |
9472
a15813fae0a8
convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents:
9256
diff
changeset
|
264 An additional "debugcvsps" Mercurial command allows the builtin |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
265 changeset merging code to be run without doing a conversion. Its |
9472
a15813fae0a8
convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents:
9256
diff
changeset
|
266 parameters and output are similar to that of cvsps 2.1. Please see |
a15813fae0a8
convert/cvs: update debugcvsps documentation
Patrick Mezard <pmezard@gmail.com>
parents:
9256
diff
changeset
|
267 the command help for more details. |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
268 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
269 Subversion Source |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17251
diff
changeset
|
270 ################# |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
271 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
272 Subversion source detects classical trunk/branches/tags layouts. |
12924
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
273 By default, the supplied ``svn://repo/path/`` source URL is |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
274 converted as a single branch. If ``svn://repo/path/trunk`` exists |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
275 it replaces the default branch. If ``svn://repo/path/branches`` |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
276 exists, its subdirectories are listed as possible branches. If |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
277 ``svn://repo/path/tags`` exists, it is looked for tags referencing |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
278 converted branches. Default ``trunk``, ``branches`` and ``tags`` |
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
279 values can be overridden with following options. Set them to paths |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
280 relative to the source URL, or leave them blank to disable auto |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
281 detection. |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
282 |
12922
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
283 The following options can be set with ``--config``: |
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
284 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
285 :convert.svn.branches: specify the directory containing branches. |
13494
3178aca36b0f
convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents:
13429
diff
changeset
|
286 The default is ``branches``. |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
287 |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
288 :convert.svn.tags: specify the directory containing tags. The |
12924
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
289 default is ``tags``. |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
290 |
13494
3178aca36b0f
convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents:
13429
diff
changeset
|
291 :convert.svn.trunk: specify the name of the trunk branch. The |
3178aca36b0f
convert.svn: branch name which equals trunk means `default' branch (issue2653)
Pavel Boldin <boldin.pavel@gmail.com>
parents:
13429
diff
changeset
|
292 default is ``trunk``. |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
293 |
17974
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
294 :convert.localtimezone: use local time (as determined by the TZ |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
295 environment variable) for changeset date/times. The default |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
296 is False (use UTC). |
337d728e644f
convert: add config option to use the local time zone
Julian Cowley <julian@lava.net>
parents:
17424
diff
changeset
|
297 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
298 Source history can be retrieved starting at a specific revision, |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
299 instead of being integrally converted. Only single branch |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
300 conversions are supported. |
6173
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
301 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
302 :convert.svn.startrev: specify start Subversion revision number. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
303 The default is 0. |
6173
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
304 |
22466
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
305 Git Source |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
306 ########## |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
307 |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
308 The Git importer converts commits from all reachable branches (refs |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
309 in refs/heads) and remotes (refs in refs/remotes) to Mercurial. |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
310 Branches are converted to bookmarks with the same name, with the |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
311 leading 'refs/heads' stripped. Git submodules are converted to Git |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
312 subrepos in Mercurial. |
e1b68c0a9363
convert: add initial docs for git sources
Siddharth Agarwal <sid0@fb.com>
parents:
22300
diff
changeset
|
313 |
22470
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
314 The following options can be set with ``--config``: |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
315 |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
316 :convert.git.similarity: specify how similar files modified in a |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
317 commit must be to be imported as renames or copies, as a |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
318 percentage between ``0`` (disabled) and ``100`` (files must be |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
319 identical). For example, ``90`` means that a delete/add pair will |
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
320 be imported as a rename if more than 90% of the file hasn't |
22512
6b6da715cb96
convert: change default for git rename detection to 50%
Siddharth Agarwal <sid0@fb.com>
parents:
22471
diff
changeset
|
321 changed. The default is ``50``. |
22470
8e0c4df28eec
convert: add support to detect git renames and copies
Siddharth Agarwal <sid0@fb.com>
parents:
22466
diff
changeset
|
322 |
22471
cc5f94db672b
convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents:
22470
diff
changeset
|
323 :convert.git.findcopiesharder: while detecting copies, look at all |
cc5f94db672b
convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents:
22470
diff
changeset
|
324 files in the working copy instead of just changed ones. This |
cc5f94db672b
convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents:
22470
diff
changeset
|
325 is very expensive for large projects, and is only effective when |
cc5f94db672b
convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents:
22470
diff
changeset
|
326 ``convert.git.similarity`` is greater than 0. The default is False. |
cc5f94db672b
convert: add support to find git copies from all files in the working copy
Siddharth Agarwal <sid0@fb.com>
parents:
22470
diff
changeset
|
327 |
30646
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
328 :convert.git.renamelimit: perform rename and copy detection up to this |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
329 many changed files in a commit. Increasing this will make rename |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
330 and copy detection more accurate but will significantly slow down |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
331 computation on large projects. The option is only relevant if |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
332 ``convert.git.similarity`` is greater than 0. The default is |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
333 ``400``. |
ea3540e66fd8
convert: config option for git rename limit
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29841
diff
changeset
|
334 |
30813
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
335 :convert.git.committeractions: list of actions to take when processing |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
336 author and committer values. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
337 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
338 Git commits have separate author (who wrote the commit) and committer |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
339 (who applied the commit) fields. Not all destinations support separate |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
340 author and committer fields (including Mercurial). This config option |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
341 controls what to do with these author and committer fields during |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
342 conversion. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
343 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
344 A value of ``messagedifferent`` will append a ``committer: ...`` |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
345 line to the commit message if the Git committer is different from the |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
346 author. The prefix of that line can be specified using the syntax |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
347 ``messagedifferent=<prefix>``. e.g. ``messagedifferent=git-committer:``. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
348 When a prefix is specified, a space will always be inserted between the |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
349 prefix and the value. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
350 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
351 ``messagealways`` behaves like ``messagedifferent`` except it will |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
352 always result in a ``committer: ...`` line being appended to the commit |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
353 message. This value is mutually exclusive with ``messagedifferent``. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
354 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
355 ``dropcommitter`` will remove references to the committer. Only |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
356 references to the author will remain. Actions that add references |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
357 to the committer will have no effect when this is set. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
358 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
359 ``replaceauthor`` will replace the value of the author field with |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
360 the committer. Other actions that add references to the committer |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
361 will still take effect when this is set. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
362 |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
363 The default is ``messagedifferent``. |
2cbbd4622ab0
convert: config option to control Git committer actions
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30661
diff
changeset
|
364 |
30660
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
365 :convert.git.extrakeys: list of extra keys from commit metadata to copy to |
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
366 the destination. Some Git repositories store extra metadata in commits. |
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
367 By default, this non-default metadata will be lost during conversion. |
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
368 Setting this config option can retain that metadata. Some built-in |
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
369 keys such as ``parent`` and ``branch`` are not allowed to be copied. |
1f21a6835604
convert: add config option to copy extra keys from Git commits
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30646
diff
changeset
|
370 |
25787
d9133e89d39d
convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents:
25750
diff
changeset
|
371 :convert.git.remoteprefix: remote refs are converted as bookmarks with |
d9133e89d39d
convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents:
25750
diff
changeset
|
372 ``convert.git.remoteprefix`` as a prefix followed by a /. The default |
d9133e89d39d
convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents:
25750
diff
changeset
|
373 is 'remote'. |
d9133e89d39d
convert: allow customizing git remote prefix
Durham Goode <durham@fb.com>
parents:
25750
diff
changeset
|
374 |
30661
ced0d686ecb3
convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30660
diff
changeset
|
375 :convert.git.saverev: whether to store the original Git commit ID in the |
ced0d686ecb3
convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30660
diff
changeset
|
376 metadata of the destination commit. The default is True. |
ced0d686ecb3
convert: add config option to control storing original revision
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30660
diff
changeset
|
377 |
26077
e63d05fbae84
convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents:
25884
diff
changeset
|
378 :convert.git.skipsubmodules: does not convert root level .gitmodules files |
e63d05fbae84
convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents:
25884
diff
changeset
|
379 or files with 160000 mode indicating a submodule. Default is False. |
e63d05fbae84
convert: add convert.git.skipsubmodules option
Durham Goode <durham@fb.com>
parents:
25884
diff
changeset
|
380 |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
381 Perforce Source |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17251
diff
changeset
|
382 ############### |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
383 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
384 The Perforce (P4) importer can be given a p4 depot path or a |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
385 client specification as source. It will convert all files in the |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
386 source to a flat Mercurial repository, ignoring labels, branches |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
387 and integrations. Note that when a depot path is given you then |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
388 usually should specify a target directory, because otherwise the |
12924
2f1174b2c4fa
convert: better ReST markup in docstring
Martin Geisler <mg@aragost.com>
parents:
12923
diff
changeset
|
389 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
|
390 |
25884
b810b59eca62
convert: when converting from Perforce use original local encoding by default
Eugene Baranov <eug.baranov@gmail.com>
parents:
25880
diff
changeset
|
391 The following options can be set with ``--config``: |
b810b59eca62
convert: when converting from Perforce use original local encoding by default
Eugene Baranov <eug.baranov@gmail.com>
parents:
25880
diff
changeset
|
392 |
b810b59eca62
convert: when converting from Perforce use original local encoding by default
Eugene Baranov <eug.baranov@gmail.com>
parents:
25880
diff
changeset
|
393 :convert.p4.encoding: specify the encoding to use when decoding standard |
b810b59eca62
convert: when converting from Perforce use original local encoding by default
Eugene Baranov <eug.baranov@gmail.com>
parents:
25880
diff
changeset
|
394 output of the Perforce command line tool. The default is default system |
b810b59eca62
convert: when converting from Perforce use original local encoding by default
Eugene Baranov <eug.baranov@gmail.com>
parents:
25880
diff
changeset
|
395 encoding. |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
396 |
13429
0079fb98e8d0
convert: fix typos in docstring
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
12924
diff
changeset
|
397 :convert.p4.startrev: specify initial Perforce revision (a |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
398 Perforce changelist number). |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
399 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
400 Mercurial Destination |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17251
diff
changeset
|
401 ##################### |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
402 |
25558
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
403 The Mercurial destination will recognize Mercurial subrepositories in the |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
404 destination directory, and update the .hgsubstate file automatically if the |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
405 destination subrepositories contain the <dest>/<sub>/.hg/shamap file. |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
406 Converting a repository with subrepositories requires converting a single |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
407 repository at a time, from the bottom up. |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
408 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
409 .. container:: verbose |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
410 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
411 An example showing how to convert a repository with subrepositories:: |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
412 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
413 # so convert knows the type when it sees a non empty destination |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
414 $ hg init converted |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
415 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
416 $ hg convert orig/sub1 converted/sub1 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
417 $ hg convert orig/sub2 converted/sub2 |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
418 $ hg convert orig converted |
daf9f7ee2a5c
convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents:
25186
diff
changeset
|
419 |
12922
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
420 The following options are supported: |
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
421 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
422 :convert.hg.clonebranches: dispatch source branches in separate |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
423 clones. The default is False. |
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
424 |
12922
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
425 :convert.hg.tagsbranch: branch name for tag revisions, defaults to |
58f0c60b7f40
convert: use field list instead of option list in help
Erik Zielke <ez@aragost.com>
parents:
12778
diff
changeset
|
426 ``default``. |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
427 |
12923
7d384a372ce8
convert: split docstring lists for easier translation
Martin Geisler <mg@aragost.com>
parents:
12922
diff
changeset
|
428 :convert.hg.usebranchnames: preserve branch names. The default is |
13429
0079fb98e8d0
convert: fix typos in docstring
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
12924
diff
changeset
|
429 True. |
25741
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
430 |
25750
c9093d4d1ff6
convert: add config for recording the source name
Durham Goode <durham@fb.com>
parents:
25748
diff
changeset
|
431 :convert.hg.sourcename: records the given string as a 'convert_source' extra |
c9093d4d1ff6
convert: add config for recording the source name
Durham Goode <durham@fb.com>
parents:
25748
diff
changeset
|
432 value on each commit made in the target repository. The default is None. |
c9093d4d1ff6
convert: add config for recording the source name
Durham Goode <durham@fb.com>
parents:
25748
diff
changeset
|
433 |
25741
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
434 All Destinations |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
435 ################ |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
436 |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
437 All destination types accept the following options: |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
438 |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
439 :convert.skiptags: does not convert tags from the source repo to the target |
86fe3c404c1e
convert: add config to not convert tags
Durham Goode <durham@fb.com>
parents:
25558
diff
changeset
|
440 repo. The default is False. |
4958
71fed370b7a7
Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4957
diff
changeset
|
441 """ |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
442 return convcmd.convert(ui, src, dest, revmapfile, **opts) |
316 | 443 |
21769
4a54d9f1b6b6
convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21244
diff
changeset
|
444 @command('debugsvnlog', [], 'hg debugsvnlog', norepo=True) |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
445 def debugsvnlog(ui, **opts): |
7873
4a4c7f6a5912
cleanup: drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
7823
diff
changeset
|
446 return subversion.debugsvnlog(ui, **opts) |
316 | 447 |
21244
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
448 @command('debugcvsps', |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
449 [ |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
450 # Main options shared with cvsps-2.1 |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
451 ('b', 'branches', [], _('only return changes on specified branches')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
452 ('p', 'prefix', '', _('prefix to remove from file names')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
453 ('r', 'revisions', [], |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
454 _('only return changes after or between specified tags')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
455 ('u', 'update-cache', None, _("update cvs log cache")), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
456 ('x', 'new-cache', None, _("create new cvs log cache")), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
457 ('z', 'fuzz', 60, _('set commit time fuzz in seconds')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
458 ('', 'root', '', _('specify cvsroot')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
459 # Options specific to builtin cvsps |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
460 ('', 'parents', '', _('show parent changesets')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
461 ('', 'ancestors', '', _('show current changeset in ancestor branches')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
462 # Options that are ignored for compatibility with cvsps-2.1 |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
463 ('A', 'cvs-direct', None, _('ignored for compatibility')), |
f0dbafceeb9a
convert: declare commands using decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21077
diff
changeset
|
464 ], |
21769
4a54d9f1b6b6
convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21244
diff
changeset
|
465 _('hg debugcvsps [OPTION]... [PATH]...'), |
4a54d9f1b6b6
convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com>
parents:
21244
diff
changeset
|
466 norepo=True) |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
467 def debugcvsps(ui, *args, **opts): |
7598 | 468 '''create changeset information from CVS |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
469 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
470 This command is intended as a debugging tool for the CVS to |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
471 Mercurial converter, and can be used as a direct replacement for |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
472 cvsps. |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
473 |
9256
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
474 Hg debugcvsps reads the CVS rlog for current directory (or any |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
475 named directory) in the CVS repository, and converts the log to a |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
476 series of changesets based on matching commit log entries and |
dd89dd090b47
convert: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9157
diff
changeset
|
477 dates.''' |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
478 return cvsps.debugcvsps(ui, *args, **opts) |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
479 |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
480 def kwconverted(ctx, name): |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
481 rev = ctx.extra().get('convert_revision', '') |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
482 if rev.startswith('svn:'): |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
483 if name == 'svnrev': |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
484 return str(subversion.revsplit(rev)[2]) |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
485 elif name == 'svnpath': |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
486 return subversion.revsplit(rev)[1] |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
487 elif name == 'svnuuid': |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
488 return subversion.revsplit(rev)[0] |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
489 return rev |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
490 |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
491 templatekeyword = registrar.templatekeyword() |
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
492 |
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
493 @templatekeyword('svnrev') |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
494 def kwsvnrev(repo, ctx, **args): |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
495 """String. Converted subversion revision number.""" |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
496 return kwconverted(ctx, 'svnrev') |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
497 |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
498 @templatekeyword('svnpath') |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
499 def kwsvnpath(repo, ctx, **args): |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
500 """String. Converted subversion revision project path.""" |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
501 return kwconverted(ctx, 'svnpath') |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
502 |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
503 @templatekeyword('svnuuid') |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
504 def kwsvnuuid(repo, ctx, **args): |
28540
012411b9940d
hgext: use templatekeyword to mark a function as template keyword
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28414
diff
changeset
|
505 """String. Converted subversion revision repository identifier.""" |
13691
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
506 return kwconverted(ctx, 'svnuuid') |
ad02eba55459
convert: add svnrev, svnpath and svnuuid template keywords
Patrick Mezard <pmezard@gmail.com>
parents:
13494
diff
changeset
|
507 |
13698
f30ce5983896
i18n: register new template keywords for translation
Patrick Mezard <pmezard@gmail.com>
parents:
13691
diff
changeset
|
508 # tell hggettext to extract docstrings from these functions: |
f30ce5983896
i18n: register new template keywords for translation
Patrick Mezard <pmezard@gmail.com>
parents:
13691
diff
changeset
|
509 i18nfunctions = [kwsvnrev, kwsvnpath, kwsvnuuid] |