On 28.10.20 1:06, Felipe Contreras wrote:
On Tue, Oct 27, 2020 at 5:32 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
Felipe Contreras <felipe.contreras@xxxxxxxxx> writes:
(they will get
their zsh/git completion from their distros---I am assuming that the
distros get theirs from us in contrib/completion/).
I don't know of anyone that relies on the zsh completion shared by
their distribution.
Hmph. If the real users don't get the completion scripts from their
distribution, is there still a point in having them in my tree? You
are certainly not suggesting me to remove contrib/completion/ at
least for zsh part, but then it is unclear what you want.
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.
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.
I guess the reason why zsh completion is not enabled by default in
distros is simply that there are far fewer zsh users than bash users, so
packagers don't bother. That's just my unfounded guess, of course.
Are you saying that by adding the latest and greatest, these real
users who so far couldn't rely on distros now can start to do so,
and we'll make their life easier by updating the 29-patch series
(which I presume is the v2 of this 14-patch series)?
No. Many of them will keep downloading the completion from git's
mirror in GitHub [1].
Unless you graduate the scripts out of contrib.
In any case, some Zsh users, even though they are not active
developers for the completion script, may have something good to
say, now the 29-patch series has been posted to the list and queued.
I didn't look at the zsh part, but I didn't find anything glaringly
wrong in the changes to the bash completion.
That's great. Although I have v3 already, since I found a couple of issues.
I'll send those.
Cheers.
[1] https://github.com/git/git/blob/master/contrib/completion/git-completion.zsh