41529bbce4
Set up some plumbing: teach the svndump lib to pass a file descriptor number to the fast_export lib, representing where cat-blob/ls responses can be read from, and add a get_response_line helper function to the fast_export lib to read a line from that file. Unfortunately this means that svn-fe needs file descriptor 3 to be redirected from somewhere (preferrably the cat-blob stream of a fast-import backend); otherwise it will fail: $ svndump <path> | svn-fe fatal: cannot read from file descriptor 3: Bad file descriptor For the moment, "svn-fe 3</dev/null" works as a workaround but it will not work for very long. A fast-import backend that can retrieve old commits is needed in order to be able to fulfill svn "Node-copyfrom-rev" requests that refer to revs from a previous run. [jn: with new change description] Based-on-patch-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
svn-fe(1)
|
|
=========
|
|
|
|
NAME
|
|
----
|
|
svn-fe - convert an SVN "dumpfile" to a fast-import stream
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
mkfifo backchannel &&
|
|
svnadmin dump --incremental REPO |
|
|
svn-fe [url] 3<backchannel |
|
|
git fast-import --cat-blob-fd=3 3>backchannel
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
Converts a Subversion dumpfile into input suitable for
|
|
git-fast-import(1) and similar importers. REPO is a path to a
|
|
Subversion repository mirrored on the local disk. Remote Subversion
|
|
repositories can be mirrored on local disk using the `svnsync`
|
|
command.
|
|
|
|
Note: this tool is very young. The details of its commandline
|
|
interface may change in backward incompatible ways.
|
|
|
|
INPUT FORMAT
|
|
------------
|
|
Subversion's repository dump format is documented in full in
|
|
`notes/dump-load-format.txt` from the Subversion source tree.
|
|
Files in this format can be generated using the 'svnadmin dump' or
|
|
'svk admin dump' command.
|
|
|
|
Dumps produced with 'svnadmin dump --deltas' (dumpfile format v3)
|
|
are not supported.
|
|
|
|
OUTPUT FORMAT
|
|
-------------
|
|
The fast-import format is documented by the git-fast-import(1)
|
|
manual page.
|
|
|
|
NOTES
|
|
-----
|
|
Subversion dumps do not record a separate author and committer for
|
|
each revision, nor a separate display name and email address for
|
|
each author. Like git-svn(1), 'svn-fe' will use the name
|
|
|
|
---------
|
|
user <user@UUID>
|
|
---------
|
|
|
|
as committer, where 'user' is the value of the `svn:author` property
|
|
and 'UUID' the repository's identifier.
|
|
|
|
To support incremental imports, 'svn-fe' puts a `git-svn-id` line at
|
|
the end of each commit log message if passed an url on the command
|
|
line. This line has the form `git-svn-id: URL@REVNO UUID`.
|
|
|
|
The resulting repository will generally require further processing
|
|
to put each project in its own repository and to separate the history
|
|
of each branch. The 'git filter-branch --subdirectory-filter' command
|
|
may be useful for this purpose.
|
|
|
|
BUGS
|
|
----
|
|
Empty directories and unknown properties are silently discarded.
|
|
|
|
The exit status does not reflect whether an error was detected.
|
|
|
|
SEE ALSO
|
|
--------
|
|
git-svn(1), svn2git(1), svk(1), git-filter-branch(1), git-fast-import(1),
|
|
https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt
|