Move pack index writing to a public function Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
diff --git a/include/git2/indexer.h b/include/git2/indexer.h
index 1f59ee3..9273efc 100644
--- a/include/git2/indexer.h
+++ b/include/git2/indexer.h
@@ -15,6 +15,7 @@ typedef struct git_indexer git_indexer;
GIT_EXTERN(int) git_indexer_new(git_indexer **out, const char *packname);
GIT_EXTERN(int) git_indexer_run(git_indexer *idx, git_indexer_stats *stats);
GIT_EXTERN(const git_oid *) git_indexer_result(git_indexer *idx);
+GIT_EXTERN(int) git_indexer_write(git_indexer *idx);
GIT_EXTERN(void) git_indexer_free(git_indexer *idx);
diff --git a/src/indexer.c b/src/indexer.c
index 4def1af..7a2b28a 100644
--- a/src/indexer.c
+++ b/src/indexer.c
@@ -166,7 +166,7 @@ static void index_path(char *path, git_indexer *idx)
memcpy(ptr, suffix, STRLEN(suffix));
}
-static int write_index(git_indexer *idx)
+int git_indexer_write(git_indexer *idx)
{
git_mwindow *w = NULL;
int error, namelen;
@@ -358,12 +358,6 @@ int git_indexer_run(git_indexer *idx, git_indexer_stats *stats)
stats->processed = ++processed;
}
- /*
- * All's gone well, so let's write the index file.
- */
- error = write_index(idx);
-
- /* Delete keep file */
cleanup:
git_mwindow_free_all(mwf);