Subject: Git-SVN & subdirectory branches

From: Brian Gernhardt <[email-masked]>
Date: Fri, 27 Aug 2010 12:37:42 -0400

I'm working on creating a git mirror of the MINIX 3 repository.  I'm encountering a problem with the fact that the branches and tags often but not always are based on a subdirectory of trunk.  It appears that when git-svn encounters one of these branches it starts over from revision 1.  Is there a good way to deal with this or should I just let git-svn clone it as it will and use something like filter-branch to clean it up?  (Note that I intend this to be an ongoing mirror so any solution has to let git-svn work properly afterwords.)

In particular, MINIX's trunk contains a bigports and a src subdirectory and some branches (and tags) have both subdirectories, but more often they branch just the src (kernel and servers) directory.

For visual learners:

/trunk
  /bigports
  /src
    /boot
    /commands
    ...
/branches
  /R3.1.0
    /bigports
    /src
  /R3.1.7
    /boot
    /commands
    ...

The SVN repo can be browsed at https://gforge.cs.vu.nl/gf/project/minix/scmsvn/?action=browse&path=/ but people should be careful trying to clone it fully using git-svn due to the issue above.  I finally just used svnsync to create a local copy to clone from.

~~ Brian