rename_ref(): handle the case when the reflog of a ref does not exist
We tried to check if a reflog of a ref is a symlink without first checking if it exists, which is a bug. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Miklos Vajna committed
Oct 26, 2008 at 03:33 UTC
450d4c0f5a966b3f5835107ec4d8c344c8c25908
1 file changed
+1
-1
refs.c
+1
-1
@@ -966,7 +966,7 @@ int rename_ref(const char *oldref, const char *newref, const char *logmsg)
966
const char *symref = NULL;
967
int is_symref = 0;
968
969
- if (S_ISLNK(loginfo.st_mode))
969
+ if (log && S_ISLNK(loginfo.st_mode))
970
return error("reflog for %s is a symlink", oldref);
971
972
symref = resolve_ref(oldref, orig_sha1, 1, &flag);