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

[PATCH v4 0/1] extra: new concept of extra components

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jul 16, 2021, 20:14 UTC
Message-ID
<20210716201427.4482-1-felipe.contreras@gmail.com>
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
Previous: Felipe ContrerasNext: Felipe Contreras
Message 16 of 17 in “extra: new concept of extra components”
  1. 0/2 extra: new concept of extra componentsFelipe Contreras, Jul 10, 2021
  2. 1/2 completion: graduate out of contribFelipe Contreras, Jul 10, 2021
  3. 2/2 git-new-workdir: graduate out of contribFelipe Contreras, Jul 10, 2021
  4. Philippe BlainJul 12, 2021
  5. Felipe ContrerasJul 12, 2021
  6. Junio C HamanoJul 13, 2021
  7. Felipe ContrerasJul 13, 2021
  8. 0/1 extra: new concept of extra componentsFelipe Contreras, Jul 14, 2021
  9. 1/1 completion: graduate out of contribFelipe Contreras, Jul 14, 2021
  10. Ævar Arnfjörð BjarmasonJul 14, 2021
  11. Ævar Arnfjörð BjarmasonJul 14, 2021
  12. Felipe ContrerasJul 15, 2021
  13. Ævar Arnfjörð BjarmasonJul 16, 2021
  14. Felipe ContrerasJul 16, 2021
  15. Felipe ContrerasJul 15, 2021
  16. 0/1 extra: new concept of extra componentsFelipe Contreras, Jul 16, 2021
  17. 1/1 completion: graduate out of contribFelipe Contreras, Jul 16, 2021

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.