summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 437b1b2)
raw | patch | inline | side by side (parent: 437b1b2)
author | Junio C Hamano <junkio@cox.net> | |
Thu, 22 Feb 2007 08:28:49 +0000 (00:28 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Thu, 22 Feb 2007 08:31:51 +0000 (00:31 -0800) |
This makes git-status work semi-decently in a read-only
repository. Earlier, the command simply died with "cannot lock
the index file" before giving any useful information to the
user.
Because index won't be updated in a read-only repository,
stat-dirty paths appear in the "Changed but not updated" list.
Signed-off-by: Junio C Hamano <junkio@cox.net>
repository. Earlier, the command simply died with "cannot lock
the index file" before giving any useful information to the
user.
Because index won't be updated in a read-only repository,
stat-dirty paths appear in the "Changed but not updated" list.
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-commit.sh | patch | blob | history |
diff --git a/git-commit.sh b/git-commit.sh
index ec506d956fa2858897c53b35d28db8083b7fdcec..cfa15110f6d7b11c7f778a3ef7ebbc034ce4d877 100755 (executable)
--- a/git-commit.sh
+++ b/git-commit.sh
case "$0" in
*status)
status_only=t
- unmerged_ok_if_status=--unmerged ;;
+ ;;
*commit)
status_only=
- unmerged_ok_if_status= ;;
+ ;;
esac
refuse_partial () {
USE_INDEX="$THIS_INDEX"
fi
-GIT_INDEX_FILE="$USE_INDEX" \
- git-update-index -q $unmerged_ok_if_status --refresh || exit
-
-################################################################
-# If the request is status, just show it and exit.
-
-case "$0" in
-*status)
+case "$status_only" in
+t)
+ # This will silently fail in a read-only repository, which is
+ # what we want.
+ GIT_INDEX_FILE="$USE_INDEX" git-update-index -q --unmerged --refresh
run_status
exit $?
+ ;;
+'')
+ GIT_INDEX_FILE="$USE_INDEX" git-update-index -q --refresh || exit
+ ;;
esac
################################################################