Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 64 lines (45 sloc) 2.331 kB
b5b6497 @nominolo Start a README
nominolo authored
1 darcs-to-git
9b2034d @jmah Added Jonathon Mah to credits
jmah authored
2 written by Steve Purcell, some improvements by Thomas Schilling,
3 Jonathon Mah
b5b6497 @nominolo Start a README
nominolo authored
4
5 Converts a Darcs repository into a Git repository. Supports
6 incremental updates, i.e., you can pull new patches from the source
7 repository or import a large repository in steps.
8
9 USAGE
10 =====
11
12 (Use `darcs-to-git --help` to display the latest usage instructions.)
13
14 1. Create an *empty* directory that will become the new git repository
15 2. From inside that directory, run this program, passing the location
16 of the local source darcs repo as a parameter
17
18 The program will git-init the empty directory, and migrate all patches
19 in the source darcs repo into commits in that repository.
20
21 Thereafter, incremental patch conversion from the same source repo is
22 possible by repeating step 2.
23
24 Options
25 -------
26
27 * `--patches N`: only import `N` patches.
28
29 * `--email-address ADDRESS`: `darcs-to-git` tries to reconstruct the
30 email address from the darcs patch. In cases this is not possible,
31 a default will be picked by Git. This is usually the one in
32 `~/.gitconfig`. This option allows you to specify another default
7040a12 @jmah Fixed missing backquote in README
jmah authored
33 (without having to to modify `~/.gitconfig.`)
b5b6497 @nominolo Start a README
nominolo authored
34
35 * `--list-authors`: Outputs a list of authors in the source
36 repository and how they will appear in the git repository and
37 quits. The output will be lines like this:
38
39 Jane@example.com: Jane <Jane@example.com>
40
41 This means that the darcs author "Jane@example.com" will be
42 translated to git-author "Jane" with email address
43 "Jane@example.com". You can use the output of this command as a
44 starting point for the input for `--author-map`.
45
46 * `--author-map FILENAME`: Allows translations from darcs committer
47 name to Git committer name. The input is a YAML map. For an
ca12ee3 @nominolo Remember author substitition map
nominolo authored
48 example see the output of `--author-map`. The author map will be
7c3754f @nominolo Warn about conflict handling issues
nominolo authored
49 stored in the repository and will be re-used for future imports.
50
51
52 KNOWN ISSUES
53 ------------
54
55 When `darcs-to-git` pulls a conflicting patch it will revert the state
56 of the repository to the state before the conflict. *THIS WILL ALSO
57 REMOVE ANY LOCAL CHANGES TO YOUR REPOSITORY, INCLUDING GIT COMMITS!*
58 You should therefore not commit to the branch you import to, but
59 instead work in a different branch. You can rename your master branch
60 after import using:
61
62 $ git branch -m darcs_import
63
Something went wrong with that request. Please try again.