diff options
Diffstat (limited to 'src/index.c')
| -rw-r--r-- | src/index.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/index.c b/src/index.c index f9f3b14cc..f92c48df9 100644 --- a/src/index.c +++ b/src/index.c @@ -1034,17 +1034,15 @@ int git_index_entry_stage(const git_index_entry *entry) typedef struct read_tree_data { git_index *index; - git_indexer_stats *stats; + git_transfer_progress *stats; } read_tree_data; static int read_tree_cb(const char *root, const git_tree_entry *tentry, void *data) { - read_tree_data *rtd = data; + git_index *index = (git_index *)data; git_index_entry *entry = NULL; git_buf path = GIT_BUF_INIT; - rtd->stats->total++; - if (git_tree_entry__is_tree(tentry)) return 0; @@ -1059,7 +1057,7 @@ static int read_tree_cb(const char *root, const git_tree_entry *tentry, void *da entry->path = git_buf_detach(&path); git_buf_free(&path); - if (index_insert(rtd->index, entry, 0) < 0) { + if (index_insert(index, entry, 0) < 0) { index_entry_free(entry); return -1; } @@ -1067,16 +1065,9 @@ static int read_tree_cb(const char *root, const git_tree_entry *tentry, void *da return 0; } -int git_index_read_tree(git_index *index, git_tree *tree, git_indexer_stats *stats) +int git_index_read_tree(git_index *index, git_tree *tree) { - git_indexer_stats dummy_stats; - read_tree_data rtd = {index, NULL}; - - if (!stats) stats = &dummy_stats; - stats->total = 0; - rtd.stats = stats; - git_index_clear(index); - return git_tree_walk(tree, read_tree_cb, GIT_TREEWALK_POST, &rtd); + return git_tree_walk(tree, read_tree_cb, GIT_TREEWALK_POST, index); } |
