summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-28 09:53:43 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-29 18:42:29 (GMT)
commite25de75696dc99f327c8dd8e2cba937939e281ca (patch)
tree9c70871ec9f2240bb268c078574492675599f748
parent6af1f0192ff8740fe77db7cf02c739ccfbdf119c (diff)
downloadgit-e25de75696dc99f327c8dd8e2cba937939e281ca.zip
git-e25de75696dc99f327c8dd8e2cba937939e281ca.tar.gz
git-e25de75696dc99f327c8dd8e2cba937939e281ca.tar.bz2
[PATCH] Pickaxe fixes.
A bug in the command line argument parsing code was making pickaxe not to work at all in diff-cache and diff-files commands. Embarrassingly enough, the working pickaxe in diff-tree tells me that it was not working in these two commands from day one. This patch fixes it. Also updates the documentation to describe the --pickaxe-all option. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Documentation/git-diff-cache.txt6
-rw-r--r--Documentation/git-diff-files.txt6
-rw-r--r--Documentation/git-diff-tree.txt7
-rw-r--r--diff-cache.c2
-rw-r--r--diff-files.c2
5 files changed, 18 insertions, 5 deletions
diff --git a/Documentation/git-diff-cache.txt b/Documentation/git-diff-cache.txt
index 35253b1..0e2e6d0 100644
--- a/Documentation/git-diff-cache.txt
+++ b/Documentation/git-diff-cache.txt
@@ -9,7 +9,7 @@ git-diff-cache - Compares content and mode of blobs between the cache and reposi
SYNOPSIS
--------
-'git-diff-cache' [-p] [-r] [-z] [-m] [-M] [-R] [-C] [-S<string>] [--cached] <tree-ish> [<path>...]
+'git-diff-cache' [-p] [-r] [-z] [-m] [-M] [-R] [-C] [-S<string>] [--pickaxe-all] [--cached] <tree-ish> [<path>...]
DESCRIPTION
-----------
@@ -44,6 +44,10 @@ OPTIONS
-S<string>::
Look for differences that contains the change in <string>.
+--pickaxe-all::
+ When -S finds a change, show all the changes in that
+ changeset, not just the files that contains the change
+ in <string>.
-R::
Output diff in reverse.
diff --git a/Documentation/git-diff-files.txt b/Documentation/git-diff-files.txt
index 9f9bb14..7013640 100644
--- a/Documentation/git-diff-files.txt
+++ b/Documentation/git-diff-files.txt
@@ -9,7 +9,7 @@ git-diff-files - Compares files in the working tree and the cache
SYNOPSIS
--------
-'git-diff-files' [-p] [-q] [-r] [-z] [-M] [-C] [-R] [-S<string>] [<pattern>...]
+'git-diff-files' [-p] [-q] [-r] [-z] [-M] [-C] [-R] [-S<string>] [--pickaxe-all] [<pattern>...]
DESCRIPTION
-----------
@@ -38,6 +38,10 @@ OPTIONS
-S<string>::
Look for differences that contains the change in <string>.
+--pickaxe-all::
+ When -S finds a change, show all the changes in that
+ changeset, not just the files that contains the change
+ in <string>.
-r::
This flag does not mean anything. It is there only to match
diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt
index 77b1fb1..f44e8cf 100644
--- a/Documentation/git-diff-tree.txt
+++ b/Documentation/git-diff-tree.txt
@@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
SYNOPSIS
--------
-'git-diff-tree' [-p] [-r] [-z] [--stdin] [-M] [-R] [-C] [-S<string>] [-m] [-s] [-v] [-t] <tree-ish> <tree-ish> [<pattern>]\*
+'git-diff-tree' [-p] [-r] [-z] [--stdin] [-M] [-R] [-C] [-S<string>] [--pickaxe-all] [-m] [-s] [-v] [-t] <tree-ish> <tree-ish> [<pattern>]\*
DESCRIPTION
-----------
@@ -45,6 +45,11 @@ OPTIONS
-S<string>::
Look for differences that contains the change in <string>.
+--pickaxe-all::
+ When -S finds a change, show all the changes in that
+ changeset, not just the files that contains the change
+ in <string>.
+
-r::
recurse
diff --git a/diff-cache.c b/diff-cache.c
index 66e7bdb..1e0fda5 100644
--- a/diff-cache.c
+++ b/diff-cache.c
@@ -206,7 +206,7 @@ int main(int argc, const char **argv)
diff_setup_opt |= DIFF_SETUP_REVERSE;
continue;
}
- if (!strcmp(arg, "-S")) {
+ if (!strncmp(arg, "-S", 2)) {
pickaxe = arg + 2;
continue;
}
diff --git a/diff-files.c b/diff-files.c
index bd0eb95..8ab7915 100644
--- a/diff-files.c
+++ b/diff-files.c
@@ -53,7 +53,7 @@ int main(int argc, const char **argv)
diff_output_format = DIFF_FORMAT_MACHINE;
else if (!strcmp(argv[1], "-R"))
diff_setup_opt |= DIFF_SETUP_REVERSE;
- else if (!strcmp(argv[1], "-S"))
+ else if (!strncmp(argv[1], "-S", 2))
pickaxe = argv[1] + 2;
else if (!strcmp(argv[1], "--pickaxe-all"))
pickaxe_opts = DIFF_PICKAXE_ALL;