summaryrefslogtreecommitdiff
path: root/src/refdb.c
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2013-12-18 19:58:16 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2014-02-05 12:07:56 +0100
commit9b148098e6802f9dd797471fc4f20cfc58a846b4 (patch)
tree2a31b9c1ab22c45a0f3c6f0783f28f7a24aa586a /src/refdb.c
parent7369ea8075fa112bbd4c13f06eeedeb2a4e47153 (diff)
downloadlibgit2-9b148098e6802f9dd797471fc4f20cfc58a846b4.tar.gz
refs: conditional ref updates
Allow updating references if the old value matches the given one.
Diffstat (limited to 'src/refdb.c')
-rw-r--r--src/refdb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/refdb.c b/src/refdb.c
index 411423d57..9ff812433 100644
--- a/src/refdb.c
+++ b/src/refdb.c
@@ -167,14 +167,14 @@ void git_refdb_iterator_free(git_reference_iterator *iter)
iter->free(iter);
}
-int git_refdb_write(git_refdb *db, git_reference *ref, int force, const git_signature *who, const char *message)
+int git_refdb_write(git_refdb *db, git_reference *ref, int force, const git_signature *who, const char *message, const git_oid *old)
{
assert(db && db->backend);
GIT_REFCOUNT_INC(db);
ref->db = db;
- return db->backend->write(db->backend, ref, force, who, message);
+ return db->backend->write(db->backend, ref, force, who, message, old);
}
int git_refdb_rename(