git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Luke Shumaker" <lukeshu@lukeshu.com>,
	"Junio C Hamano" <gitster@pobox.com>,
	"Philippe Blain" <levraiphilippeblain@gmail.com>,
	"Felipe Contreras" <felipe.contreras@gmail.com>
Subject: [PATCH v4 0/1] extra: new concept of extra components
Date: Fri, 16 Jul 2021 15:14:26 -0500	[thread overview]
Message-ID: <20210716201427.4482-1-felipe.contreras@gmail.com> (raw)
In-Reply-To: <20210710234629.17197-1-felipe.contreras@gmail.com>

This patch series introduces the concept of extra components. These are
components which are not yet part of the core, but are good enough for
distributions to ship, and in fact: they already do.

This benefits everyone:

 1. Distribution packagers that just want to do `make install`
 2. People who download git's source code and just want to do
    `make install`
 3. Developers who have no idea what's production-level quality in
    contrib/ and just want to do `make install`.

For now they'll have to do `make install install-extra`. But if the
result is deemed correct, we might choose to add "install-extra" to the
"install" target.

The measuring stick I'm using to gauge if a component in contrib belongs
in extra is simple: are we already running tests for them with
'make test'? If the answer is "yes, we do run tests", then the answer is
"yes, it belongs in extra".

We might want to move more components from contrib to extra once their
tests are being run reliably.

And we might move some components from the core which aren't really part
of the core to extra, like gitk, git-gui, git-p4, and git-svn.

For now only part of contrib/completion is graduated to the new area.

Since v3 I added .PHONY to the new targets as Ævar Arnfjörð suggetsed,
and also added a bit for the explanation of extra from the cover letter
to the commit message.

Felipe Contreras (1):
  completion: graduate out of contrib

 Makefile                                          | 11 +++++++++++
 {contrib => extra}/completion/git-completion.bash |  0
 {contrib => extra}/completion/git-completion.zsh  |  0
 {contrib => extra}/completion/git-prompt.sh       |  0
 t/t9902-completion.sh                             |  8 ++++----
 t/t9903-bash-prompt.sh                            |  2 +-
 6 files changed, 16 insertions(+), 5 deletions(-)
 rename {contrib => extra}/completion/git-completion.bash (100%)
 rename {contrib => extra}/completion/git-completion.zsh (100%)
 rename {contrib => extra}/completion/git-prompt.sh (100%)

Range-diff against v3:
1:  3f44bc3253 ! 1:  07eb614ef7 completion: graduate out of contrib
    @@ Commit message
         move the completions out of contrib.
     
         Let's move them out of contrib and provide an installation target
    -    install-extra.
    +    install-extra which be a convenient target for package maintainers and
    +    other people who install git themselves.
    +
    +    The measuring stick for what belongs in "extra" is simple: are we
    +    already running tests for them with 'make test'? Currently only
    +    part of completions fit that bill, but others could be added later.
     
         By default bash-completion installs the completions to
         $(pkgdatadir)/completions, which is
    -    $(prefix)/share/bash-completion/completions. And since most distributions do
    -    not change this, it is obviously the right default that distributions
    -    can override with bashcompdir.
    +    $(prefix)/share/bash-completion/completions. And since most
    +    distributions do not change this, it is obviously the right default that
    +    distributions can override with bashcompdir.
     
         By default zsh looks for completions in
         $(prefix)/share/zsh/site-functions.
    @@ Makefile: htmldir_relative_SQ = $(subst ','\'',$(htmldir_relative))
      
      SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
      TEST_SHELL_PATH_SQ = $(subst ','\'',$(TEST_SHELL_PATH))
    +@@ Makefile: endif
    + 	./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X"
    + 
    + .PHONY: install-gitweb install-doc install-man install-man-perl install-html install-info install-pdf
    ++.PHONY: install-extra install-completion
    + .PHONY: quick-install-doc quick-install-man quick-install-html
    + install-gitweb:
    + 	$(MAKE) -C gitweb install
     @@ Makefile: quick-install-man:
      quick-install-html:
      	$(MAKE) -C Documentation quick-install-html
-- 
2.32.0.40.gb9b36f9b52


  parent reply	other threads:[~2021-07-16 20:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-10 23:46 [PATCH v2 0/2] extra: new concept of extra components Felipe Contreras
2021-07-10 23:46 ` [PATCH v2 1/2] completion: graduate out of contrib Felipe Contreras
2021-07-10 23:46 ` [PATCH v2 2/2] git-new-workdir: " Felipe Contreras
2021-07-12 17:43 ` [PATCH v2 0/2] extra: new concept of extra components Philippe Blain
2021-07-12 17:55   ` Felipe Contreras
2021-07-13  0:17   ` Junio C Hamano
2021-07-13  1:19     ` Felipe Contreras
2021-07-14 20:23 ` [PATCH v3 0/1] " Felipe Contreras
2021-07-14 20:23   ` [PATCH v3 1/1] completion: graduate out of contrib Felipe Contreras
2021-07-14 23:03     ` Ævar Arnfjörð Bjarmason
2021-07-14 23:17       ` Ævar Arnfjörð Bjarmason
2021-07-15 19:12         ` Felipe Contreras
2021-07-16  6:36           ` Ævar Arnfjörð Bjarmason
2021-07-16 20:14             ` Felipe Contreras
2021-07-15 18:59       ` Felipe Contreras
2021-07-16 20:14 ` Felipe Contreras [this message]
2021-07-16 20:14   ` [PATCH v4 " 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=20210716201427.4482-1-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=levraiphilippeblain@gmail.com \
    --cc=lukeshu@lukeshu.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).