diff options
author | Junio C Hamano <junkio@cox.net> | 2005-08-02 18:27:57 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-02 22:52:58 -0700 |
commit | 29f3b3de99a9dc08b6ef6946cafaa559a7b4f725 (patch) | |
tree | f1c181deb4afa02898ee264078521f02d69fd56d | |
parent | 19614330ddaf02367a7faf2ff5e09f1f39fd63c4 (diff) | |
download | git-29f3b3de99a9dc08b6ef6946cafaa559a7b4f725.tar.gz git-29f3b3de99a9dc08b6ef6946cafaa559a7b4f725.tar.xz |
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 <junkio@cox.net>
-rw-r--r-- | receive-pack.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/receive-pack.c b/receive-pack.c index 8d6faaaa9..9026f1bf8 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)", |