All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] completion: move out of contrib
Date: Tue, 06 May 2014 17:28:28 -0700	[thread overview]
Message-ID: <xmqq38gmctzn.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1399077403-19678-1-git-send-email-felipe.contreras@gmail.com> (Felipe Contreras's message of "Fri, 2 May 2014 19:36:43 -0500")

Felipe Contreras <felipe.contreras@gmail.com> writes:

> These have been stable and widely used for quite a long time, they even
> have tests outside of the contrib area, and most distributions ship
> them, so they can be considered part of the core already.
>
> Let's move them out of contrib and install them by default.
>
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>  Makefile                                           | 5 ++++-
>  {contrib/completion => shared}/git-completion.bash | 0
>  {contrib/completion => shared}/git-completion.zsh  | 0
>  {contrib/completion => shared}/git-prompt.sh       | 0
>  t/t9902-completion.sh                              | 2 +-
>  t/t9903-bash-prompt.sh                             | 2 +-
>  6 files changed, 6 insertions(+), 3 deletions(-)
>  rename {contrib/completion => shared}/git-completion.bash (100%)
>  rename {contrib/completion => shared}/git-completion.zsh (100%)
>  rename {contrib/completion => shared}/git-prompt.sh (100%)

I am not sure whom this change is meant to help.

 - Those who build from source *and* care about having the latest
   completion must already have a way they have been using to
   install them.  They will have to change their procedure to adjust
   for the change of the path, *and* disable the part of "install"
   that installs it to $(sharedir) which is unlikely to match where
   they have been installing completion scripts.

 - Those who package completion for distros already have a way they
   have been using to install them.  They suffer the same as those
   who build from the source.

 - Those who use pre-packaged Git and completion scripts would not
   care.

 - Those who have *not* installed from the source may benefit for
   being able to say "make install" and let it be installed, but
   they have to dot-include /usr/share/git-completion.bash location,
   which is new, not from /etc/bash_completion.d/git as they are
   used to.

A better change might be to give a new Makefile target, perhaps

    $ make install.contrib-completion

without moving the scripts from their current place.  That way,
nobody gets hurt, and those who are new to Git who want to build
and install from the source would not have to invent their own way
to install stuff from contrib/ (the same goes for other contrib/
tools such as contrib/workdir/ we may want to add a new target to
let you say "make install.contrib-workdir").

I _may_ be persuaded to fold the installation of all possible
contrib/ stuff into the regular "make install", but I haven't
thought things through.

The patch does two unrelated things:

 - Move things in the source tree.

 - Install the completion by default.

I very much agree that the latter may be a good thing to have in the
polished end result.  I am not sure if the installation location
chosen is sensible.  At least, another redirection

    git_completion_dir = $(sharedir)

may be necessary to allow people install these in the location they
want.

  reply	other threads:[~2014-05-07  0:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-03  0:36 [PATCH] completion: move out of contrib Felipe Contreras
2014-05-07  0:28 ` Junio C Hamano [this message]
2014-05-07  1:18   ` Felipe Contreras
2014-05-07 10:10     ` Felipe Contreras
2014-05-07 17:37       ` Junio C Hamano
2014-05-07 19:45         ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqq38gmctzn.fsf@gitster.dls.corp.google.com \
    --to=gitster@pobox.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.