git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH resend 2/3] transport-helper.c::push_refs(): know more about refs before pushing

From
Tay Ray Chuan <rctay89@gmail.com>
Date
Dec 4, 2009, 06:57 UTC
Message-ID
<20091204145755.4d793b0b.rctay89@gmail.com>
In-Reply-To
<20091204145437.1a9910db.rctay89@gmail.com>

Know about rejected non-fast-forward refs, in addition to up-to-date ones, by calling set_ref_status_for_push() in remote.[ch], before passing push commands to the helper.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
 transport-helper.c |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/transport-helper.c b/transport-helper.c
index 11f3d7e..6ed7b55 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -334,16 +334,12 @@ static int push_refs(struct transport *transport,
 		else if (!mirror)
 			continue;

-		ref->deletion = is_null_sha1(ref->new_sha1);
-		if (!ref->deletion &&
-			!hashcmp(ref->old_sha1, ref->new_sha1)) {
-			ref->status = REF_STATUS_UPTODATE;
-			continue;
-		}
-
 		if (force_all)
 			ref->force = 1;

+		if (set_ref_status_for_push(ref, force_all))
+			continue;
+
 		strbuf_addstr(&buf, "push ");
 		if (!ref->deletion) {
 			if (ref->force)
--
1.6.6.rc1.286.gbc15a
Previous: Tay Ray ChuanNext: Tay Ray Chuan
Message 3 of 12 in “transport: catch non-fast-forwards”
  1. 0/3 transport: catch non-fast-forwardsTay Ray Chuan, Dec 4, 2009
  2. 1/3 refactor ref status logic for pushingTay Ray Chuan, Dec 4, 2009
  3. 2/3 transport-helper.c::push_refs(): know more about refs before pushingTay Ray Chuan, Dec 4, 2009
  4. 3/3 transport.c::transport_push(): make ref status affect return valueTay Ray Chuan, Dec 4, 2009
  5. Jeff KingDec 4, 2009
  6. 0/6 transport: catch non-fast forwardsTay Ray Chuan, Jan 8, 2010
  7. 1/6 t5541-http-push.sh: add tests for non-fast-forward pushesTay Ray Chuan, Jan 8, 2010
  8. 2/6 t5541-http-push.sh: add test for unmatched, non-fast-forwarded refsTay Ray Chuan, Jan 8, 2010
  9. 3/6 refactor ref status logic for pushingTay Ray Chuan, Jan 8, 2010
  10. 4/6 transport.c::transport_push(): make ref status affect return valueTay Ray Chuan, Jan 8, 2010
  11. 5/6 transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushedTay Ray Chuan, Jan 8, 2010
  12. 6/6 transport-helper.c::push_refs(): emit "no refs" error messageTay Ray Chuan, Jan 8, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.