X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=git-status-script;h=2b029545de3366d4d51b9060bc31cc6dc97260a5;hb=80b52b0f9d04fa0b8863fef2beef937ee1a486ae;hp=72a93f74e8152417578f4c250852450a61bd8440;hpb=a3e870f2e2bcacc80d5b81d7b77c15a7928a9082;p=git.git diff --git a/git-status-script b/git-status-script index 72a93f74..2b029545 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: @@ -13,23 +18,65 @@ report () { trailer="# " case "$status" in - M) echo "# modified: $name";; - D) echo "# deleted: $name";; - T) echo "# typechange: $name";; - C) echo "# copied: $name -> $newname";; - R) echo "# renamed: $name -> $newname";; - N) echo "# new file: $name";; - U) echo "# unmerged: $name";; + M ) echo "# modified: $name";; + D*) echo "# deleted: $name";; + T ) echo "# typechange: $name";; + C*) echo "# copied: $name -> $newname";; + R*) echo "# renamed: $name -> $newname";; + A*) echo "# new file: $name";; + U ) echo "# unmerged: $name";; esac done echo -n "$trailer" [ "$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" +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 + if [ "$committable" == "0" ] then echo "nothing to commit"