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

Re: git-svn set-tree bug

From
Steven Grimm <koreth@midwinter.com>
Date
Jun 11, 2007, 06:58 UTC
Message-ID
<466CF2A0.4080604@midwinter.com>
In-Reply-To
<20070611042509.GA19866@muzzle>
Eric Wong wrote:
> Doable?  Yes.  However, I think using grafts is quite hackish and
> unreliable[1].  I'd rather just have users using set-tree if
> they want to deal with non-linear history in the first place.
>   

Agreed about grafts being hackish and unreliable. But they were what I had to work with, given that I know little enough about git-svn's internals to be able to implement Junio's more robust idea.

IMO set-tree is not much of an option. In my environment it is unacceptable for there to be any possibility of accidentally and silently overwriting some other change that just happened to hit the svn repo right before I committed my change, which (unless it has changed since I last tried it) set-tree will happily do. I can get away with doing that maybe once before my company's release manager will, quite justifiably, require me to stop using git and switch back to the standard svn client.

> I'd personally avoid any sort of non-linear history when interacting
> with SVN repositories, however.
>   

Which is a shame since git loses a lot of its utility without nonlinear history. For example, the script I posted uses git to do merges between svn branches. It works wonderfully even if, as you and Junio point out, its use of grafts to record svn merges scales poorly and is potentially susceptible to corruption. Thanks to the ability to record the fact that my merges between svn branches were actually merges, my git clone has a more complete picture of what's in my svn repository than the svn repository itself does!

-Steve
Previous: Lars HjemliNext: Joakim Tjernlund
Message 26 of 27 in “git-svn set-tree bug”
  1. Joakim TjernlundJun 8, 2007
  2. Eric WongJun 10, 2007
  3. Joakim TjernlundJun 10, 2007
  4. Joakim TjernlundJun 10, 2007
  5. Eric WongJun 10, 2007
  6. Joakim TjernlundJun 10, 2007
  7. Steven GrimmJun 10, 2007
  8. Joakim TjernlundJun 10, 2007
  9. Eric WongJun 11, 2007
  10. Junio C HamanoJun 11, 2007
  11. Eric WongJun 12, 2007
  12. Junio C HamanoJun 12, 2007
  13. Eric WongJun 12, 2007
  14. Joakim TjernlundJun 12, 2007
  15. Steven GrimmJun 12, 2007
  16. git-svn: allow dcommit to retain local merge informationEric Wong, Jun 13, 2007
  17. Joakim TjernlundJun 13, 2007
  18. Joakim TjernlundJun 13, 2007
  19. Eric WongJun 20, 2007
  20. Eric WongJun 20, 2007
  21. Joakim TjernlundJun 21, 2007
  22. Joakim TjernlundJul 1, 2007
  23. Steven GrimmJun 14, 2007
  24. Joakim TjernlundJun 22, 2007
  25. Lars HjemliJun 12, 2007
  26. Steven GrimmJun 11, 2007
  27. Joakim TjernlundJun 11, 2007

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.