[PATCH] http-push: fail when info/refs exists and is already locked
- From
- Grégoire Barbier <gb@gbarbier.org>
- Date
- Jan 19, 2008, 15:22 UTC
- Message-ID
- <1200756171-11696-2-git-send-email-gb@gbarbier.org>
- In-Reply-To
- <1200756171-11696-1-git-send-email-gb@gbarbier.org>
Rationale:
Failing instead of silently not updating remote refs makes the things cleare 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). --- http-push.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/http-push.c b/http-push.c index 2c4e91d..e1984d3 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();
-- 1.5.4.rc3.52.g9a5bd-dirty