[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>
maint
Petr Baudis 2005-04-13 02:42:04 -07:00 committed by Petr Baudis
parent 35bb47855d
commit 33b238d128
1 changed files with 6 additions and 2 deletions

View File

@ -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;
}