{"thread":{"id":"24408","subject":"[PATCH] Get rr/svn-fe-contrib merged","startedAt":"2010-07-15T16:25:38Z","lastAt":"2010-07-15T16:25:39Z","messageCount":2,"participants":["Ramkumar Ramachandra"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"145637","messageId":"1279211139-8629-1-git-send-email-artagnon@gmail.com","threadId":"24408","inReplyTo":null,"subject":"[PATCH] Get rr/svn-fe-contrib merged","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-07-15T16:25:38Z","receivedAt":"2010-07-15T16:25:38Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi,\n\nThanks to Jonathan for suggesting this. This series adds a sample user\nfor svn-fe in contrib/ along with some good documentation.\n\n-- Ram\n\nJonathan Nieder (1):\n  Add a sample user for the svndump library\n\n contrib/svn-fe/.gitignore |    3 ++\n contrib/svn-fe/Makefile   |   63 ++++++++++++++++++++++++++++++++++++++++++\n contrib/svn-fe/svn-fe.c   |   15 ++++++++++\n contrib/svn-fe/svn-fe.txt |   66 +++++++++++++++++++++++++++++++++++++++++++++\n 4 files changed, 147 insertions(+), 0 deletions(-)\n create mode 100644 contrib/svn-fe/.gitignore\n create mode 100644 contrib/svn-fe/Makefile\n create mode 100644 contrib/svn-fe/svn-fe.c\n create mode 100644 contrib/svn-fe/svn-fe.txt\n"},{"id":"145638","messageId":"1279211139-8629-2-git-send-email-artagnon@gmail.com","threadId":"24408","inReplyTo":"1279211139-8629-1-git-send-email-artagnon@gmail.com","subject":"[PATCH] Add a sample user for the svndump library","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2010-07-15T16:25:39Z","receivedAt":"2010-07-15T16:25:39Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"From: Jonathan Nieder <jrnieder@gmail.com>\n\nThe svn-fe tool takes a Subversion dump file as input and produces\na fast-import stream as output.  This can be useful as a low-level\ntool in building other importers, or for debugging the vcs-svn\nlibrary.\n\n make svn-fe\n make svn-fe.1\n\nto test.\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\nAcked-by: Ramkumar Ramachandra <artagnon@gmail.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n contrib/svn-fe/.gitignore |    3 ++\n contrib/svn-fe/Makefile   |   63 ++++++++++++++++++++++++++++++++++++++++++\n contrib/svn-fe/svn-fe.c   |   15 ++++++++++\n contrib/svn-fe/svn-fe.txt |   66 +++++++++++++++++++++++++++++++++++++++++++++\n 4 files changed, 147 insertions(+), 0 deletions(-)\n create mode 100644 contrib/svn-fe/.gitignore\n create mode 100644 contrib/svn-fe/Makefile\n create mode 100644 contrib/svn-fe/svn-fe.c\n create mode 100644 contrib/svn-fe/svn-fe.txt\n\ndiff --git a/contrib/svn-fe/.gitignore b/contrib/svn-fe/.gitignore\nnew file mode 100644\nindex 0000000..27a33b6\n--- /dev/null\n+++ b/contrib/svn-fe/.gitignore\n@@ -0,0 +1,3 @@\n+/*.xml\n+/*.1\n+/*.html\ndiff --git a/contrib/svn-fe/Makefile b/contrib/svn-fe/Makefile\nnew file mode 100644\nindex 0000000..4cc8d15\n--- /dev/null\n+++ b/contrib/svn-fe/Makefile\n@@ -0,0 +1,63 @@\n+all:: svn-fe$X\n+\n+CC = gcc\n+RM = rm -f\n+MV = mv\n+\n+CFLAGS = -g -O2 -Wall\n+LDFLAGS =\n+ALL_CFLAGS = $(CFLAGS)\n+ALL_LDFLAGS = $(LDFLAGS)\n+EXTLIBS =\n+\n+GIT_LIB = ../../libgit.a\n+VCSSVN_LIB = ../../vcs-svn/lib.a\n+LIBS = $(VCSSVN_LIB) $(GIT_LIB) $(EXTLIBS)\n+\n+QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir\n+QUIET_SUBDIR1 =\n+\n+ifneq ($(findstring $(MAKEFLAGS),w),w)\n+PRINT_DIR = --no-print-directory\n+else # \"make -w\"\n+NO_SUBDIR = :\n+endif\n+\n+ifneq ($(findstring $(MAKEFLAGS),s),s)\n+ifndef V\n+\tQUIET_CC      = @echo '   ' CC $@;\n+\tQUIET_LINK    = @echo '   ' LINK $@;\n+\tQUIET_SUBDIR0 = +@subdir=\n+\tQUIET_SUBDIR1 = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \\\n+\t                $(MAKE) $(PRINT_DIR) -C $$subdir\n+endif\n+endif\n+\n+svn-fe$X: svn-fe.o $(VCSSVN_LIB) $(GIT_LIB)\n+\t$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ svn-fe.o \\\n+\t\t$(ALL_LDFLAGS) $(LIBS)\n+\n+svn-fe.o: svn-fe.c ../../vcs-svn/svndump.h\n+\t$(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<\n+\n+svn-fe.html: svn-fe.txt\n+\t$(QUIET_SUBDIR0)../../Documentation $(QUIET_SUBDIR1) \\\n+\t\tMAN_TXT=../contrib/svn-fe/svn-fe.txt \\\n+\t\t../contrib/svn-fe/$@\n+\n+svn-fe.1: svn-fe.txt\n+\t$(QUIET_SUBDIR0)../../Documentation $(QUIET_SUBDIR1) \\\n+\t\tMAN_TXT=../contrib/svn-fe/svn-fe.txt \\\n+\t\t../contrib/svn-fe/$@\n+\t$(MV) ../../Documentation/svn-fe.1 .\n+\n+../../vcs-svn/lib.a: FORCE\n+\t$(QUIET_SUBDIR0)../.. $(QUIET_SUBDIR1) vcs-svn/lib.a\n+\n+../../libgit.a: FORCE\n+\t$(QUIET_SUBDIR0)../.. $(QUIET_SUBDIR1) libgit.a\n+\n+clean:\n+\t$(RM) svn-fe$X svn-fe.o svn-fe.html svn-fe.xml svn-fe.1\n+\n+.PHONY: all clean FORCE\ndiff --git a/contrib/svn-fe/svn-fe.c b/contrib/svn-fe/svn-fe.c\nnew file mode 100644\nindex 0000000..43c4320\n--- /dev/null\n+++ b/contrib/svn-fe/svn-fe.c\n@@ -0,0 +1,15 @@\n+/*\n+ * This file is in the public domain.\n+ * You may freely use, modify, distribute, and relicense it.\n+ */\n+\n+#include <stdlib.h>\n+#include \"vcs-svn/svndump.h\"\n+\n+int main(int argc, char **argv)\n+{\n+\tsvndump_init(NULL);\n+\tsvndump_read((argc > 1) ? argv[1] : NULL);\n+\tsvndump_reset();\n+\treturn 0;\n+}\ndiff --git a/contrib/svn-fe/svn-fe.txt b/contrib/svn-fe/svn-fe.txt\nnew file mode 100644\nindex 0000000..de30f83\n--- /dev/null\n+++ b/contrib/svn-fe/svn-fe.txt\n@@ -0,0 +1,66 @@\n+svn-fe(1)\n+=========\n+\n+NAME\n+----\n+svn-fe - convert an SVN \"dumpfile\" to a fast-import stream\n+\n+SYNOPSIS\n+--------\n+svnadmin dump --incremental REPO | svn-fe [url] | git fast-import\n+\n+DESCRIPTION\n+-----------\n+\n+Converts a Subversion dumpfile (version: 2) into input suitable for\n+git-fast-import(1) and similar importers. REPO is a path to a\n+Subversion repository mirrored on the local disk. Remote Subversion\n+repositories can be mirrored on local disk using the `svnsync`\n+command.\n+\n+INPUT FORMAT\n+------------\n+Subversion's repository dump format is documented in full in\n+`notes/dump-load-format.txt` from the Subversion source tree.\n+Files in this format can be generated using the 'svnadmin dump' or\n+'svk admin dump' command.\n+\n+OUTPUT FORMAT\n+-------------\n+The fast-import format is documented by the git-fast-import(1)\n+manual page.\n+\n+NOTES\n+-----\n+Subversion dumps do not record a separate author and committer for\n+each revision, nor a separate display name and email address for\n+each author.  Like git-svn(1), 'svn-fe' will use the name\n+\n+---------\n+user <user@UUID>\n+---------\n+\n+as committer, where 'user' is the value of the `svn:author` property\n+and 'UUID' the repository's identifier.\n+\n+To support incremental imports, 'svn-fe' will put a `git-svn-id`\n+line at the end of each commit log message if passed an url on the\n+command line.  This line has the form `git-svn-id: URL@REVNO UUID`.\n+\n+Empty directories and unknown properties are silently discarded.\n+\n+The resulting repository will generally require further processing\n+to put each project in its own repository and to separate the history\n+of each branch.  The 'git filter-branch --subdirectory-filter' command\n+may be useful for this purpose.\n+\n+BUGS\n+----\n+Litters the current working directory with .bin files for\n+persistence. Will be fixed when the svn-fe infrastructure is aware of\n+a Git working directory.\n+\n+SEE ALSO\n+--------\n+git-svn(1), svn2git(1), svk(1), git-filter-branch(1), git-fast-import(1),\n+https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt\n-- \n1.7.1\n"}]}