Subject: [PATCH v2 0/3] transport: catch non-fast-forwards

From: Tay Ray Chuan <[email-masked]>
Date: Tue, 8 Dec 2009 22:34:13 +0800

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