Re: [PATCH] contrib/svn-fe: Fast script to remap svn history
From: David Michael Barr <hidden>
Date: 2016-06-15 22:49:43
Hi,
quoted
This python script walks the commit sequence imported by svn-fe. For each commit, it tries to identify the branch that was changed. Commits are rewritten to be rooted according to the standard layout. A basic heuristic of matching trees is used to find parents for the first commit in a branch and for tags.Nice, how easy would it be to extend it to deal with other layouts?
I think its just a matter of adjusting the regular expression to match roots and the mapping from roots to refs.
quoted
diff --git a/fast-import.c b/fast-import.c index 2317b0f..8f68a89 100644 --- a/fast-import.c +++ b/fast-import.c@@ -1454,6 +1454,15 @@ static int tree_content_set( n = slash1 - p; else n = strlen(p); + if (!slash1 && !n) { + if (!S_ISDIR(mode)) + die("Root cannot be a non-directory"); + hashcpy(root->versions[1].sha1, sha1); + if (root->tree) + release_tree_content_recursive(root->tree); + root->tree = subtree; + return 1; + } if (!n) die("Empty path component found in input"); if (!slash1 && !S_ISDIR(mode) && subtree)What is this hunk about?
My bad, that belongs in a separate commit. I'll break it out after review. The subject would read: "fast-import: Allow filemodify to set the root". -- David Barr