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

Re: [PATCH 00/14] completion: a bunch of updates

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Oct 28, 2020, 16:31 UTC
Message-ID
<CAMP44s0+TMhmPYM7omoFhcebMLhZyh6v77WUFNrscRtPNEDNHQ@mail.gmail.com>
In-Reply-To
<0ec43318-bf83-25c4-a817-a150e2e47546@haller-berlin.de>
On Wed, Oct 28, 2020 at 3:09 AM Stefan Haller <lists@haller-berlin.de> wrote:
>
> On 28.10.20 1:06, Felipe Contreras wrote:
Show 12 quoted lines
> > I didn't say the users didn't get the scripts from the distribution, I
> > said I didn't know of anyone that did. I just checked the installation
> > instructions of Homebrew, and they do seem to install the zsh
> > completion from contrib, whoever, by the time I see the bug reports,
> > those users already downloaded the most recent version from GitHub
> > [1].
>
> I might not be the representative zsh user, but just as one data point:
> I have never downloaded the completion scripts from anywhere. I always
> use the one that comes with my "distro" (which is the Mac git installer,
> most of the time, which puts it in /usr/local/git/contrib/completion/).
> I symlink that to ~/.zfunc/_git.
That's interesting. Where did you get the idea to do that?
Show 22 quoted lines
> > On the other hand my distribution (Arch Linux) does not enable the zsh
> > script by default, it just lies dormant in /usr/share/git/completion,
> > which nobody uses. So users in Arch Linux naturally would download the
> > latest version from GitHub [1] as well.
> >
> > So, which distributions package and enable the zsh script by default? Who knows.
> >
> > I suggested you to graduate those scripts out of contrib so
> > distributions would trust the scripts enough to enable them by
> > default, but you refused.
> >
> > What you do with the scripts is up to you, I only know what would
> > happen depending on what you do. 1) If you leave them as is, some
> > distributions would enable them, others don't, and people will keep
> > downloading the scripts from git's GitHub [1]. 2) If you graduate
> > them, more--if not all--distributions would enable them by default,
> > and less people would download them. 3) If you remove them, people
> > would look for another git repository to download those scripts from.
>
> I don't think it makes a difference whether the scripts live in contrib
> or not. Bash completion is also in contrib, and yet it seems to be
> shipped and enabled by most distros, as far as I can tell.
Apples and oranges.

There is no default completion for git in bash, neither in bash, nor in bash-completion, so if the distribution doesn't install the completion in the right place (/usr/share/bash-completion/completions/git), then the user would have no git completion.

On zsh the situation is different; zsh by default has a git completion (/usr/share/zsh/functions/Completion/Unix/_git), and some might argue it's more complete than git's zsh completion, so why would distribution maintainers chose the one in 'contrib' (an unofficial contributed script) over the official one? Indeed they don't, at least on Arch Linux.

Cheers.
-- 
Felipe Contreras
Previous: Stefan HallerNext: Stefan Haller
Message 38 of 58 in “completion: a bunch of updates”
  1. 00/14 completion: a bunch of updatesFelipe Contreras, Jun 21, 2019
  2. 01/14 completion: zsh: fix __gitcomp_direct()Felipe Contreras, Jun 21, 2019
  3. Felipe ContrerasJun 22, 2019
  4. 02/14 completion: zsh: fix for directories with spacesFelipe Contreras, Jun 21, 2019
  5. 03/14 completion: remove zsh hackFelipe Contreras, Jun 21, 2019
  6. 04/14 completion: zsh: improve main function selectionFelipe Contreras, Jun 21, 2019
  7. 05/14 completion: prompt: fix color for ZshFelipe Contreras, Jun 21, 2019
  8. 08/14 completion: bash: remove old compat wrappersFelipe Contreras, Jun 21, 2019
  9. 07/14 completion: zsh: update installation instructionsFelipe Contreras, Jun 21, 2019
  10. 06/14 completion: bash: cleanup cygwin checkFelipe Contreras, Jun 21, 2019
  11. 09/14 completion: bash: remove zsh wrapperFelipe Contreras, Jun 21, 2019
  12. 11/14 test: completion: tests for __gitcomp regressionFelipe Contreras, Jun 21, 2019
  13. Junio C HamanoJul 3, 2019
  14. SZEDER GáborJul 3, 2019
  15. 10/14 completion: zsh: trivial cleanupsFelipe Contreras, Jun 21, 2019
  16. 12/14 test: completion: use global configFelipe Contreras, Jun 21, 2019
  17. Junio C HamanoJul 3, 2019
  18. 13/14 completion: add default optionsFelipe Contreras, Jun 21, 2019
  19. Duy NguyenJun 22, 2019
  20. Felipe ContrerasJun 22, 2019
  21. Junio C HamanoJun 24, 2019
  22. Felipe ContrerasJun 25, 2019
  23. Duy NguyenJun 25, 2019
  24. 14/14 completion: add default merge strategiesFelipe Contreras, Jun 21, 2019
  25. Junio C HamanoJun 24, 2019
  26. Felipe ContrerasJun 25, 2019
  27. Junio C HamanoJun 25, 2019
  28. SZEDER GáborJul 3, 2019
  29. Junio C HamanoJul 3, 2019
  30. SZEDER GáborJul 3, 2019
  31. Felipe ContrerasOct 25, 2020
  32. Felipe ContrerasOct 25, 2020
  33. Junio C HamanoOct 27, 2020
  34. Felipe ContrerasOct 27, 2020
  35. Junio C HamanoOct 27, 2020
  36. Felipe ContrerasOct 28, 2020
  37. Stefan HallerOct 28, 2020
  38. Felipe ContrerasOct 28, 2020
  39. Stefan HallerOct 28, 2020
  40. Junio C HamanoOct 29, 2020
  41. Junio C HamanoOct 29, 2020
  42. Felipe ContrerasNov 2, 2020
  43. Junio C HamanoNov 3, 2020
  44. Felipe ContrerasNov 4, 2020
  45. Junio C HamanoNov 4, 2020
  46. Felipe ContrerasNov 5, 2020
  47. Junio C HamanoNov 5, 2020
  48. Stefan HallerOct 30, 2020
  49. Junio C HamanoOct 30, 2020
  50. Felipe ContrerasNov 2, 2020
  51. Aaron SchrabNov 2, 2020
  52. Junio C HamanoNov 3, 2020
  53. Felipe ContrerasNov 3, 2020
  54. Felipe ContrerasNov 3, 2020
  55. Stefan HallerNov 3, 2020
  56. Junio C HamanoNov 3, 2020
  57. Stefan HallerNov 3, 2020
  58. Felipe ContrerasNov 2, 2020

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.