From: Sverre Rabbelier Date: Thu, 07 Oct 2010 06:29:35 GMT Subject: Re: [PATCH] contrib/svn-fe: Fast script to remap svn history Message-ID: In-Reply-To: <1286431561-24126-1-git-send-email-david.barr@cordelta.com> Heya, On Thu, Oct 7, 2010 at 08:06, David Barr wrote: > 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? > 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? -- Cheers, Sverre Rabbelier