This is needed if replacing object happens at run time. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- commit.c | 15 +++++++++++++++ commit.h | 2 ++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/commit.c b/commit.c index e9b0750..d1e30b2 100644 --- a/commit.c +++ b/commit.c @@ -315,6 +315,21 @@ int parse_commit(struct commit *item) return ret; } +int invalidate_commit(struct commit *item) +{ + if (!item) + return -1; + + if (item->object.parsed) { + item->object.parsed = 0; + if (item->buffer) { + free(item->buffer); + item->buffer = NULL; + } + } + return 0; +} + struct commit_list *commit_list_insert(struct commit *item, struct commit_list **list_p) { struct commit_list *new_list = xmalloc(sizeof(struct commit_list)); diff --git a/commit.h b/commit.h index eb2b8ac..d8c01ea 100644 --- a/commit.h +++ b/commit.h @@ -41,6 +41,8 @@ int parse_commit_buffer(struct commit *item, void *buffer, unsigned long size); int parse_commit(struct commit *item); +int invalidate_commit(struct commit *item); + struct commit_list * commit_list_insert(struct commit *item, struct commit_list **list_p); unsigned commit_list_count(const struct commit_list *l); struct commit_list * insert_by_date(struct commit *item, struct commit_list **list); -- 1.7.1.rc1.69.g24c2f7 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html