Mercurial > hg
annotate hgext/convert/__init__.py @ 8023:fd9debb3ea1b
profiling: Adding a profiling.format config variable
Allows defining other output formats for profiling.
If an invalid format is given, output a warning and ignore it.
For now, only the standard 'text' value is supported.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Thu, 02 Apr 2009 16:01:30 +0900 |
parents | 58ba4b86ae13 |
children | 683d8ebcf434 |
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 # |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
5 # This software may be used and distributed according to the terms |
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
6 # of the GNU General Public License, incorporated herein by reference. |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6306
diff
changeset
|
7 '''converting foreign VCS repositories to Mercurial''' |
316 | 8 |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
9 import convcmd |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
10 import cvsps |
7873
4a4c7f6a5912
cleanup: drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
7823
diff
changeset
|
11 import subversion |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
12 from mercurial import commands |
6999
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
13 from mercurial.i18n import _ |
316 | 14 |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
15 # Commands definition was moved elsewhere to ease demandload job. |
694 | 16 |
5281
a176f9c8b26e
convert: rename a class and a function
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5256
diff
changeset
|
17 def convert(ui, src, dest=None, revmapfile=None, **opts): |
7598 | 18 """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
|
19 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
20 Accepted source formats [identifiers]: |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
21 - Mercurial [hg] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
22 - CVS [cvs] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
23 - Darcs [darcs] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
24 - git [git] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
25 - Subversion [svn] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
26 - Monotone [mtn] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
27 - GNU Arch [gnuarch] |
7053
209ef5f3534c
convert: add bzr source
Marek Kubica <marek@xivilization.net>
parents:
6999
diff
changeset
|
28 - Bazaar [bzr] |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
29 - Perforce [p4] |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
30 |
6976
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
31 Accepted destination formats [identifiers]: |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
32 - Mercurial [hg] |
b072266a83d1
convert: document source and sink identifiers, fix error message
Patrick Mezard <pmezard@gmail.com>
parents:
6923
diff
changeset
|
33 - 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
|
34 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
35 If no revision is given, all revisions will be converted. |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
36 Otherwise, convert will only import up to the named revision |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
37 (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
|
38 |
4883
72ac66e88c43
convert: Use clone's behaviour for the default destionation name.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4719
diff
changeset
|
39 If no destination directory name is specified, it defaults to the |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7931
diff
changeset
|
40 basename of the source with '-hg' appended. If the destination |
4958
71fed370b7a7
Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4957
diff
changeset
|
41 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
|
42 |
6238
aac270593ef7
convert: rename MAPFILE into REVMAP to disambiguate with filemap
Patrick Mezard <pmezard@gmail.com>
parents:
6173
diff
changeset
|
43 If <REVMAP> isn't given, it will be put in a default location |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
44 (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
45 that maps each source commit ID to the destination ID for that |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
46 revision, like so: |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
47 <source ID> <destination ID> |
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
48 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
49 If the file doesn't exist, it's automatically created. It's |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
50 updated on each commit copied, so convert-repo can be interrupted |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
51 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
|
52 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
53 The [username mapping] file is a simple text file that maps each |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
54 source commit author to a destination commit author. It is handy |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
55 for source SCMs that use unix logins to identify authors (eg: |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
56 CVS). One line per author mapping and the line format is: |
4589
451e91ed535e
convert extension: Add support for username mapping
Edouard Gomez <ed.gomez@free.fr>
parents:
4588
diff
changeset
|
57 srcauthor=whatever string you want |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
58 |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
59 The filemap is a file that allows filtering and remapping of files |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7931
diff
changeset
|
60 and directories. Comment lines start with '#'. Each line can |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
61 contain one of the following directives: |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
62 |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
63 include path/to/file |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
64 |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
65 exclude path/to/file |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
66 |
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
67 rename from/file to/file |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5632
diff
changeset
|
68 |
5256
0b0caffcf175
convert: document filemap.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5204
diff
changeset
|
69 The 'include' directive causes a file, or all files under a |
5484
07bdb5e5d08c
Update convert help text
"Rafael Villar Burke <pachi@rvburke.com>"
parents:
5441
diff
changeset
|
70 directory, to be included in the destination repository, and the |
5488
247af577fe29
fix typo in convert help text, update test
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5484
diff
changeset
|
71 exclusion of all other files and dirs not explicitely included. |
5484
07bdb5e5d08c
Update convert help text
"Rafael Villar Burke <pachi@rvburke.com>"
parents:
5441
diff
changeset
|
72 The 'exclude' directive causes files or directories to be omitted. |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
73 The 'rename' directive renames a file or directory. To rename from |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
74 a subdirectory into the root of the repository, use '.' as the |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
75 path to rename to. |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
76 |
6143
5b159ebb19cf
convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents:
6035
diff
changeset
|
77 The splicemap is a file that allows insertion of synthetic |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7931
diff
changeset
|
78 history, letting you specify the parents of a revision. This is |
6143
5b159ebb19cf
convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents:
6035
diff
changeset
|
79 useful if you want to e.g. give a Subversion merge two parents, or |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7931
diff
changeset
|
80 graft two disconnected series of history together. Each entry |
6143
5b159ebb19cf
convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents:
6035
diff
changeset
|
81 contains a key, followed by a space, followed by one or two |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
82 comma-separated values. The key is the revision ID in the source |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
83 revision control system whose parents should be modified (same |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
84 format as a key in .hg/shamap). The values are the revision IDs |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
85 (in either the source or destination revision control system) that |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
86 should be used as the new parents for that node. |
6143
5b159ebb19cf
convert: document splicemap, allow setting of multiple parents
Bryan O'Sullivan <bos@serpentine.com>
parents:
6035
diff
changeset
|
87 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
88 Mercurial Source |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
89 ----------------- |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
90 |
8010
58ba4b86ae13
convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents:
7989
diff
changeset
|
91 --config convert.hg.ignoreerrors=False (boolean) |
7231
8e7130a10f3b
convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents:
7170
diff
changeset
|
92 ignore integrity errors when reading. Use it to fix Mercurial |
8e7130a10f3b
convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents:
7170
diff
changeset
|
93 repositories with missing revlogs, by converting from and to |
8e7130a10f3b
convert: ignore hg source errors with hg.ignoreerrors (issue 1357)
Patrick Mezard <pmezard@gmail.com>
parents:
7170
diff
changeset
|
94 Mercurial. |
8010
58ba4b86ae13
convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents:
7989
diff
changeset
|
95 --config convert.hg.saverev=False (boolean) |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
96 store original revision ID in changeset (forces target IDs to |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
97 change) |
6885
6e253aa04ff7
convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents:
6798
diff
changeset
|
98 --config convert.hg.startrev=0 (hg revision identifier) |
6e253aa04ff7
convert: implement startrev for hg source
Patrick Mezard <pmezard@gmail.com>
parents:
6798
diff
changeset
|
99 convert start revision and its descendants |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
100 |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
101 CVS Source |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
102 ---------- |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
103 |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
104 CVS source will use a sandbox (i.e. a checked-out copy) from CVS |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
105 to indicate the starting point of what will be converted. Direct |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
106 access to the repository files is not needed, unless of course the |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
107 repository is :local:. The conversion uses the top level directory |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
108 in the sandbox to find the CVS repository, and then uses CVS rlog |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
109 commands to find files to convert. This means that unless a |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
110 filemap is given, all files under the starting directory will be |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
111 converted, and that any directory reorganisation in the CVS |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
112 sandbox is ignored. |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
113 |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
114 Because CVS does not have changesets, it is necessary to collect |
7101
e786192d995d
convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents:
7053
diff
changeset
|
115 individual commits to CVS and merge them into changesets. CVS |
e786192d995d
convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents:
7053
diff
changeset
|
116 source uses its internal changeset merging code by default but can |
e786192d995d
convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents:
7053
diff
changeset
|
117 be configured to call the external 'cvsps' program by setting: |
7170
aff204c9bdd6
convert documentation: --config argument with spaces needs quoting.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
7101
diff
changeset
|
118 --config convert.cvsps='cvsps -A -u --cvs-direct -q' |
7101
e786192d995d
convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents:
7053
diff
changeset
|
119 This is a legacy option and may be removed in future. |
e786192d995d
convert: make built-in cvsps the default
Patrick Mezard <pmezard@gmail.com>
parents:
7053
diff
changeset
|
120 |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
121 The options shown are the defaults. |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
122 |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
123 Internal cvsps is selected by setting |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
124 --config convert.cvsps=builtin |
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
125 and has a few more configurable options: |
8010
58ba4b86ae13
convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents:
7989
diff
changeset
|
126 --config convert.cvsps.fuzz=60 (integer) |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
127 Specify the maximum time (in seconds) that is allowed |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
128 between commits with identical user and log message in a |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
129 single changeset. When very large files were checked in as |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
130 part of a changeset then the default may not be long |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
131 enough. |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
132 --config convert.cvsps.mergeto='{{mergetobranch ([-\w]+)}}' |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
133 Specify a regular expression to which commit log messages |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
134 are matched. If a match occurs, then the conversion |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
135 process will insert a dummy revision merging the branch on |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
136 which this log message occurs to the branch indicated in |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
137 the regex. |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
138 --config convert.cvsps.mergefrom='{{mergefrombranch ([-\w]+)}}' |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
139 Specify a regular expression to which commit log messages |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
140 are matched. If a match occurs, then the conversion |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
141 process will add the most recent revision on the branch |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
142 indicated in the regex as the second parent of the |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
143 changeset. |
6923
ebf1462f2145
strip trailing whitespace, replace tabs by spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6885
diff
changeset
|
144 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
145 The hgext/convert/cvsps wrapper script allows the builtin |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
146 changeset merging code to be run without doing a conversion. Its |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
147 parameters and output are similar to that of cvsps 2.1. |
6798
ceb28b67204e
convert: add documentation for CVS source
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
6666
diff
changeset
|
148 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
149 Subversion Source |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
150 ----------------- |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
151 |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
152 Subversion source detects classical trunk/branches/tags layouts. |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
153 By default, the supplied "svn://repo/path/" source URL is |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
154 converted as a single branch. If "svn://repo/path/trunk" exists it |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
155 replaces the default branch. If "svn://repo/path/branches" exists, |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
156 its subdirectories are listed as possible branches. If |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
157 "svn://repo/path/tags" exists, it is looked for tags referencing |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
158 converted branches. Default "trunk", "branches" and "tags" values |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
159 can be overriden with following options. Set them to paths |
6172
0cd6846e5200
convert: allow svn trunk/branches/tags detection to be skipped
Patrick Mezard <pmezard@gmail.com>
parents:
6169
diff
changeset
|
160 relative to the source URL, or leave them blank to disable |
0cd6846e5200
convert: allow svn trunk/branches/tags detection to be skipped
Patrick Mezard <pmezard@gmail.com>
parents:
6169
diff
changeset
|
161 autodetection. |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
162 |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
163 --config convert.svn.branches=branches (directory name) |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
164 specify the directory containing branches |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
165 --config convert.svn.tags=tags (directory name) |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
166 specify the directory containing tags |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
167 --config convert.svn.trunk=trunk (directory name) |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
168 specify the name of the trunk branch |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
169 |
6173
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
170 Source history can be retrieved starting at a specific revision, |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
171 instead of being integrally converted. Only single branch |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
172 conversions are supported. |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
173 |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
174 --config convert.svn.startrev=0 (svn revision number) |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
175 specify start Subversion revision. |
963000ed8cac
convert: add shallow, single branch svn conversions via svn.startrev
Patrick Mezard <pmezard@gmail.com>
parents:
6172
diff
changeset
|
176 |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
177 Perforce Source |
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
178 --------------- |
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
179 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
180 The Perforce (P4) importer can be given a p4 depot path or a |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
181 client specification as source. It will convert all files in the |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
182 source to a flat Mercurial repository, ignoring labels, branches |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
183 and integrations. Note that when a depot path is given you then |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
184 usually should specify a target directory, because otherwise the |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
185 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
|
186 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
187 It is possible to limit the amount of source history to be |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
188 converted by specifying an initial Perforce revision. |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
189 |
8010
58ba4b86ae13
convert: align option types in help text
Martin Geisler <mg@daimi.au.dk>
parents:
7989
diff
changeset
|
190 --config convert.p4.startrev=0 (perforce changelist number) |
7823
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
191 specify initial Perforce revision. |
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
192 |
11efa41037e2
convert: Perforce source for conversion to Mercurial
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7815
diff
changeset
|
193 |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
194 Mercurial Destination |
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
195 --------------------- |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
196 |
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
197 --config convert.hg.clonebranches=False (boolean) |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
198 dispatch source branches in separate clones. |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
199 --config convert.hg.tagsbranch=default (branch name) |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
200 tag revisions branch name |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
201 --config convert.hg.usebranchnames=True (boolean) |
6169
55455556f921
convert: improve subversion source documentation
Patrick Mezard <pmezard@gmail.com>
parents:
6143
diff
changeset
|
202 preserve branch names |
5556
61fdf2558c0a
convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents:
5554
diff
changeset
|
203 |
4958
71fed370b7a7
Backout ad09ce1d393c and replace ''' with """ to make some highlighting happy.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4957
diff
changeset
|
204 """ |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
205 return convcmd.convert(ui, src, dest, revmapfile, **opts) |
316 | 206 |
5621
badbefa55972
convert: move commands definition to ease demandload job (issue 860)
Patrick Mezard <pmezard@gmail.com>
parents:
5521
diff
changeset
|
207 def debugsvnlog(ui, **opts): |
7873
4a4c7f6a5912
cleanup: drop unused imports
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
7823
diff
changeset
|
208 return subversion.debugsvnlog(ui, **opts) |
316 | 209 |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
210 def debugcvsps(ui, *args, **opts): |
7598 | 211 '''create changeset information from CVS |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
212 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
213 This command is intended as a debugging tool for the CVS to |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
214 Mercurial converter, and can be used as a direct replacement for |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
215 cvsps. |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
216 |
7989
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
217 Hg debugcvsps reads the CVS rlog for current directory (or any |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
218 named directory) in the CVS repository, and converts the log to a |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
219 series of changesets based on matching commit log entries and |
468ab22785aa
convert: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
220 dates.''' |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
221 return cvsps.debugcvsps(ui, *args, **opts) |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
222 |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
223 commands.norepo += " convert debugsvnlog debugcvsps" |
5127
39b6eaee6fd7
convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents:
5121
diff
changeset
|
224 |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
225 cmdtable = { |
4532
c3a78a49d7f0
Some small cleanups for convert extension:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4521
diff
changeset
|
226 "convert": |
5281
a176f9c8b26e
convert: rename a class and a function
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5256
diff
changeset
|
227 (convert, |
6999
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
228 [('A', 'authors', '', _('username mapping filename')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
229 ('d', 'dest-type', '', _('destination repository type')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
230 ('', 'filemap', '', _('remap file names using contents of file')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
231 ('r', 'rev', '', _('import up to target revision REV')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
232 ('s', 'source-type', '', _('source repository type')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
233 ('', 'splicemap', '', _('splice synthesized history into place')), |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
234 ('', 'datesort', None, _('try to sort changesets by date'))], |
f1546aa94362
i18n, convert: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6976
diff
changeset
|
235 _('hg convert [OPTION]... SOURCE [DEST [REVMAP]]')), |
5138
9cda2315c7a9
convert: Use debugsvnlog instead of git-like debug-svn-log.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5134
diff
changeset
|
236 "debugsvnlog": |
5127
39b6eaee6fd7
convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents:
5121
diff
changeset
|
237 (debugsvnlog, |
39b6eaee6fd7
convert: replace fork with subprocess call.
Patrick Mezard <pmezard@gmail.com>
parents:
5121
diff
changeset
|
238 [], |
5138
9cda2315c7a9
convert: Use debugsvnlog instead of git-like debug-svn-log.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5134
diff
changeset
|
239 'hg debugsvnlog'), |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
240 "debugcvsps": |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
241 (debugcvsps, |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
242 [ |
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
243 # Main options shared with cvsps-2.1 |
7598 | 244 ('b', 'branches', [], _('only return changes on specified branches')), |
245 ('p', 'prefix', '', _('prefix to remove from file names')), | |
246 ('r', 'revisions', [], _('only return changes after or between specified tags')), | |
247 ('u', 'update-cache', None, _("update cvs log cache")), | |
248 ('x', 'new-cache', None, _("create new cvs log cache")), | |
249 ('z', 'fuzz', 60, _('set commit time fuzz in seconds')), | |
250 ('', 'root', '', _('specify cvsroot')), | |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
251 # Options specific to builtin cvsps |
7598 | 252 ('', 'parents', '', _('show parent changesets')), |
253 ('', 'ancestors', '', _('show current changeset in ancestor branches')), | |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
254 # Options that are ignored for compatibility with cvsps-2.1 |
7735
2e48668b51f0
convert: marked string for translation
Martin Geisler <mg@daimi.au.dk>
parents:
7598
diff
changeset
|
255 ('A', 'cvs-direct', None, _('ignored for compatibility')), |
7502
16905fc2690f
Add debugcvsps command, replacing cvsps script
Frank Kingswood <frank@kingswood-consulting.co.uk>
parents:
7236
diff
changeset
|
256 ], |
7735
2e48668b51f0
convert: marked string for translation
Martin Geisler <mg@daimi.au.dk>
parents:
7598
diff
changeset
|
257 _('hg debugcvsps [OPTION]... [PATH]...')), |
4513
ac2fe196ac9b
Turns convert.py into a real extension
Edouard Gomez <ed.gomez@free.fr>
parents:
4512
diff
changeset
|
258 } |