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

Git SVN Rebranching Issue

From
MKMatt Kern <matt.kern@undue.org>
Date
Nov 3, 2008, 14:07 UTC
Message-ID
<20081103140746.GA5969@mars.cyantechnology.local>
I have a git-svn issue which keeps biting me.

My company uses svn as its primary version control system. We frequently create branches, e.g. /branches/somebranch, by forking the trunk to ensure stability over the "somebranch" code. The problem is that we also frequently blow away /branches/somebranch and refork it from the trunk.

git-svn does a good job for most work, but I notice that if you delete the "somebranch" branch in svn and then refork it, also in svn, then when you git-svn fetch, the git commit at the head of remotes/somebranch will have two parents: the first is the previous head of remotes/somebranch, and the second is the head of remotes/trunk. Surely only the remotes/trunk parent should be listed? Any connection with the previous remotes/somebranch is an accident of naming. The real problem then comes when you come to look at the history in gitk. If "somebranch" is rebranched many times, the git history starts looking pretty complicated, when in fact it should simply be the linear history of remotes/trunk up to the branch point followed by a few, branch-specific commits. Is there any way to prevent (or modify) the git history to remove the errant parent?

In the ideal world, we wouldn't reuse branch names in svn, but it is convenient and doesn't cause problems for svn users. I can't force the rest of the company to change to accommodate my use of git...

I am using git (svn) version 1.5.6.5 (svn 1.4.6) from Debian/Lenny and can provide a trivial repository demonstrating the problem if anyone is interested.

Matt
-- 
Matt Kern
http://www.undue.org/
Next: Eric Wong
Message 1 of 9 in “Git SVN Rebranching Issue”
  1. Matt KernNov 3, 2008
  2. Eric WongNov 4, 2008
  3. Dmitry PotapovNov 4, 2008
  4. Sverre RabbelierNov 4, 2008
  5. Matt KernNov 4, 2008
  6. Eric WongNov 5, 2008
  7. Avery PennarunNov 5, 2008
  8. Eric WongNov 6, 2008
  9. Avery PennarunNov 6, 2008

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.