diff-tree: fix "whole sub-tree disappeared or appeared" case
We still need to check which part of the sub-tree is interesting.
This commit is contained in:
parent
cb6c8ed2fe
commit
ed1a368ba1
20
diff-tree.c
20
diff-tree.c
@ -54,15 +54,7 @@ static char *malloc_base(const char *base, const char *path, int pathlen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void show_file(const char *prefix, void *tree, unsigned long size, const char *base);
|
static void show_file(const char *prefix, void *tree, unsigned long size, const char *base);
|
||||||
|
static void show_tree(const char *prefix, void *tree, unsigned long size, const char *base);
|
||||||
/* A whole sub-tree went away or appeared */
|
|
||||||
static void show_tree(const char *prefix, void *tree, unsigned long size, const char *base)
|
|
||||||
{
|
|
||||||
while (size) {
|
|
||||||
show_file(prefix, tree, size, base);
|
|
||||||
update_tree_entry(&tree, &size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* A file entry went away or appeared */
|
/* A file entry went away or appeared */
|
||||||
static void show_file(const char *prefix, void *tree, unsigned long size, const char *base)
|
static void show_file(const char *prefix, void *tree, unsigned long size, const char *base)
|
||||||
@ -222,6 +214,16 @@ static int interesting(void *tree, unsigned long size, const char *base)
|
|||||||
return 0; /* No matches */
|
return 0; /* No matches */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* A whole sub-tree went away or appeared */
|
||||||
|
static void show_tree(const char *prefix, void *tree, unsigned long size, const char *base)
|
||||||
|
{
|
||||||
|
while (size) {
|
||||||
|
if (interesting(tree, size, base))
|
||||||
|
show_file(prefix, tree, size, base);
|
||||||
|
update_tree_entry(&tree, &size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int diff_tree(void *tree1, unsigned long size1, void *tree2, unsigned long size2, const char *base)
|
static int diff_tree(void *tree1, unsigned long size1, void *tree2, unsigned long size2, const char *base)
|
||||||
{
|
{
|
||||||
while (size1 | size2) {
|
while (size1 | size2) {
|
||||||
|
Loading…
Reference in New Issue
Block a user