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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html