From: Grégoire Barbier Date: Sat, 19 Jan 2008 15:22:48 +0000 (+0100) Subject: http-push: fail when info/refs exists and is already locked X-Git-Tag: v1.5.4-rc4~5 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=9bdbabade4303bb76d8115cb12470d229d7249e2;p=git.git http-push: fail when info/refs exists and is already locked Failing instead of silently not updating remote refs makes the things clearer for the user when trying to push on a repository while another person do (or while a dandling locks are waiting for a 10 minutes timeout). When silently not updating remote refs, the user does not even know that git has pushed the objects but leaved the refs as they were before (e.g. a new bunch of commits on branch "master" is uploaded, however the branch by itsel still points on the previous head commit). Signed-off-by: Junio C Hamano --- diff --git a/http-push.c b/http-push.c index 2c4e91d87..e1984d3a0 100644 --- a/http-push.c +++ b/http-push.c @@ -2243,6 +2243,11 @@ int main(int argc, char **argv) info_ref_lock = lock_remote("info/refs", LOCK_TIME); if (info_ref_lock) remote->can_update_info_refs = 1; + else { + fprintf(stderr, "Error: cannot lock existing info/refs\n"); + rc = 1; + goto cleanup; + } } if (remote->has_info_packs) fetch_indices();