summaryrefslogtreecommitdiff
path: root/diff-tree.c
diff options
context:
space:
mode:
authorPetr Baudis <pasky@ucw.cz>2005-04-13 09:42:04 (GMT)
committerPetr Baudis <xpasky@machine>2005-04-13 09:42:04 (GMT)
commit33b238d128a4f7ada055eac99ae8f9546003e7d0 (patch)
tree56763d1f057cdc4bf4e60cbec69b51593f9e3bd0 /diff-tree.c
parent35bb47855d8a102deda07cfc1732095f45318c02 (diff)
downloadgit-33b238d128a4f7ada055eac99ae8f9546003e7d0.zip
git-33b238d128a4f7ada055eac99ae8f9546003e7d0.tar.gz
git-33b238d128a4f7ada055eac99ae8f9546003e7d0.tar.bz2
[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 <pasky@ucw.cz>
Diffstat (limited to 'diff-tree.c')
-rw-r--r--diff-tree.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/diff-tree.c b/diff-tree.c
index 4b9438c..da50e57 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;
}