From 33b238d128a4f7ada055eac99ae8f9546003e7d0 Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Wed, 13 Apr 2005 02:42:04 -0700 Subject: [PATCH 1/1] [PATCH] Change diff-tree output format Changes diff-tree output format so that fields are separated by tabs instead of spaces (readibility, parseability), and tree entry type is listed along the entry (avoids having to figure that out from the mode in the scripts). This is what my scripts expect. Signed-off-by: Petr Baudis --- diff-tree.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/diff-tree.c b/diff-tree.c index 4b9438c2..da50e575 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -73,7 +73,9 @@ static void show_file(const char *prefix, void *tree, unsigned long size, const return; } - printf("%s%o %s %s%s%c", prefix, mode, sha1_to_hex(sha1), base, path, 0); + printf("%s%o\t%s\t%s\t%s%s%c", prefix, mode, + S_ISDIR(mode) ? "tree" : "blob", + sha1_to_hex(sha1), base, path, 0); } static int compare_tree_entry(void *tree1, unsigned long size1, void *tree2, unsigned long size2, const char *base) @@ -120,7 +122,9 @@ static int compare_tree_entry(void *tree1, unsigned long size1, void *tree2, uns } strcpy(old_sha1_hex, sha1_to_hex(sha1)); - printf("*%o->%o %s->%s %s%s%c", mode1, mode2, old_sha1_hex, sha1_to_hex(sha2), base, path1, 0); + printf("*%o->%o\t%s\t%s->%s\t%s%s%c", mode1, mode2, + S_ISDIR(mode1) ? "tree" : "blob", + old_sha1_hex, sha1_to_hex(sha2), base, path1, 0); return 0; } -- 2.11.0