summaryrefslogtreecommitdiff
path: root/refs.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-12-11 16:49:45 -0800
committerJunio C Hamano <junkio@cox.net>2005-12-11 16:49:45 -0800
commita9572072f0ab0ac97e64b0dc01254a3ad95befe1 (patch)
tree2375e3b4aea11444375f9f587c8ca4cd8d22d6d0 /refs.c
parent423325a2d24638ddcc82ce47be5e40be550f4507 (diff)
parentb825e6ff5d003db8efd1ed43cdbbb9d637df0a0c (diff)
GIT 0.99.9m aka 1.0rc5v1.0rc5v0.99.9m
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'refs.c')
-rw-r--r--refs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/refs.c b/refs.c
index ac2619851d..d2aec73edc 100644
--- a/refs.c
+++ b/refs.c
@@ -292,6 +292,8 @@ int write_ref_sha1(const char *ref, int fd, const unsigned char *sha1)
return -1;
filename = ref_file_name(ref);
lock_filename = ref_lock_file_name(ref);
+ if (safe_create_leading_directories(filename))
+ die("unable to create leading directory for %s", filename);
retval = write_ref_file(filename, lock_filename, fd, sha1);
free(filename);
free(lock_filename);
@@ -358,6 +360,8 @@ int write_ref_sha1_unlocked(const char *ref, const unsigned char *sha1)
return -1;
filename = ref_file_name(ref);
lock_filename = ref_lock_file_name(ref);
+ if (safe_create_leading_directories(filename))
+ die("unable to create leading directory for %s", filename);
fd = open(lock_filename, O_WRONLY | O_CREAT | O_EXCL, 0666);
if (fd < 0) {
error("Writing %s", lock_filename);