From: Junio C Hamano Date: Wed, 7 Mar 2007 22:45:25 +0000 (-0800) Subject: Merge branch 'maint' X-Git-Tag: v1.5.1-rc1~75 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/84da035f3862b72d103d21104a1f67b003d17ebb?ds=inline;hp=-c Merge branch 'maint' * maint: Catch write_ref_sha1 failure in receive-pack make t8001 work on Mac OS X again --- 84da035f3862b72d103d21104a1f67b003d17ebb diff --combined receive-pack.c index 7f1dcc045c,ea6872e46f..dda98549ca --- a/receive-pack.c +++ b/receive-pack.c @@@ -109,7 -109,7 +109,7 @@@ static int update(struct command *cmd struct ref_lock *lock; cmd->error_string = NULL; - if (!strncmp(name, "refs/", 5) && check_ref_format(name + 5)) { + if (!prefixcmp(name, "refs/") && check_ref_format(name + 5)) { cmd->error_string = "funny refname"; return error("refusing to create funny ref '%s' locally", name); @@@ -125,7 -125,7 +125,7 @@@ } if (deny_non_fast_forwards && !is_null_sha1(new_sha1) && !is_null_sha1(old_sha1) && - !strncmp(name, "refs/heads/", 11)) { + !prefixcmp(name, "refs/heads/")) { struct commit *old_commit, *new_commit; struct commit_list *bases, *ent; @@@ -158,7 -158,10 +158,10 @@@ cmd->error_string = "failed to lock"; return error("failed to lock %s", name); } - write_ref_sha1(lock, new_sha1, "push"); + if (write_ref_sha1(lock, new_sha1, "push")) { + cmd->error_string = "failed to write"; + return -1; /* error() already called */ + } fprintf(stderr, "%s: %s -> %s\n", name, old_hex, new_hex); } return 0;