summaryrefslogtreecommitdiff
path: root/include/git2/odb_backend.h
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2013-08-29 14:19:34 +0200
committernulltoken <emeric.fermas@gmail.com>2013-09-06 22:47:28 +0200
commit4047950f30618c160cd2fdf5da39fb8e26b031d9 (patch)
treebd6682f4c713b9a012582a0cffe60137c24b235d /include/git2/odb_backend.h
parentae4a486605c258aa38a53534c99f94e66379c9ae (diff)
downloadlibgit2-4047950f30618c160cd2fdf5da39fb8e26b031d9.tar.gz
odb: Prevent stream_finalize_write() from overwriting
Now that #1785 is merged, git_odb_stream_finalize_write() calculates the object id before invoking the odb backend. This commit gives a chance to the backend to check if it already knows this object.
Diffstat (limited to 'include/git2/odb_backend.h')
-rw-r--r--include/git2/odb_backend.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/git2/odb_backend.h b/include/git2/odb_backend.h
index 7b3c6a356..bafeec047 100644
--- a/include/git2/odb_backend.h
+++ b/include/git2/odb_backend.h
@@ -92,6 +92,10 @@ struct git_odb_stream {
/**
* Store the contents of the stream as an object with the id
* specified in `oid`.
+ *
+ * This method will *not* be invoked by libgit2 if the object pointed at
+ * by `oid` already exists in any backend. Libgit2 will however take care
+ * of properly disposing the stream through a call to `free()`.
*/
int (*finalize_write)(git_odb_stream *stream, const git_oid *oid);