[PATCH v3] doc: add information regarding external commands
- From
Omri Sarig via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Mar 3, 2026, 17:43 UTC
- Message-ID
- <pull.2220.v3.git.git.1772559813151.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.2220.v2.git.git.1772557925670.gitgitgadget@gmail.com>
From: Omri Sarig <omri.sarig13@gmail.com>
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. This commit adds a short documentation of this feature, making it easier for users to discover and use.
Signed-off-by: Omri Sarig <omri.sarig13@gmail.com>
---
doc: Add information regarding external commands
* Patchset V2 have spaces instead of tabs in one of the lines, it is
fixed in patchset V3.Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2220%2Fomrisarig13%2Fexternal-commands-documentation-v3 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2220/omrisarig13/external-commands-documentation-v3 Pull-Request: https://github.com/git/git/pull/2220
Range-diff vs v2:
1: 02841b66ea ! 1: f90ad791d5 doc: add information regarding external commands
@@ Documentation/git.adoc: System
+ 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 runnable program. These commands precedes
++ name are passed as-is to the runnable program. These commands precedes
+ alias expansion.
+
The Git RepositoryDocumentation/git.adoc | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/Documentation/git.adoc b/Documentation/git.adoc index ce099e78b8..903d11c530 100644 --- a/Documentation/git.adoc +++ b/Documentation/git.adoc @@ -487,6 +487,13 @@ 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 runnable program. These commands precedes + alias expansion. + The Git Repository ~~~~~~~~~~~~~~~~~~ These environment variables apply to 'all' core Git commands. Nb: it base-commit: 2cc71917514657b93014134350864f4849edfc83
-- gitgitgadget