aboutsummaryrefslogtreecommitdiff
path: root/git-sh-setup.sh
diff options
context:
space:
mode:
authorAdam Roben <aroben@apple.com>2007-07-19 22:09:35 -0700
committerJunio C Hamano <gitster@pobox.com>2007-07-20 00:46:34 -0700
commitef0c2abf3e5061f891b7f07953ef3b0695f52c89 (patch)
treea48c4cbea302eb1d41bc1d798c1e85bcc892ea8a /git-sh-setup.sh
parenta7738c77f1f17ced885ce96e986b948a0b256452 (diff)
downloadgit-ef0c2abf3e5061f891b7f07953ef3b0695f52c89.tar.gz
git-ef0c2abf3e5061f891b7f07953ef3b0695f52c89.tar.xz
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 4ed07e9dd..c51985e4c 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
}