summaryrefslogtreecommitdiff
path: root/src/refdb_fs.c
diff options
context:
space:
mode:
authorBen Straub <bs@github.com>2014-02-01 11:46:44 -0800
committerBen Straub <bs@github.com>2014-02-01 11:46:44 -0800
commitee8e6afda9b33a1e20b7db67136cfb9cad9d7846 (patch)
tree5b2f553f967486c1c1f180e29a7844bedf3216b0 /src/refdb_fs.c
parent7ac1b89942e78bf73f954136c320e6be6f181c85 (diff)
downloadlibgit2-ee8e6afda9b33a1e20b7db67136cfb9cad9d7846.tar.gz
Reflog: correct "new" id for reattaching HEAD
Diffstat (limited to 'src/refdb_fs.c')
-rw-r--r--src/refdb_fs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/refdb_fs.c b/src/refdb_fs.c
index 41ff01998..829e7c55a 100644
--- a/src/refdb_fs.c
+++ b/src/refdb_fs.c
@@ -1452,7 +1452,9 @@ static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, co
if (error < 0)
return error;
- if (git_reference_target(ref) != NULL)
+ if (git_reference_symbolic_target(ref) != NULL)
+ git_reference_name_to_id(&new_id, repo, git_reference_symbolic_target(ref));
+ else if (git_reference_target(ref) != NULL)
git_oid_cpy(&new_id, git_reference_target(ref));
if ((error = serialize_reflog_entry(&buf, &old_id, &new_id, who, message)) < 0)