[PATCH] Add commit.editor configuration variable

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <git@...>
Cc: Junio C Hamano <gitster@...>, Adam Roben <aroben@...>
Date: Thursday, July 19, 2007 - 1:39 am

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@apple.com>
---
 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] Add commit.editor configuration variable, Adam Roben, (Thu Jul 19, 1:39 am)
Re: [PATCH] Add commit.editor configuration variable, Junio C Hamano, (Thu Jul 19, 2:08 am)
Re: [PATCH] Add commit.editor configuration variable, Adam Roben, (Thu Jul 19, 2:17 am)
Re: [PATCH] Add commit.editor configuration variable, Shawn O. Pearce, (Thu Jul 19, 2:23 am)
Re: [PATCH] Add commit.editor configuration variable, Junio C Hamano, (Thu Jul 19, 2:53 am)
Re: [PATCH] Add commit.editor configuration variable, Johannes Schindelin, (Thu Jul 19, 5:54 am)
[PATCH] Add git-sh-setup::set_editor(), Adam Roben, (Thu Jul 19, 2:24 pm)
Re: [PATCH] Add git-sh-setup::set_editor(), Johannes Schindelin, (Thu Jul 19, 2:46 pm)
[PATCH] Add core.editor configuration variable, Adam Roben, (Thu Jul 19, 8:28 pm)
Re: [PATCH] Print an error when falling back to vi on a dumb..., Johannes Schindelin, (Thu Jul 19, 5:19 pm)