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

Auto detaching head options (Re: Working copy revision and push pain)

From
JHJan Hudec <bulb@ucw.cz>
Date
Mar 25, 2008, 19:25 UTC
Message-ID
<20080325192552.GC4857@efreet.light.src>
In-Reply-To
<alpine.LSU.1.00.0803231658460.4353@racer.site>
On Sun, Mar 23, 2008 at 17:00:12 +0100, Johannes Schindelin wrote:
Show 10 quoted lines
> On Sun, 23 Mar 2008, Jonathan Watt wrote:
> > As I said, I don't want to update the files in the working copy. Seems 
> > like a different issue to me.
> 
> I understood that.  *yawns*
> 
> But I tried to tell you (unsuccessfully, it seems) that this is not 
> desirable to all users, and therefore it would be a horrible, horrible 
> idea to force the behaviour on other people you seemed to try to force on 
> other people.

The proponents of this (and I also) think, that meaning of HEAD is, or rather should be, "the revision your work tree is derived from". If you think it should be defined otherwise, can you please say how, so the merits of the definitions can be discussed?

Note, that that definition implies that HEAD makes no sense for bare repository. I think HEAD indeed does not make sense there, but you may of course provide different definition where it does.

Also I believe that it would be very useful to have a ref defined "the
revision your work tree is derived from", be it HEAD or not. It would:
 - make the behaviour of push to non-bare repository defined.
 - make additional work trees for a repository (created by
   contrib/workdir/git-new-workdir) safe (the mechanizm could than be an
   option for submodules).
I see two ways to add something to keep track of work tree base version:
1. Make HEAD a special kind of ref, that would contain *both* the symbolic
   name *and* sha1. It would behave as symbolic as long as the sha1 values
   match and as detached when they don't.
   This should actually be relatively small code change, because it would be
   confined to update-ref, symbolic-ref and revparse. It would however be
   quite significant change to the repository format.
2. Create a new special ref BASE? (WORKTREE?), with the right semantics.
   The code change would be a bit more invasive here, as more commands would
   be affected (though I hope the commands share internal code so it would
   only be one checkout and one commit path). It would be smaller change to
   the repository format. It would, however, more stick out, because to find
   out which branch you will commit to would require looking at both HEAD and
   BASE.
   It would really be similar to the revision number in index proposal,
   except less invasive and I actually believe there is a case (some form of
   checkout or reset), where we want to read-tree, but not change this ref.
-- 
						 Jan 'Bulb' Hudec <bulb@ucw.cz>
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 12 of 32 in “Working copy revision and push pain”
  1. Jonathan WattMar 23, 2008
  2. Johannes SchindelinMar 23, 2008
  3. Jonathan WattMar 23, 2008
  4. Elijah NewrenMar 23, 2008
  5. Jonathan WattMar 23, 2008
  6. Elijah NewrenMar 23, 2008
  7. Johannes SchindelinMar 23, 2008
  8. Jonathan WattMar 23, 2008
  9. Johannes SchindelinMar 23, 2008
  10. Jonathan WattMar 23, 2008
  11. Johannes SchindelinMar 23, 2008
  12. Auto detaching head options (Re: Working copy revision and push pain)Jan Hudec, Mar 25, 2008
  13. Johannes SchindelinMar 25, 2008
  14. Jeff KingMar 25, 2008
  15. Junio C HamanoMar 26, 2008
  16. Auto detaching head options (update) (Re: Working copy revision and push pain)Jan Hudec, Mar 29, 2008
  17. Jeff KingMar 29, 2008
  18. Junio C HamanoMar 31, 2008
  19. Jeff KingMar 31, 2008
  20. Jeff KingMar 31, 2008
  21. Elijah NewrenMar 23, 2008
  22. Jonathan WattMar 23, 2008
  23. Johannes SchindelinMar 23, 2008
  24. Johan HerlandMar 23, 2008
  25. Jonathan WattMar 23, 2008
  26. Junio C HamanoMar 23, 2008
  27. Junio C HamanoMar 23, 2008
  28. Johannes SchindelinMar 23, 2008
  29. Johannes SchindelinMar 24, 2008
  30. Johan HerlandMar 24, 2008
  31. Johannes SchindelinMar 23, 2008
  32. Jonathan WattMar 23, 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.