quoted
quoted
quoted
quoted
"LT" == Linus Torvalds [off-list ref] writes:
LT> (I think that's just because the "silent" test used to depend on the
LT> magical behaviour of the "header" thing, and now that the header
LT> generation and suppression is sane, "silent" doesn't work any more)
I think you will be more efficient for this task but I'm willing
to volunteer if you let me know how "silent" should behave. The
documentation says it is useful only with -v and supresses the
diffs, so if that is the only thing it does, I think something
like this is sufficient? Not tested enough but I am going to
crash for the day now.
------------
Use DIFF_FORMAT_NO_OUTPUT to implement diff-tree -s option.
Instead of checking silent flag all over the place, simply use
the NO_OUTPUT option diffcore provides to suppress the diff
output.
Signed-off-by: Junio C Hamano <redacted>
---
cd /opt/packrat/playpen/public/in-place/git/git.junio/
jit-diff
# - HEAD: Allow symlinks in the leading path in checkout-cache --prefix=
# + (working tree)
diff --git a/diff-tree.c b/diff-tree.c
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -2,7 +2,6 @@
#include "cache.h"
#include "diff.h"
-static int silent = 0;
static int show_root_diff = 0;
static int verbose_header = 0;
static int ignore_merges = 1;
@@ -67,9 +66,6 @@ static void show_file(const char *prefix
const char *path;
const unsigned char *sha1 = extract(tree, size, &path, &mode);
- if (silent)
- return;
-
if (recursive && S_ISDIR(mode)) {
char type[20];
unsigned long size;@@ -132,9 +128,6 @@ static int compare_tree_entry(void *tree
return retval;
}
- if (silent)
- return 0;
-
diff_change(mode1, mode2, sha1, sha2, base, path1);
return 0;
}
@@ -395,8 +388,7 @@ static char *generate_header(const char
if (this_header[offset-1] != '\n')
this_header[offset++] = '\n';
/* Add _another_ EOLN if we are doing diff output */
- if (!silent)
- this_header[offset++] = '\n';
+ this_header[offset++] = '\n';
this_header[offset] = 0;
}
@@ -442,8 +434,6 @@ static int diff_tree_commit(const unsign
* Don't print multiple merge entries if we
* don't print the diffs.
*/
- if (silent)
- break;
}
offset += 48;
}
@@ -540,7 +530,7 @@ int main(int argc, const char **argv)
continue;
}
if (!strcmp(arg, "-s")) {
- silent = 1;
+ diff_output_format = DIFF_FORMAT_NO_OUTPUT;
continue;
}
if (!strcmp(arg, "-v")) {
Compilation finished at Tue May 24 02:03:10