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

Re: GSOC Proposal draft: git-remote-svn

From
SBStephen Bash <bash@genarts.com>
Date
Apr 15, 2012, 03:13 UTC
Message-ID
<b2ae4143-e771-4219-8727-d1c4048b61cc@mail>
In-Reply-To
<4F89EDBF.9050906@pileofstuff.org>
----- Original Message -----
Show 10 quoted lines
> From: "Andrew Sayers" <andrew-git@pileofstuff.org>
> Sent: Saturday, April 14, 2012 5:35:59 PM
> Subject: Re: GSOC Proposal draft: git-remote-svn
>
> ... snip ...
> 
> One solution you could look at would be storing dead branches in a
> JSON file somewhere.  If you go down that route, remember that `git
> gc` will try to garbage collect the commits once the branches have
> been dead for long enough.
I don't remember if this has already been discussed, but as I see it there are basically three approaches to closed/deleted SVN branches in the Git world:
  1) Just delete the branch, allow git gc to later cleanup the objects
  2) Just leave them be for the user to deal with at a later date
  3) Move them to another namespace
I think (3) is the only semi-tricky one.  If you read the git-gc manpage, it turns out gc will consider any object reachable from any ref under refs/ as safe.  When cloning/pushing/pulling/etc. git only looks at refs/heads and refs/tags (unless told otherwise).  So for our conversion I created refs/hidden/heads and refs/hidden/tags (other choices could be refs/svn or refs/junk, but you get the idea).  Just as a fun stat, the hidden namespace in our central repo has 280 refs in it vs 502 in the visible/normal namespace (surprisingly the hidden ones are almost perfectly split with 138 dead Subversion branches and 142 SVN tags that were later retagged/committed to).

Thanks, Stephen

Previous: Andrew SayersNext: Florian Achleitner
Message 44 of 46 in “GSoC intro”
  1. Florian AchleitnerMar 19, 2012
  2. Andrew SayersMar 19, 2012
  3. Florian AchleitnerMar 20, 2012
  4. David BarrMar 20, 2012
  5. Florian AchleitnerMar 21, 2012
  6. Ramkumar RamachandraMar 26, 2012
  7. Florian AchleitnerMar 27, 2012
  8. Miles BaderMar 28, 2012
  9. Dmitry IvankovMar 28, 2012
  10. GSOC Proposal draft: git-remote-svnFlorian Achleitner, Apr 2, 2012
  11. Ramkumar RamachandraApr 2, 2012
  12. Jonathan NiederApr 2, 2012
  13. Andrew SayersApr 2, 2012
  14. Jonathan NiederApr 2, 2012
  15. Jonathan NiederApr 2, 2012
  16. Andrew SayersApr 2, 2012
  17. Jonathan NiederApr 3, 2012
  18. Florian AchleitnerApr 3, 2012
  19. Jonathan NiederApr 3, 2012
  20. Andrew SayersApr 3, 2012
  21. Jonathan NiederApr 3, 2012
  22. Florian AchleitnerApr 5, 2012
  23. Dmitry IvankovApr 5, 2012
  24. Tomas CarneckyApr 5, 2012
  25. Stephen BashApr 9, 2012
  26. Jonathan NiederApr 10, 2012
  27. Andrew SayersApr 10, 2012
  28. Jonathan NiederApr 10, 2012
  29. Jakub NarebskiApr 11, 2012
  30. Jonathan NiederApr 11, 2012
  31. Florian AchleitnerApr 11, 2012
  32. Florian AchleitnerApr 11, 2012
  33. Dmitry IvankovApr 11, 2012
  34. Jonathan NiederApr 11, 2012
  35. Andrew SayersApr 11, 2012
  36. Thomas RastApr 12, 2012
  37. Florian AchleitnerApr 12, 2012
  38. Andrew SayersApr 12, 2012
  39. Jonathan NiederApr 13, 2012
  40. Florian AchleitnerApr 14, 2012
  41. Florian AchleitnerApr 14, 2012
  42. Andrew SayersApr 14, 2012
  43. Andrew SayersApr 14, 2012
  44. Stephen BashApr 15, 2012
  45. Florian AchleitnerApr 18, 2012
  46. Florian AchleitnerApr 19, 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.