summaryrefslogtreecommitdiff
path: root/src/refdb_fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/refdb_fs.c')
-rw-r--r--src/refdb_fs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/refdb_fs.c b/src/refdb_fs.c
index e1a77f3ff..55d535eb4 100644
--- a/src/refdb_fs.c
+++ b/src/refdb_fs.c
@@ -63,6 +63,8 @@ typedef struct refdb_fs_backend {
uint32_t direach_flags;
} refdb_fs_backend;
+static int refdb_reflog_fs__delete(git_refdb_backend *_backend, const char *name);
+
static int packref_cmp(const void *a_, const void *b_)
{
const struct packref *a = a_, *b = b_;
@@ -1217,6 +1219,11 @@ static int refdb_fs_backend__delete(
if ((error = loose_lock(&file, backend, ref_name)) < 0)
return error;
+ if ((error = refdb_reflog_fs__delete(_backend, ref_name)) < 0) {
+ git_filebuf_cleanup(&file);
+ return error;
+ }
+
return refdb_fs_backend__delete_tail(_backend, &file, ref_name, old_id, old_target);
}