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

Re: [PATCH] Move all dashed form git commands to libexecdir

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Nov 30, 2007, 02:29 UTC
Message-ID
<alpine.LFD.0.9999.0711291821220.8458@woody.linux-foundation.org>
In-Reply-To
<20071130005852.GA12224@coredump.intra.peff.net>
On Thu, 29 Nov 2007, Jeff King wrote:
Show 5 quoted lines
> 
> I thought Linus' point was that moving the subcommands was sufficient
> for dealing with the consistency issue (i.e., all scripts would move to
> "git foo" and only those people who really wanted to would put the
> dashed forms in their path). 

Yes. I meant that we might as well keep all the git-xyz forms around, but _only_ in the libexec directory (and make sure that the libexec directory by default is *not* a binary directory), so that they'd normally not be visible.

So then, people who want to use the old-fashioned git-xyz forms, because 
they just really hate white-space or whatever, could choose to do one of 
two things:
 - either just change the default libexec directory to be the same as the 
   binary install directory, and have all the git-xyz things in the same 
   place they've always been.
 - or just add $(gitlibexec) into their path.

but the default (which is what 99% of all people use) would be to not show them. I also think that it makes sense to avoid wasting diskspace with duplicate files, so in situations where you don't have hardlinks, just don't install the git-xyz files at all by default (and again, maybe we can have a option to the installer to do it for people who really are very attached to the git-xyz format, and prefer to waste even a lot of disk on it)

So I just think that the whole idiotic complaint that some people have (that whole "git-<tab><tab>" shows "Display all 144 possibilities?" and people are somehow using that as an argument that git is "complex") should be something we strive to undo. I think the complaint is insane (because the answer is "well, nobody forces you to _use_ all the power and scripts we give you!"), but still, it's a complaint, so let's just assume the user is right, and try to fix it.

So when you do "git-<tab><tab>" it should just beep at you and not show anything at all by default. And when you do "git <tab><tab>", we should make sure that the bash expansion (or zsh or whatever) shows a nice collection of common plumbing, not soemthing really scary.

			Linus
Previous: Jeff KingNext: Nicolas Pitre
Message 62 of 92 in “Move all dashed form git commands to libexecdir”
  1. Move all dashed form git commands to libexecdirNguyễn Thái Ngọc Duy, Nov 27, 2007
  2. Johannes SchindelinNov 27, 2007
  3. Nicolas PitreNov 27, 2007
  4. Move all dashed form git commands to libexecdirNguyễn Thái Ngoc Duy, Nov 27, 2007
  5. Johannes SchindelinNov 27, 2007
  6. Jan HudecNov 28, 2007
  7. Junio C HamanoNov 28, 2007
  8. Jan HudecNov 28, 2007
  9. Nguyen Thai Ngoc DuyNov 28, 2007
  10. Junio C HamanoNov 28, 2007
  11. Johannes SchindelinNov 28, 2007
  12. Junio C HamanoNov 28, 2007
  13. Johannes SchindelinNov 29, 2007
  14. A Large Angry SCMNov 29, 2007
  15. Junio C HamanoNov 29, 2007
  16. Nguyen Thai Ngoc DuyNov 29, 2007
  17. Nicolas PitreNov 29, 2007
  18. Junio C HamanoNov 29, 2007
  19. Wincent ColaiutaNov 30, 2007
  20. Eyvind BernhardsenNov 30, 2007
  21. transport.c: call dash-less form of receive-pack and upload-pack on remoteJohannes Schindelin, Nov 30, 2007
  22. Junio C HamanoDec 1, 2007
  23. Johannes SchindelinDec 1, 2007
  24. Junio C HamanoDec 1, 2007
  25. Johannes SchindelinDec 1, 2007
  26. Johannes SchindelinDec 1, 2007
  27. Junio C HamanoDec 2, 2007
  28. 0/3 Call builtin functions directly, was Re: [PATCH] transport.c: call dash-less form of receive-pack and upload-pack on remoteJohannes Schindelin, Dec 2, 2007
  29. 1/3 Introduce release_all_objects()Johannes Schindelin, Dec 2, 2007
  30. 2/3 Include the objects needed for the builtin functions into libgit.aJohannes Schindelin, Dec 2, 2007
  31. 3/3 Introduce execv_git_builtin() and use itJohannes Schindelin, Dec 2, 2007
  32. Johannes SchindelinDec 2, 2007
  33. 3/3 Introduce execv_git_builtin() and use itJohannes Schindelin, Dec 2, 2007
  34. Junio C HamanoDec 2, 2007
  35. Johannes SchindelinDec 2, 2007
  36. Nguyen Thai Ngoc DuyNov 30, 2007
  37. Johannes SchindelinNov 30, 2007
  38. Jeff KingNov 29, 2007
  39. Nguyen Thai Ngoc DuyNov 29, 2007
  40. Jeff KingNov 29, 2007
  41. Johannes SchindelinNov 29, 2007
  42. Jeff KingNov 29, 2007
  43. Linus TorvaldsNov 29, 2007
  44. Junio C HamanoNov 30, 2007
  45. Jeff KingNov 30, 2007
  46. Junio C HamanoNov 30, 2007
  47. Jeff KingNov 30, 2007
  48. Nicolas PitreNov 30, 2007
  49. Jeff KingNov 30, 2007
  50. Steffen ProhaskaNov 30, 2007
  51. Andreas EricssonNov 30, 2007
  52. Jeff KingNov 30, 2007
  53. Junio C HamanoNov 30, 2007
  54. Jeff KingNov 30, 2007
  55. Johannes SchindelinNov 30, 2007
  56. Wincent ColaiutaDec 2, 2007
  57. Johannes SchindelinDec 2, 2007
  58. Pascal ObryDec 2, 2007
  59. Johannes SchindelinDec 2, 2007
  60. Junio C HamanoDec 1, 2007
  61. Jeff KingDec 1, 2007
  62. Linus TorvaldsNov 30, 2007
  63. Nicolas PitreNov 30, 2007
  64. Steffen ProhaskaNov 30, 2007
  65. Jeff KingNov 30, 2007
  66. Santi BéjarNov 30, 2007
  67. Jeff KingNov 30, 2007
  68. Linus TorvaldsNov 30, 2007
  69. Jeff KingNov 30, 2007
  70. Johannes SchindelinNov 30, 2007
  71. Jeff KingNov 30, 2007
  72. Johannes SchindelinNov 30, 2007
  73. Jeff KingNov 30, 2007
  74. Johannes SchindelinNov 30, 2007
  75. Nicolas PitreNov 30, 2007
  76. Jeff KingNov 30, 2007
  77. Nicolas PitreNov 30, 2007
  78. Jeff KingNov 30, 2007
  79. Nicolas PitreNov 30, 2007
  80. Jeff KingNov 30, 2007
  81. A Large Angry SCMNov 30, 2007
  82. Nguyen Thai Ngoc DuyNov 30, 2007
  83. A Large Angry SCMNov 30, 2007
  84. Johannes SchindelinNov 30, 2007
  85. A Large Angry SCMNov 30, 2007
  86. Nicolas PitreNov 30, 2007
  87. A Large Angry SCMNov 30, 2007
  88. Nicolas PitreNov 30, 2007
  89. Jakub NarebskiNov 29, 2007
  90. Junio C HamanoDec 1, 2007
  91. Jeff KingDec 1, 2007
  92. Nguyen Thai Ngoc DuyDec 2, 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.