X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=git-status-script;h=ee8f7061ea3d327bb4a565f9aaa9cdc04c0fb772;hb=2ab141a26f93c4d97e243a6be8a38a7dd4eb35a3;hp=f91bb55894a07f3ebca9031f2fa2ba2ef8789ffd;hpb=2036d841020b7500eca7d568bd0c353b4fe73408;p=git.git diff --git a/git-status-script b/git-status-script index f91bb558..ee8f7061 100755 --- a/git-status-script +++ b/git-status-script @@ -1,4 +1,9 @@ #!/bin/sh +# +# Copyright (c) 2005 Linus Torvalds +# +. git-sh-setup-script || die "Not a git archive" + report () { header="# # $1: @@ -18,7 +23,7 @@ report () { T ) echo "# typechange: $name";; C*) echo "# copied: $name -> $newname";; R*) echo "# renamed: $name -> $newname";; - N*) echo "# new file: $name";; + A*) echo "# new file: $name";; U ) echo "# unmerged: $name";; esac done @@ -26,13 +31,55 @@ report () { [ "$header" ] } -git-update-cache --refresh >& /dev/null -git-diff-cache -B -C --cached HEAD | sed 's/^://' | report "Updated but not checked in" "will commit" -committable="$?" -git-diff-files | sed 's/^://' | report "Changed but not updated" "use git-update-cache to mark for commit" -if [ "$committable" == "0" ] +branch=`readlink "$GIT_DIR/HEAD"` +case "$branch" in +refs/heads/master) ;; +*) echo "# On branch $branch" ;; +esac + +git-update-cache --refresh >/dev/null 2>&1 + +if test -f "$GIT_DIR/HEAD" then + git-diff-cache -M --cached HEAD | + sed 's/^://' | + report "Updated but not checked in" "will commit" + + committable="$?" +else + echo '# +# Initial commit +#' + git-ls-files | + sed 's/^/o o o o A /' | + report "Updated but not checked in" "will commit" + + committable="$?" +fi + +git-diff-files | +sed 's/^://' | +report "Changed but not updated" "use git-update-cache to mark for commit" + +if grep -v '^#' "$GIT_DIR/info/exclude" >/dev/null 2>&1 +then + git-ls-files --others \ + --exclude-from="$GIT_DIR/info/exclude" \ + --exclude-per-directory=.gitignore | + sed -e ' + 1i\ +#\ +# Ignored files:\ +# (use "git add" to add to commit)\ +# + s/^/# / + $a\ +#' +fi + +case "$committable" in +0) echo "nothing to commit" exit 1 -fi +esac exit 0