X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-status.sh;h=29c2b1169b5f8ee862cbc62d0a1eb5577587e1c1;hb=4eba0f3763e2f4bbf614c99ae3a5b299e8d61aff;hp=fbdd377539eea2c4521a2df2d37ff06b80567664;hpb=29504118f8528f658fd0bfc02d8d78d4c01dc2cc;p=git.git diff --git a/git-status.sh b/git-status.sh index fbdd3775..29c2b116 100755 --- a/git-status.sh +++ b/git-status.sh @@ -11,7 +11,7 @@ report () { # " trailer="" - while read oldmode mode oldsha sha status name newname + while read status name newname do echo -n "$header" header="" @@ -41,16 +41,11 @@ git-update-index -q --unmerged --refresh || exit if GIT_DIR="$GIT_DIR" git-rev-parse --verify HEAD >/dev/null 2>&1 then - git-diff-index -M --cached HEAD | + git-diff-index -M --cached --name-status HEAD | sed -e ' - s/^:// - h - s/^[^ ]*// + s/\\/\\\\/g s/ /\\ /g - x - s/ .*$// - G - s/\n/ /' | + ' | report "Updated but not checked in" "will commit" committable="$?" @@ -60,40 +55,48 @@ else #' git-ls-files | sed -e ' + s/\\/\\\\/g s/ /\\ /g - s/^/o o o o A /' | + s/^/A / + ' | report "Updated but not checked in" "will commit" committable="$?" fi -git-diff-files | +git-diff-files --name-status | sed -e ' - s/^:// - h - s/^[^ ]*// + s/\\/\\\\/g s/ /\\ /g - x - s/ .*$// - G - s/\n/ /' | +' | report "Changed but not updated" "use git-update-index to mark for commit" -if grep -v '^#' "$GIT_DIR/info/exclude" >/dev/null 2>&1 + +if test -f "$GIT_DIR/info/exclude" 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 + git-ls-files -z --others \ + --exclude-from="$GIT_DIR/info/exclude" \ + --exclude-per-directory=.gitignore +else + git-ls-files -z --others \ + --exclude-per-directory=.gitignore +fi | +perl -e '$/ = "\0"; + my $shown = 0; + while (<>) { + chomp; + s|\\|\\\\|g; + s|\t|\\t|g; + s|\n|\\n|g; + s/^/# /; + if (!$shown) { + print "#\n# Ignored files:\n"; + print "# (use \"git add\" to add to commit)\n#\n"; + $shown = 1; + } + print "$_\n"; + } +' case "$committable" in 0)