X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=receive-pack.c;h=1ef0c13935751903efc5c2dee738604a80b75de2;hb=8c1f5f0f1f9c36ef5465512753efeff36758ba7d;hp=8d6faaaa9c995f5552549557176a48303a0820ac;hpb=19614330ddaf02367a7faf2ff5e09f1f39fd63c4;p=git.git diff --git a/receive-pack.c b/receive-pack.c index 8d6faaaa..1ef0c139 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -24,7 +24,7 @@ struct command { unsigned char updated; unsigned char old_sha1[20]; unsigned char new_sha1[20]; - char ref_name[0]; + char ref_name[]; }; static struct command *commands = NULL; @@ -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)", @@ -267,7 +269,7 @@ int main(int argc, char **argv) /* If we have a ".git" directory, chdir to it */ chdir(".git"); - setenv("GIT_DIR", ".", 1); + putenv("GIT_DIR=."); if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0) die("%s doesn't appear to be a git directory", dir);