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

Re: Dropping core.worktree and GIT_WORK_TREE support (was Re: limiting relationship of git dir and worktree)

From
Michael J Gruber <michaeljgruber+gmane@fastmail.fm>
Date
Aug 26, 2008, 07:35 UTC
Message-ID
<48B3B256.6010609@fastmail.fm>
In-Reply-To
<7v7ia6j5q9.fsf_-_@gitster.siamese.dyndns.org>
Junio C Hamano venit, vidit, dixit 25.08.2008 02:30:
> Jeff King <peff@peff.net> writes:
> 
Show 5 quoted lines
>> Well, as a non-user of this feature, I certainly have no argument
>> against taking it out. Maybe the subject line will pull some other
>> people into the discussion.
> 
> Heh, if we are to do the attention-getter, let's do so more strongly ;-)
Sorry for being late to the discussion.

I think there are many use cases or environments which differ substantially from those of the "typical" developer; this implies that they differ from those of the typical git contributor, which naturally leads to a certain bias in discussions like this one.

"Typical" developers track source code in the proper sense (somewhere in $HOME); on local file systems; mostly on machines where they have root access, or least can get extra accounts (for gitosis) or a port for "git daemon" etc; they collaborate with peers for whom basically the same assumptions apply.

Now think of a user say in academics, who tracks "source code" for scientific papers (somewhere in $HOME) but also needs to track, e.g., central web pages or other "sources" where he has partial write access but can't have ".git" in place (and shouldn't change ownership & permissions), but needs to be aware of changes and log own changes; on NFS; no extra accounts but in need of an authenticated protocol (papers in progress are private, public only when published); who collaborates with peers for whom the same assumptions apply, except most certainly for git usage...

Yes, that's me, but also many others, I would think and hope, at least increasingly so. That second scenario is one where I have to cope with how things are set up centrally, making the best possible use of git.

I would imagine that many corporate environments are basically similar, if individual employees want to use git without central support.

These remarks apply to the discussion about an authenticated protocol (some way for secure, private pull&push for users with access to $HOME and maybe cgi-bins), but also here:

I need to keep .git away from the work tree for several projects. Using --git-dir etc. leads to problems with some commands, especially git{k,-gui,-citool}. I found the most robust solution to be an alias (shell) which guesses the work tree (from core.worktree etc.) and cd's there before doing anything. This also solves the problems with diff.

I would strongly advocate for keeping the possibility of separating git-dir and work-tree, and possibly dropping the assumption that everything "foo.git" is a bare repo. There are config variables for this. The Tcl/Tk family I mentioned makes even stronger assumptions. I promise to have a look at these when I find time (oh yeah...).

Michael
Previous: Miklos VajnaNext: Jeff King
Message 26 of 45 in “Support "core.excludesfile = ~/.gitignore"”
  1. Support "core.excludesfile = ~/.gitignore"Karl Chen, Aug 22, 2008
  2. Eric RaibleAug 22, 2008
  3. Bert WesargAug 22, 2008
  4. Junio C HamanoAug 22, 2008
  5. Karl ChenAug 24, 2008
  6. Junio C HamanoAug 24, 2008
  7. Jeff KingAug 24, 2008
  8. Junio C HamanoAug 24, 2008
  9. Jeff KingAug 24, 2008
  10. Junio C HamanoAug 24, 2008
  11. limiting relationship of git dir and worktree (was Re: [PATCH] Support "core.excludesfile = ~/.gitignore")Jeff King, Aug 24, 2008
  12. Dropping core.worktree and GIT_WORK_TREE support (was Re: limiting relationship of git dir and worktree)Junio C Hamano, Aug 25, 2008
  13. Miklos VajnaAug 25, 2008
  14. Junio C HamanoAug 25, 2008
  15. Miklos VajnaAug 25, 2008
  16. Nguyen Thai Ngoc DuyAug 25, 2008
  17. git diff/diff-index/diff-files: call setup_work_tree()Miklos Vajna, Aug 25, 2008
  18. Nguyen Thai Ngoc DuyAug 25, 2008
  19. Miklos VajnaAug 25, 2008
  20. git diff/diff-index/diff-files: call setup_work_tree()Miklos Vajna, Aug 25, 2008
  21. Nguyen Thai Ngoc DuyAug 25, 2008
  22. Junio C HamanoAug 26, 2008
  23. diff*: fix worktree setupNguyễn Thái Ngọc Duy, Aug 28, 2008
  24. Junio C HamanoAug 25, 2008
  25. Miklos VajnaAug 25, 2008
  26. Michael J GruberAug 26, 2008
  27. Jeff KingAug 27, 2008
  28. Support "core.excludesfile = ~/.gitignore"Karl Chen, Aug 25, 2008
  29. Johannes SixtAug 26, 2008
  30. Jeff KingAug 27, 2008
  31. Karl ChenAug 27, 2008
  32. Junio C HamanoAug 27, 2008
  33. Expand ~ and ~user in core.excludesfile, commit.templateKarl Chen, Aug 28, 2008
  34. Jeff KingAug 29, 2008
  35. Junio C HamanoAug 29, 2008
  36. Expand ~ and ~user in core.excludesfile, commit.templateKarl Chen, Aug 29, 2008
  37. Junio C HamanoAug 29, 2008
  38. Karl ChenAug 29, 2008
  39. Junio C HamanoAug 29, 2008
  40. Karl ChenAug 29, 2008
  41. Junio C HamanoAug 30, 2008
  42. Jeff KingAug 30, 2008
  43. Johannes SixtAug 29, 2008
  44. Karl ChenAug 27, 2008
  45. Junio C HamanoAug 27, 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.