From: Tay Ray Chuan Date: Tue, 08 Dec 2009 14:34:13 GMT Subject: [PATCH v2 0/3] transport: catch non-fast-forwards Message-ID: <20091208223413.98e99d3e.rctay89@gmail.com> In-Reply-To: <20091204125042.c64f347d.rctay89@gmail.com> Daniel, I've reworked the refactoring of ref status logic, like you mentioned, such that transport_push() calls the generic function before calling the transport->push_refs() implementation. Junio, although this series affects http transports (smart), please treat this series as separate from 'tr/http-updates' in 'next'. Summary for those who missed v1: This patch series applies on top of 'next', and deals with alerting the user to non-fast-forward pushes when using helpers (smart). Previously, git silently exited. This situation involves the curl helper and the smart protocol. The fast-forward push is only detected when curl executes the rpc client (git-send-pack). Now, we detect it before telling the helper to push. Changes from v1: - reworked refactoring of ref status logic (patch 1) - rewrote the patch for transport_push() (patch 2) - minor rewording of commit message (patch 3) Tay Ray Chuan (3): refactor ref status logic for pushing transport.c::transport_push(): make ref status affect return value transport-helper.c::push_refs(): emit "no refs" error message builtin-send-pack.c | 50 +++++++++++--------------------------------------- remote.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ remote.h | 2 ++ transport-helper.c | 18 ++++++++++-------- transport.c | 11 +++++++++-- 5 files changed, 82 insertions(+), 49 deletions(-) -- Cheers, Ray Chuan