Don't run post-update hook unless a ref changed

There is little point in executing the post-update hook if all refs
had an error and were unable to be updated.  In this case nothing
new is reachable within the repository, and there is no state change
for the post-update hook to be interested in.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Shawn O. Pearce 2007-03-07 16:50:43 -05:00 committed by Junio C Hamano
parent 8e663d9e90
commit 3e6e152c74
1 changed files with 4 additions and 4 deletions

View File

@ -175,14 +175,14 @@ static void run_update_post_hook(struct command *cmd)
int argc;
const char **argv;

if (access(update_post_hook, X_OK) < 0)
return;
for (argc = 1, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {
for (argc = 0, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {
if (cmd_p->error_string)
continue;
argc++;
}
argv = xmalloc(sizeof(*argv) * (1 + argc));
if (!argc || access(update_post_hook, X_OK) < 0)
return;
argv = xmalloc(sizeof(*argv) * (2 + argc));
argv[0] = update_post_hook;

for (argc = 1, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {