summaryrefslogtreecommitdiff
path: root/tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-06-11 09:29:58 -0700
committerJunio C Hamano <gitster@pobox.com>2015-06-11 09:29:59 -0700
commit43262d8d6511212f49d519779505f8a557c8dc84 (patch)
tree3a68ca86e32cb14060f97ba4e603affc263ecbdf /tree.c
parent0e04b248b5d5828b907a346e920dda4003311406 (diff)
parentce4e7b2ac38cfe5e4c165411d2e37b22e445ab88 (diff)
downloadgit-43262d8d6511212f49d519779505f8a557c8dc84.tar.gz
Merge branch 'jk/squelch-missing-link-warning-for-unreachable'
Recent "git prune" traverses young unreachable objects to safekeep old objects in the reachability chain from them, which sometimes caused error messages that are unnecessarily alarming. * jk/squelch-missing-link-warning-for-unreachable: suppress errors on missing UNINTERESTING links silence broken link warnings with revs->ignore_missing_links add quieter versions of parse_{tree,commit}
Diffstat (limited to 'tree.c')
-rw-r--r--tree.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/tree.c b/tree.c
index 58ebfce1bc..413a5b1fa6 100644
--- a/tree.c
+++ b/tree.c
@@ -204,7 +204,7 @@ int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)
return 0;
}
-int parse_tree(struct tree *item)
+int parse_tree_gently(struct tree *item, int quiet_on_missing)
{
enum object_type type;
void *buffer;
@@ -214,7 +214,8 @@ int parse_tree(struct tree *item)
return 0;
buffer = read_sha1_file(item->object.sha1, &type, &size);
if (!buffer)
- return error("Could not read %s",
+ return quiet_on_missing ? -1 :
+ error("Could not read %s",
sha1_to_hex(item->object.sha1));
if (type != OBJ_TREE) {
free(buffer);