aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmri Sarig <omri.sarig13@gmail.com>2026-03-04 15:03:34 +0000
committerJunio C Hamano <gitster@pobox.com>2026-03-04 09:21:22 -0800
commit9c6569a8951d01363ec1e866a3b0711dbcaedcef (patch)
tree59ec5868a3efc9301c77f20a3214b18f50a2f1d5
parent67ad42147a7acc2af6074753ebd03d904476118f (diff)
downloadgit-9c6569a8951d01363ec1e866a3b0711dbcaedcef.tar.xz
doc: add information regarding external commands
Git supports running external commands in the user's PATH as if they were built-in commands (see execv_dashed_external in git.c). This feature was not fully documented in Git's user-facing documentation. Add a short documentation to describe how PATH is used to find a custom subcommand. Signed-off-by: Omri Sarig <omri.sarig13@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/git.adoc8
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/git.adoc b/Documentation/git.adoc
index ce099e78b8..9c2a8978c7 100644
--- a/Documentation/git.adoc
+++ b/Documentation/git.adoc
@@ -487,6 +487,14 @@ System
`$HOMEDRIVE$HOMEPATH` if both `$HOMEDRIVE` and `$HOMEPATH` exist;
otherwise `$USERPROFILE` if `$USERPROFILE` exists.
+`PATH`::
+ When a user runs 'git <command>' that is not part of the core Git programs
+ (installed in GIT_EXEC_PATH), 'git-<command>' that is runnable by the user
+ in a directory on `$PATH` is invoked. Argument passed after the command
+ name are passed as-is to the program. To execute `git <foo>`, `git` finds
+ command `<foo>` (either a core Git program found in 'GIT_EXEC_PATH', or a
+ custom one in a directory on 'PATH'), before trying `foo` as an alias.
+
The Git Repository
~~~~~~~~~~~~~~~~~~
These environment variables apply to 'all' core Git commands. Nb: it