git/contrib
Junio C Hamano ba2a439aeb Merge branch 'ps/writev' into seen
A compatibility wrapper for writev(3p) has been reintroduced,
including fixes for CMake build and 'MAX_IO_SIZE' limits on NonStop.
Calls to write(3p) in send_sideband() and cat_blob() have been
refactored to use writev(3p) wrappers to reduce syscall overhead.

* ps/writev:
  fast-import: use writev(3p) to send cat-blob responses
  sideband: use writev(3p) to send pktlines
  wrapper: properly handle MAX_IO_SIZE in writev(3p)
  wrapper: introduce writev(3p) wrappers
  compat/posix: introduce writev(3p) wrapper
2026-07-24 16:12:30 -07:00
..
buildsystems compat/posix: introduce writev(3p) wrapper 2026-07-16 13:59:13 -07:00
completion Merge branch 'za/completion-hide-dotfiles' into jch 2026-07-24 16:11:56 -07:00
contacts meson: make GIT_HTML_PATH configurable 2025-11-06 09:58:56 -08:00
credential Merge branch 'sn/osxkeychain-rust-universal' 2026-07-19 10:42:17 -07:00
diff-highlight diff-highlight: fetch all config with one process 2026-03-23 07:42:27 -07:00
fast-import
git-jump git-jump: pick a mode automatically when invoked without arguments 2026-05-21 23:01:04 +09:00
git-shell-commands
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
stats contrib: remove some scripts in "stats" directory 2025-05-12 10:55:47 -07:00
subtree Merge branch 'ij/subtree-reject-v2-config' into jch 2026-07-24 16:11:57 -07:00
vscode mingw: drop the build-system plumbing for nedmalloc 2026-05-09 11:19:23 +09:00
Makefile contrib: wire up osxkeychain in contrib/Makefile on macOS 2026-07-07 21:58:55 -07:00
README doc: fix some typos, grammar and wording issues 2023-10-05 12:55:38 -07:00
meson.build contrib: move "coccinelle/" directory into "tools/" 2026-03-19 06:40:08 -07:00
rerere-train.sh

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