aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-17 15:34:19 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-17 15:34:19 -0700
commit753fd78458b6d7d0e65ce0ebe7b62e1bc55f3992 (patch)
treec22774049b7252d1a09a9b0ad22ede484b89e84f
parentb7e8039a6f4a250bc0b9c9ca2d75b60368058413 (diff)
downloadgit-753fd78458b6d7d0e65ce0ebe7b62e1bc55f3992.tar.gz
git-753fd78458b6d7d0e65ce0ebe7b62e1bc55f3992.tar.xz
Use "-M" instead of "-C" for "git diff" and "git status"
The "C" in "-C" may stand for "Cool", but it's also pretty slow, since right now it leaves all unmodified files to be tested even if there are no new files at all. That just ends up being unacceptably slow for big projects, especially if it's not all in the cache.
-rwxr-xr-xgit-diff-script6
-rwxr-xr-xgit-status-script2
2 files changed, 4 insertions, 4 deletions
diff --git a/git-diff-script b/git-diff-script
index d70e8b9f2..673853b9c 100755
--- a/git-diff-script
+++ b/git-diff-script
@@ -3,13 +3,13 @@ rev=($(git-rev-parse --revs-only "$@"))
flags=($(git-rev-parse --no-revs "$@"))
case "${#rev[*]}" in
0)
- git-diff-files -p "$@";;
+ git-diff-files -M -p "$@";;
1)
- git-diff-cache -p "$@";;
+ git-diff-cache -M -p "$@";;
2)
begin=$(echo "${rev[1]}" | tr -d '^')
end="${rev[0]}"
- git-diff-tree -p $flags $begin $end;;
+ git-diff-tree -M -p $flags $begin $end;;
*)
echo "I don't understand"
exit 1;;
diff --git a/git-status-script b/git-status-script
index f91bb5589..7d47fdea7 100755
--- a/git-status-script
+++ b/git-status-script
@@ -27,7 +27,7 @@ report () {
}
git-update-cache --refresh >& /dev/null
-git-diff-cache -B -C --cached HEAD | sed 's/^://' | report "Updated but not checked in" "will commit"
+git-diff-cache -M --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" ]