Mercurial > hg
annotate hgext/convert/__init__.py @ 33436:9bb4decd43b0
repovfs: add a ward to check if locks are properly taken
When the appropriate developer warnings are enabled, We wrap 'repo.vfs.audit' to
check for locks when accessing file in '.hg' for writing. Another changeset will
add a 'ward' for the store vfs (svfs).
This check system has caught a handful of locking issues that have been fixed
in previous series (mostly in 4.0). I expect another batch to be caught in third
party extensions.
We introduce two real exceptions from extensions 'blackbox.log' (because a lot of
read-only operations add entry to it), and 'last-email.txt' (because 'hg email'
is currently a read only operation and there is value to keep it this way).
In addition we are currently allowing bisect to operate outside of the lock
because the current code is a bit hard to get properly locked for now. Multiple
clean up have been made but there is still a couple of them to do and the freeze
is coming.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Tue, 11 Jul 2017 12:38:17 +0200 |
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] |