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

Re: git-svn and huge data and modifying the git-svn-HEAD branch directly

From
Linus Torvalds <torvalds@osdl.org>
Date
Feb 28, 2006, 00:41 UTC
Message-ID
<Pine.LNX.4.64.0602271634410.22647@g5.osdl.org>
In-Reply-To
<46a038f90602271625y6c7e9072u372b8dd3662e272c@mail.gmail.com>
On Tue, 28 Feb 2006, Martin Langhoff wrote:
Show 6 quoted lines
> 
> git-svn-HEAD "moves" so it's really a bad idea to have it as a tag.
> Nothing within core git prevents it from moving, but I think that
> porcelains will start breaking. Tags and heads are the same thing,
> except that heads are expected to change (specifically, to move
> forward), and tags are expected to stand still.

Well, I wouldn't say that tags are expected to stand still. Some kinds of tags are expected to move: a "this is the last tested version" tag would be expected to move with testing.

That said, the movement is _different_ from a branch. A branch is expected to move _with_ development, while a tag is expected to either stay the same, or move _after_ development.

However, in many ways git really doesn't care much. The "refs/heads" directory is the only one that is really special, in that "git checkout" refuses to check out a moving branch in anything but that subdirectory. The "tags" subdirectory is slightly special to some helpers (like "git pull"), which have flags to pull everythying in that subdirectory.

But other than those two pretty trivial issues, any ref under "refs/" should work perfectly fine. I would argue that a specialized tracking tool might well be better off without using either "refs/heads" _or_ "refs/tags", since those have accepted meaning outside of tracking.

Using a "refs/remotes" subdirectory makes tons of sense for something like this. Or something even more specific, like "refs/svn-tracking/". Git shouldn't care - all the tools _should_ work fine with any subdirectory structure.

		Linus
Previous: Martin LanghoffNext: Martin Langhoff
Message 6 of 33 in “git-svn and huge data and modifying the git-svn-HEAD branch directly”
  1. Nicolas Vilz 'niv'Feb 27, 2006
  2. Eric WongFeb 27, 2006
  3. Jan HarkesFeb 27, 2006
  4. Eric WongFeb 27, 2006
  5. Martin LanghoffFeb 28, 2006
  6. Linus TorvaldsFeb 28, 2006
  7. Martin LanghoffFeb 28, 2006
  8. Eric WongMar 1, 2006
  9. Andreas EricssonMar 1, 2006
  10. Linus TorvaldsMar 1, 2006
  11. Andreas EricssonMar 1, 2006
  12. Linus TorvaldsMar 1, 2006
  13. Josef WeidendorferMar 1, 2006
  14. Shawn PearceMar 1, 2006
  15. Linus TorvaldsMar 1, 2006
  16. Josef WeidendorferMar 1, 2006
  17. Linus TorvaldsMar 1, 2006
  18. Josef WeidendorferMar 1, 2006
  19. Linus TorvaldsMar 1, 2006
  20. Junio C HamanoMar 1, 2006
  21. Josef WeidendorferMar 1, 2006
  22. Martin LanghoffMar 1, 2006
  23. Carl WorthMar 1, 2006
  24. Linus TorvaldsMar 1, 2006
  25. Johannes SchindelinMar 1, 2006
  26. Petr BaudisMar 19, 2006
  27. Linus TorvaldsMar 19, 2006
  28. Junio C HamanoMar 19, 2006
  29. contrib/git-svn: tell the user to not modify git-svn-HEAD directlyEric Wong, Feb 27, 2006
  30. Nicolas Vilz 'niv'Feb 27, 2006
  31. Eric WongFeb 27, 2006
  32. Nicolas Vilz 'niv'Feb 27, 2006
  33. contrib/git-svn: correct commit example in manpageEric Wong, Feb 27, 2006

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.