aboutsummaryrefslogtreecommitdiff
path: root/update-ref.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-14 18:39:18 -0800
committerJunio C Hamano <junkio@cox.net>2005-11-14 18:39:18 -0800
commit60d64db4614b1007ca37c228923ec1964d5ad394 (patch)
treed376d7e422b9a6cc51ef9a4b7f90e59f5520247e /update-ref.c
parentf7a2eb735982e921ae4379f1dcf5f7a023610393 (diff)
parentd7bba815753bf8c31886fcf6bb89c9e6250674a5 (diff)
downloadgit-60d64db4614b1007ca37c228923ec1964d5ad394.tar.gz
git-60d64db4614b1007ca37c228923ec1964d5ad394.tar.xz
GIT 0.99.9i aka 1.0rc2v1.0rc2v0.99.9i
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'update-ref.c')
-rw-r--r--update-ref.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/update-ref.c b/update-ref.c
index d79dc52fd..e6fbddbab 100644
--- a/update-ref.c
+++ b/update-ref.c
@@ -19,7 +19,8 @@ static int re_verify(const char *path, unsigned char *oldsha1, unsigned char *cu
int main(int argc, char **argv)
{
char *hex;
- const char *refname, *value, *oldval, *path, *lockpath;
+ const char *refname, *value, *oldval, *path;
+ char *lockpath;
unsigned char sha1[20], oldsha1[20], currsha1[20];
int fd, written;
@@ -49,6 +50,8 @@ int main(int argc, char **argv)
}
path = strdup(path);
lockpath = mkpath("%s.lock", path);
+ if (safe_create_leading_directories(lockpath) < 0)
+ die("Unable to create all of %s", lockpath);
fd = open(lockpath, O_CREAT | O_EXCL | O_WRONLY, 0666);
if (fd < 0)