git-describe: documentation.
[gitweb.git] / receive-pack.c
index 8f157bc3f0ef1f9d96bca18fc81854fc24bff936..92878ecac3bdb12efe0d34257852b432558e21f6 100644 (file)
@@ -79,7 +79,7 @@ static int run_update_hook(const char *refname,
        case -ERR_RUN_COMMAND_WAITPID_WRONG_PID:
                die("waitpid is confused");
        case -ERR_RUN_COMMAND_WAITPID_SIGNAL:
-               fprintf(stderr, "%s died of signal", update_hook);
+               fprintf(stderr, "%s died of signal\n", update_hook);
                return -1;
        case -ERR_RUN_COMMAND_WAITPID_NOEXIT:
                die("%s died strangely", update_hook);
@@ -173,7 +173,7 @@ static void run_update_post_hook(struct command *cmd)
                argc++;
        }
        argv[argc] = NULL;
-       run_command_v(argc, argv);
+       run_command_v_opt(argc, argv, RUN_COMMAND_NO_STDIO);
 }
 
 /*
@@ -248,11 +248,11 @@ static void unpack(void)
 int main(int argc, char **argv)
 {
        int i;
-       const char *dir = NULL;
+       char *dir = NULL;
 
        argv++;
        for (i = 1; i < argc; i++) {
-               const char *arg = *argv++;
+               char *arg = *argv++;
 
                if (*arg == '-') {
                        /* Do flag handling here */
@@ -265,18 +265,9 @@ int main(int argc, char **argv)
        if (!dir)
                usage(receive_pack_usage);
 
-       /* chdir to the directory. If that fails, try appending ".git" */
-       if (chdir(dir) < 0) {
-               if (chdir(mkpath("%s.git", dir)) < 0)
-                       die("unable to cd to %s", dir);
-       }
-
-       /* If we have a ".git" directory, chdir to it */
-       chdir(".git");
-       putenv("GIT_DIR=.");
+       if(!enter_repo(dir, 0))
+               die("'%s': unable to chdir or not a git archive", dir);
 
-       if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0)
-               die("%s doesn't appear to be a git directory", dir);
        write_head_info();
 
        /* EOF */