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

[PATCH 09/13] Allow helpers to report in "list" command that the ref is unchanged

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Aug 5, 2009, 05:02 UTC
Message-ID
<alpine.LNX.2.00.0908050056000.2147@iabervon.org>

Helpers may use a line like "? name unchanged" to specify that there is nothing new at that name, without any git-specific code to determine the correct response.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
---
 Documentation/git-remote-helpers.txt |    4 +++-
 transport-helper.c                   |    6 ++++++
 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-remote-helpers.txt b/Documentation/git-remote-helpers.txt
index e9aa67e..2c5130f 100644
--- a/Documentation/git-remote-helpers.txt
+++ b/Documentation/git-remote-helpers.txt
@@ -70,7 +70,9 @@ CAPABILITIES
 REF LIST ATTRIBUTES
 -------------------
 
-None are defined yet, but the caller must accept any which are supplied.
+'unchanged'::
+	This ref is unchanged since the last import or fetch, although
+	the helper cannot necessarily determine what value that produced.
 
 Documentation
 -------------
diff --git a/transport-helper.c b/transport-helper.c
index 6eee0da..956cece 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -193,6 +193,12 @@ static struct ref *get_refs_list(struct transport *transport, int for_push)
 			(*tail)->symref = xstrdup(buf.buf + 1);
 		else if (buf.buf[0] != '?')
 			get_sha1_hex(buf.buf, (*tail)->old_sha1);
+		if (eon) {
+			if (strstr(eon + 1, "unchanged")) {
+				(*tail)->status |= REF_STATUS_UPTODATE;
+				read_ref((*tail)->name, (*tail)->old_sha1);
+			}
+		}
 		tail = &((*tail)->next);
 	}
 	strbuf_release(&buf);
-- 
1.6.4.rc3.27.g95032.dirty
Next: Johannes Schindelin
Message 1 of 3 in “Allow helpers to report in "list" command that the ref is unchanged”
  1. 09/13 Allow helpers to report in "list" command that the ref is unchangedDaniel Barkalow, Aug 5, 2009
  2. Johannes SchindelinAug 5, 2009
  3. Daniel BarkalowAug 5, 2009

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.