git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Importing a subversion repository where some branches come from trunk subtrees

From
Ffrnchfrgg.jr <frnchfrgg.jr@gmail.com>
Date
Mar 31, 2012, 09:28 UTC
Message-ID
<CABaB1pJNs1FL6=CbJ97pq7O=jKK=G_4t-vsx-2c4vHXsuzr40g@mail.gmail.com>
Hello,

I noticed that a svn branch made out of a subtree of trunk confuses git-svn which fetches the whole history a second time (restricted to that subtree). Unfortunately this kind of strange branching has been repeatedly made in the Blender svn repository and I can end up with 5 or 6 times the full history from rev1 to rev20000, which makes the conversion even slower, the mirror bigger and loooong to clone and bisects completely unuseful.

Is this expected ? Or when git-svn identified the svn revision number of the parent and there already is a git commit imported from this revision, should it use that commit as the parent ? This would make the branch creation commit have a big "mangling paths" diff with its parent but I think it is logical.

That also means that when importing a revision, git-svn should always import the state of the whole tree (up to the branch, tag, or trunk root) and not only a part of it.

I have made a 4-revision sample svn repo which exhibits the problem, but it is quite simple to reproduce.

Is there a good reason for this behaviour (in other cases I can't think of) ?
Julien "_FrnchFrgg_" Rivaud
Next: Andrew Sayers
Message 1 of 3 in “Importing a subversion repository where some branches come from trunk subtrees”
  1. frnchfrgg.jrMar 31, 2012
  2. Andrew SayersMar 31, 2012
  3. Julien "_FrnchFrgg_" RivaudMar 31, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.