From: Junio C Hamano Date: Wed, 3 Aug 2005 01:27:57 +0000 (-0700) Subject: Make sure leading directories exist when pushing refs. X-Git-Tag: v0.99.4~61 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=29f3b3de99a9dc08b6ef6946cafaa559a7b4f725;p=git.git Make sure leading directories exist when pushing refs. It does not matter if the only refs you push are directly underneath heads and tags, but we forgot to make sure we have leading directories so pushing tags/v0.99/1 would not have worked. Signed-off-by: Junio C Hamano --- diff --git a/receive-pack.c b/receive-pack.c index 8d6faaaa..9026f1bf 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -106,6 +106,8 @@ static int update(const char *name, return error("unpack should have generated %s, " "but I can't find it!", new_hex); + safe_create_leading_directories(lock_name); + newfd = open(lock_name, O_CREAT | O_EXCL | O_WRONLY, 0666); if (newfd < 0) return error("unable to create %s (%s)",