diff options
| author | Vicent Martà <vicent@github.com> | 2012-10-25 08:16:13 -0700 |
|---|---|---|
| committer | Vicent Martà <vicent@github.com> | 2012-10-25 08:16:13 -0700 |
| commit | 1eb8cd7f879dbd2fc3c3c0d341f4dd6ed636b97b (patch) | |
| tree | 65219886d770f0d7deb86e4a5e575f73f35f2df6 /src/index.c | |
| parent | 5edb846e03961cac06d1aab4cb5e2329936837f1 (diff) | |
| parent | 1e3b8ed5cfe784f73a123c33c90f573742d8839e (diff) | |
| download | libgit2-1eb8cd7f879dbd2fc3c3c0d341f4dd6ed636b97b.tar.gz | |
Merge pull request #990 from ben/clone-callbacks
Progress callbacks
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); } |
