Skip to content

Commit

Permalink
git-status: do not be totally useless in a read-only repository.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Feb 22, 2007
1 parent 437b1b2 commit 2b5f9a8
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions git-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ git-rev-parse --verify HEAD >/dev/null 2>&1 || initial_commit=t
case "$0" in
*status)
status_only=t
unmerged_ok_if_status=--unmerged ;;
;;
*commit)
status_only=
unmerged_ok_if_status= ;;
;;
esac

refuse_partial () {
Expand Down Expand Up @@ -389,16 +389,17 @@ else
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

################################################################
Expand Down

0 comments on commit 2b5f9a8

Please sign in to comment.