-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a sample user for the svndump library
The svn-fe tool takes a Subversion dump file as input and produces a fast-import stream as output. This can be useful as a low-level tool in building other importers, or for debugging the vcs-svn library. make svn-fe make svn-fe.1 to test. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
Jonathan Nieder
authored and
Junio C Hamano
committed
Jul 16, 2010
1 parent
53b3042
commit e605164
Showing
4 changed files
with
147 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/*.xml | ||
/*.1 | ||
/*.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
all:: svn-fe$X | ||
|
||
CC = gcc | ||
RM = rm -f | ||
MV = mv | ||
|
||
CFLAGS = -g -O2 -Wall | ||
LDFLAGS = | ||
ALL_CFLAGS = $(CFLAGS) | ||
ALL_LDFLAGS = $(LDFLAGS) | ||
EXTLIBS = | ||
|
||
GIT_LIB = ../../libgit.a | ||
VCSSVN_LIB = ../../vcs-svn/lib.a | ||
LIBS = $(VCSSVN_LIB) $(GIT_LIB) $(EXTLIBS) | ||
|
||
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir | ||
QUIET_SUBDIR1 = | ||
|
||
ifneq ($(findstring $(MAKEFLAGS),w),w) | ||
PRINT_DIR = --no-print-directory | ||
else # "make -w" | ||
NO_SUBDIR = : | ||
endif | ||
|
||
ifneq ($(findstring $(MAKEFLAGS),s),s) | ||
ifndef V | ||
QUIET_CC = @echo ' ' CC $@; | ||
QUIET_LINK = @echo ' ' LINK $@; | ||
QUIET_SUBDIR0 = +@subdir= | ||
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ | ||
$(MAKE) $(PRINT_DIR) -C $$subdir | ||
endif | ||
endif | ||
|
||
svn-fe$X: svn-fe.o $(VCSSVN_LIB) $(GIT_LIB) | ||
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ svn-fe.o \ | ||
$(ALL_LDFLAGS) $(LIBS) | ||
|
||
svn-fe.o: svn-fe.c ../../vcs-svn/svndump.h | ||
$(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $< | ||
|
||
svn-fe.html: svn-fe.txt | ||
$(QUIET_SUBDIR0)../../Documentation $(QUIET_SUBDIR1) \ | ||
MAN_TXT=../contrib/svn-fe/svn-fe.txt \ | ||
../contrib/svn-fe/$@ | ||
|
||
svn-fe.1: svn-fe.txt | ||
$(QUIET_SUBDIR0)../../Documentation $(QUIET_SUBDIR1) \ | ||
MAN_TXT=../contrib/svn-fe/svn-fe.txt \ | ||
../contrib/svn-fe/$@ | ||
$(MV) ../../Documentation/svn-fe.1 . | ||
|
||
../../vcs-svn/lib.a: FORCE | ||
$(QUIET_SUBDIR0)../.. $(QUIET_SUBDIR1) vcs-svn/lib.a | ||
|
||
../../libgit.a: FORCE | ||
$(QUIET_SUBDIR0)../.. $(QUIET_SUBDIR1) libgit.a | ||
|
||
clean: | ||
$(RM) svn-fe$X svn-fe.o svn-fe.html svn-fe.xml svn-fe.1 | ||
|
||
.PHONY: all clean FORCE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
/* | ||
* This file is in the public domain. | ||
* You may freely use, modify, distribute, and relicense it. | ||
*/ | ||
|
||
#include <stdlib.h> | ||
#include "vcs-svn/svndump.h" | ||
|
||
int main(int argc, char **argv) | ||
{ | ||
svndump_init(NULL); | ||
svndump_read((argc > 1) ? argv[1] : NULL); | ||
svndump_reset(); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
svn-fe(1) | ||
========= | ||
|
||
NAME | ||
---- | ||
svn-fe - convert an SVN "dumpfile" to a fast-import stream | ||
|
||
SYNOPSIS | ||
-------- | ||
svnadmin dump --incremental REPO | svn-fe [url] | git fast-import | ||
|
||
DESCRIPTION | ||
----------- | ||
|
||
Converts a Subversion dumpfile (version: 2) 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. | ||
|
||
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. | ||
|
||
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' will put 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`. | ||
|
||
Empty directories and unknown properties are silently discarded. | ||
|
||
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 | ||
---- | ||
Litters the current working directory with .bin files for | ||
persistence. Will be fixed when the svn-fe infrastructure is aware of | ||
a Git working directory. | ||
|
||
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 |