author | Bryan O'Sullivan <bos@serpentine.com> |
Fri, 02 Nov 2007 14:02:28 -0700 | |
changeset 5503 | 6f26c7677463 |
parent 5441 | 71e7c86adcb7 |
child 5488 | 247af577fe29 |
permissions | -rw-r--r-- |
5441
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
1 |
hg convert [OPTION]... SOURCE [DEST [MAPFILE]] |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
2 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
3 |
Convert a foreign SCM repository to a Mercurial one. |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
4 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
5 |
Accepted source formats: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
6 |
- CVS |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
7 |
- Darcs |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
8 |
- git |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
9 |
- Subversion |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
10 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
11 |
Accepted destination formats: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
12 |
- Mercurial |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
13 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
14 |
If no revision is given, all revisions will be converted. Otherwise, |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
15 |
convert will only import up to the named revision (given in a format |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
16 |
understood by the source). |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
17 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
18 |
If no destination directory name is specified, it defaults to the |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
19 |
basename of the source with '-hg' appended. If the destination |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
20 |
repository doesn't exist, it will be created. |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
21 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
22 |
If <revmapfile> isn't given, it will be put in a default location |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
23 |
(<dest>/.hg/shamap by default). The <revmapfile> is a simple text |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
24 |
file that maps each source commit ID to the destination ID for |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
25 |
that revision, like so: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
26 |
<source ID> <destination ID> |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
27 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
28 |
If the file doesn't exist, it's automatically created. It's updated |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
29 |
on each commit copied, so convert-repo can be interrupted and can |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
30 |
be run repeatedly to copy new commits. |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
31 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
32 |
The [username mapping] file is a simple text file that maps each source |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
33 |
commit author to a destination commit author. It is handy for source SCMs |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
34 |
that use unix logins to identify authors (eg: CVS). One line per author |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
35 |
mapping and the line format is: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
36 |
srcauthor=whatever string you want |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
37 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
38 |
The filemap is a file that allows filtering and remapping of files |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
39 |
and directories. Comment lines start with '#'. Each line can |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
40 |
contain one of the following directives: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
41 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
42 |
include path/to/file |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
43 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
44 |
exclude path/to/file |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
45 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
46 |
rename from/file to/file |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
47 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
48 |
The 'include' directive causes a file, or all files under a |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
49 |
directory, to be included in the destination repository. The |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
50 |
'exclude' directive causes files or directories to be omitted. |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
51 |
The 'rename' directive renames a file or directory. To rename |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
52 |
from a subdirectory into the root of the repository, use '.' as |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
53 |
the path to rename to. |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
54 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
55 |
options: |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
56 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
57 |
-A --authors username mapping filename |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
58 |
-d --dest-type destination repository type |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
59 |
--filemap remap file names using contents of file |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
60 |
-r --rev import up to target revision REV |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
61 |
-s --source-type source repository type |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
62 |
--datesort try to sort changesets by date |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
63 |
|
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
64 |
use "hg -v help convert" to show global options |
5015 | 65 |
adding a |
66 |
assuming destination a-hg |
|
67 |
initializing destination a-hg repository |
|
68 |
scanning source... |
|
69 |
sorting... |
|
70 |
converting... |
|
71 |
4 a |
|
72 |
3 b |
|
73 |
2 c |
|
74 |
1 d |
|
75 |
0 e |
|
76 |
pulling from ../a |
|
77 |
searching for changes |
|
78 |
no changes found |
|
5441
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
79 |
% should fail |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
80 |
initializing destination bogusfile repository |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
81 |
abort: cannot create new bundle repository |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
82 |
% should fail |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
83 |
abort: Permission denied: bogusdir |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
84 |
% should succeed |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
85 |
initializing destination bogusdir repository |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
86 |
scanning source... |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
87 |
sorting... |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
88 |
converting... |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
89 |
4 a |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
90 |
3 b |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
91 |
2 c |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
92 |
1 d |
71e7c86adcb7
convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents:
5015
diff
changeset
|
93 |
0 e |