This variable lets you specify a different editor for editing commit messages. If commit.editor is not set, git-commit falls back to VISUAL, then EDITOR as before. Signed-off-by: Adam Roben <aroben@xxxxxxxxx> --- Documentation/git-commit.txt | 9 +++++---- git-commit.sh | 13 +++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index f96142f..1a628be 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -244,10 +244,11 @@ on the Subject: line and the rest of the commit in the body. include::i18n.txt[] -ENVIRONMENT VARIABLES ---------------------- -The command specified by either the VISUAL or EDITOR environment -variables is used to edit the commit log message. +ENVIRONMENT AND CONFIGURATION VARIABLES +--------------------------------------- +The editor used to edit the commit log message will be chosen from the +commit.editor configuration variable, the VISUAL environment variable, or the +EDITOR environment variable (in that order). HOOKS ----- diff --git a/git-commit.sh b/git-commit.sh index 3f3de17..c4d8501 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -544,18 +544,19 @@ fi case "$no_edit" in '') - case "${VISUAL:-$EDITOR},$TERM" in + commit_editor=$(git config commit.editor || echo ${VISUAL:-$EDITOR}) + case "$commit_editor,$TERM" in ,dumb) - echo >&2 "Terminal is dumb but no VISUAL nor EDITOR defined." - echo >&2 "Please supply the commit log message using either" - echo >&2 "-m or -F option. A boilerplate log message has" - echo >&2 "been prepared in $GIT_DIR/COMMIT_EDITMSG" + echo >&2 "Terminal is dumb but commit.editor, VISUAL, and EDITOR" + echo >&2 "are undefined. Please supply the commit log message" + echo >&2 "using either -m or -F option. A boilerplate log message" + echo >&2 "has been prepared in $GIT_DIR/COMMIT_EDITMSG" exit 1 ;; esac git-var GIT_AUTHOR_IDENT > /dev/null || die git-var GIT_COMMITTER_IDENT > /dev/null || die - ${VISUAL:-${EDITOR:-vi}} "$GIT_DIR/COMMIT_EDITMSG" + ${commit_editor:-vi} "$GIT_DIR/COMMIT_EDITMSG" ;; esac -- 1.5.2.2.620.g42358-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html