git/contrib
Patrick Steinhardt fe35ce2ef8 contrib/completion: install Bash completion
The shell completion scripts in "contrib/completion" are being tested,
but none of our build systems support installing them. This is somewhat
confusing for Meson, where users can explicitly enable building these
scripts via `-Dcontrib=completion`. This option only controlls whether
the completions are built and tested against, where "building" is a bit
of an euphemism for "copying them into the build directory".

Teach both our Makefile and Meson to install our Bash completion script.
For now, this is the only completion script that we're installing given
that Bash completions "just work" with a canonical well-known location
nowadays. Other completion scripts, like for example the one for zsh,
don't have a well-known location and/or require extra steps by the user
to make them available. As such, we skip installing these scripts for
now, but we may do so in the future if we ever figure out a proper way
to do this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-04-22 08:26:12 -07:00
..
buildsystems cmake: generalize the handling of the `CLAR_TEST_OBJS` list 2025-03-06 08:35:08 -08:00
coccinelle meson: disable coccinelle configuration when building from a tarball 2025-03-25 16:20:15 -07:00
completion contrib/completion: install Bash completion 2025-04-22 08:26:12 -07:00
contacts contrib/contacts: rename .txt to .adoc 2025-03-01 10:00:51 -08:00
credential meson: respect 'tests' build option in contrib 2025-04-01 02:20:44 -07:00
diff-highlight Makefile: set default goals in makefiles 2025-02-18 09:02:26 -08:00
emacs
examples
fast-import
git-jump Merge branch 'jk/jump-quickfix-fixes' 2024-09-23 10:35:08 -07:00
git-shell-commands
hooks
libgit-rs libgit: add higher-level libgit crate 2025-01-29 15:06:50 -08:00
libgit-sys libgit: add higher-level libgit crate 2025-01-29 15:06:50 -08:00
long-running-filter contrib/long-running-filter: *.txt -> *.adoc fixes 2025-03-03 13:49:22 -08:00
mw-to-git Makefile: set default goals in makefiles 2025-02-18 09:02:26 -08:00
persistent-https Makefile: set default goals in makefiles 2025-02-18 09:02:26 -08:00
remote-helpers
stats
subtree meson: respect 'tests' build option in contrib 2025-04-01 02:20:44 -07:00
thunderbird-patch-inline thunderbird-patch-inline: avoid bashism 2025-02-10 16:16:19 -08:00
update-unicode
vscode path: remove mksnpath() 2024-04-05 09:49:38 -07:00
workdir refs: introduce reftable backend 2024-02-07 08:28:37 -08:00
README doc: fix some typos, grammar and wording issues 2023-10-05 12:55:38 -07:00
coverage-diff.sh contrib/coverage-diff: avoid redundant pipelines 2024-03-16 11:08:57 -07:00
git-resurrect.sh
meson.build meson: wire up static analysis via Coccinelle 2025-02-18 11:40:04 -08:00
remotes2config.sh
rerere-train.sh contrib/rerere-train: avoid useless gpg sign in training 2022-07-19 11:24:08 -07:00

README

Contributed Software

Although these pieces are available as part of the official git
source tree, they are in somewhat different status.  The
intention is to keep interesting tools around git here, maybe
even experimental ones, to give users an easier access to them,
and to give tools wider exposure, so that they can be improved
faster.

I am not expecting to touch these myself that much.  As far as
my day-to-day operation is concerned, these subdirectories are
owned by their respective primary authors.  I am willing to help
if users of these components and the contrib/ subtree "owners"
have technical/design issues to resolve, but the initiative to
fix and/or enhance things _must_ be on the side of the subtree
owners.  IOW, I won't be actively looking for bugs and rooms for
enhancements in them as the git maintainer -- I may only do so
just as one of the users when I want to scratch my own itch.  If
you have patches to things in contrib/ area, the patch should be
first sent to the primary author, and then the primary author
should ack and forward it to me (git pull request is nicer).
This is the same way as how I have been treating gitk, and to a
lesser degree various foreign SCM interfaces, so you know the
drill.

I expect things that start their life in the contrib/ area
to graduate out of contrib/ once they mature, either by becoming
projects on their own, or moving to the toplevel directory.  On
the other hand, I expect I'll be proposing removal of disused
and inactive ones from time to time.

If you have new things to add to this area, please first propose
it on the git mailing list, and after a list discussion proves
there is general interest (it does not have to be a
list-wide consensus for a tool targeted to a relatively narrow
audience -- for example I do not work with projects whose
upstream is svn, so I have no use for git-svn myself, but it is
of general interest for people who need to interoperate with SVN
repositories in a way git-svn works better than git-svnimport),
submit a patch to create a subdirectory of contrib/ and put your
stuff there.

-jc