]> git.ipfire.org Git - thirdparty/git.git/blobdiff - git-status.sh
Use symbolic name SHORT_NAME_AMBIGUOUS as error return value
[thirdparty/git.git] / git-status.sh
index 29c2b1169b5f8ee862cbc62d0a1eb5577587e1c1..10d781c92f82197845ce30c67f796d99379e93cd 100755 (executable)
@@ -2,7 +2,16 @@
 #
 # Copyright (c) 2005 Linus Torvalds
 #
-. git-sh-setup || die "Not a git archive"
+
+USAGE=''
+SUBDIRECTORY_OK='Yes'
+
+. git-sh-setup
+
+if [ "$#" != "0" ]
+then
+  usage
+fi
 
 report () {
   header="#
@@ -13,7 +22,7 @@ report () {
   trailer=""
   while read status name newname
   do
-    echo -n "$header"
+    printf '%s' "$header"
     header=""
     trailer="#
 "
@@ -27,7 +36,7 @@ report () {
     U ) echo "#        unmerged: $name";;
     esac
   done
-  echo -n "$trailer"
+  printf '%s' "$trailer"
   [ "$header" ]
 }
 
@@ -41,7 +50,7 @@ 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 --name-status HEAD |
+       git-diff-index -M --cached --name-status --diff-filter=MDTCRA HEAD |
        sed -e '
                s/\\/\\\\/g
                s/ /\\ /g
@@ -74,11 +83,11 @@ report "Changed but not updated" "use git-update-index to mark for commit"
 
 if test -f "$GIT_DIR/info/exclude"
 then
-    git-ls-files -z --others \
+    git-ls-files -z --others --directory \
        --exclude-from="$GIT_DIR/info/exclude" \
         --exclude-per-directory=.gitignore
 else
-    git-ls-files -z --others \
+    git-ls-files -z --others --directory \
         --exclude-per-directory=.gitignore
 fi |
 perl -e '$/ = "\0";
@@ -90,7 +99,7 @@ perl -e '$/ = "\0";
                s|\n|\\n|g;
                s/^/#   /;
                if (!$shown) {
-                       print "#\n# Ignored files:\n";
+                       print "#\n# Untracked files:\n";
                        print "#   (use \"git add\" to add to commit)\n#\n";
                        $shown = 1;
                }