summaryrefslogtreecommitdiff
path: root/git-sh-setup.sh
diff options
context:
space:
mode:
authorAdam Roben <aroben@apple.com>2007-07-20 05:09:35 (GMT)
committerJunio C Hamano <gitster@pobox.com>2007-07-20 07:46:34 (GMT)
commitef0c2abf3e5061f891b7f07953ef3b0695f52c89 (patch)
treea48c4cbea302eb1d41bc1d798c1e85bcc892ea8a /git-sh-setup.sh
parenta7738c77f1f17ced885ce96e986b948a0b256452 (diff)
downloadgit-ef0c2abf3e5061f891b7f07953ef3b0695f52c89.zip
git-ef0c2abf3e5061f891b7f07953ef3b0695f52c89.tar.gz
git-ef0c2abf3e5061f891b7f07953ef3b0695f52c89.tar.bz2
Add GIT_EDITOR environment and core.editor configuration variables
These variables let you specify an editor that will be launched in preference to the EDITOR and VISUAL environment variables. The order of preference is GIT_EDITOR, core.editor, EDITOR, VISUAL. [jc: added a test and config variable documentation] Signed-off-by: Adam Roben <aroben@apple.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-sh-setup.sh')
-rwxr-xr-xgit-sh-setup.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 4ed07e9..c51985e 100755
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -28,6 +28,21 @@ set_reflog_action() {
fi
}
+git_editor() {
+ GIT_EDITOR=${GIT_EDITOR:-$(git config core.editor || echo ${VISUAL:-${EDITOR}})}
+ case "$GIT_EDITOR,$TERM" in
+ ,dumb)
+ echo >&2 "No editor specified in GIT_EDITOR, core.editor, VISUAL,"
+ echo >&2 "or EDITOR. Tried to fall back to vi but terminal is dumb."
+ echo >&2 "Please set one of these variables to an appropriate"
+ echo >&2 "editor or run $0 with options that will not cause an"
+ echo >&2 "editor to be invoked (e.g., -m or -F for git-commit)."
+ exit 1
+ ;;
+ esac
+ "${GIT_EDITOR:-vi}" "$1"
+}
+
is_bare_repository () {
git rev-parse --is-bare-repository
}