vcs-svn: set up channel to read fast-import cat-blob response
[svn-fe.git] / svn-fe.txt
blob85f7b8302835c741c6963611b6483223aa573410
1 svn-fe(1)
2 =========
4 NAME
5 ----
6 svn-fe - convert an SVN "dumpfile" to a fast-import stream
8 SYNOPSIS
9 --------
10 [verse]
11 mkfifo backchannel &&
12 svnadmin dump --incremental REPO |
13         svn-fe [url] 3<backchannel |
14         git fast-import --cat-blob-fd=3 3>backchannel
16 DESCRIPTION
17 -----------
19 Converts a Subversion dumpfile into input suitable for
20 git-fast-import(1) and similar importers. REPO is a path to a
21 Subversion repository mirrored on the local disk. Remote Subversion
22 repositories can be mirrored on local disk using the `svnsync`
23 command.
25 Note: this tool is very young.  The details of its commandline
26 interface may change in backward incompatible ways.
28 INPUT FORMAT
29 ------------
30 Subversion's repository dump format is documented in full in
31 `notes/dump-load-format.txt` from the Subversion source tree.
32 Files in this format can be generated using the 'svnadmin dump' or
33 'svk admin dump' command.
35 Dumps produced with 'svnadmin dump --deltas' (dumpfile format v3)
36 are not supported.
38 OUTPUT FORMAT
39 -------------
40 The fast-import format is documented by the git-fast-import(1)
41 manual page.
43 NOTES
44 -----
45 Subversion dumps do not record a separate author and committer for
46 each revision, nor a separate display name and email address for
47 each author.  Like git-svn(1), 'svn-fe' will use the name
49 ---------
50 user <user@UUID>
51 ---------
53 as committer, where 'user' is the value of the `svn:author` property
54 and 'UUID' the repository's identifier.
56 To support incremental imports, 'svn-fe' puts a `git-svn-id` line at
57 the end of each commit log message if passed an url on the command
58 line.  This line has the form `git-svn-id: URL@REVNO UUID`.
60 The resulting repository will generally require further processing
61 to put each project in its own repository and to separate the history
62 of each branch.  The 'git filter-branch --subdirectory-filter' command
63 may be useful for this purpose.
65 BUGS
66 ----
67 Empty directories and unknown properties are silently discarded.
69 The exit status does not reflect whether an error was detected.
71 SEE ALSO
72 --------
73 git-svn(1), svn2git(1), svk(1), git-filter-branch(1), git-fast-import(1),
74 https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt