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

From: Tay Ray Chuan <[email-masked]>
Date: Fri, 4 Dec 2009 14:54:37 +0800

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.

The first patch refactors ref status logic out of builtin-send-pack.c.

The second patch lets git know of non-fast-forwards before actually
telling the helper to push anything.

The third patch changes the return code when ref status indicate an
error (determined by push_had_errors()), so that the caller of
transport_push() is alerted.

PS. There are at least 2 bug fixes related to this series. If you
usually do so from repo.or.cz, please fetch from git.kernel.org; the
former is 2 days old.

 builtin-send-pack.c |   39 +++------------------------------------
 remote.c            |   42 ++++++++++++++++++++++++++++++++++++++++++
 remote.h            |    1 +
 transport-helper.c  |   10 +++-------
 transport.c         |   11 +++++++----
 5 files changed, 56 insertions(+), 47 deletions(-)

--
Cheers,
Ray Chuan