diff --git a/receive-pack.c b/receive-pack.c index 8d6faaaa9c995f5552549557176a48303a0820ac..9026f1bf828abdceb907054bf54ecfb7311df5e1 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)",