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

[RFC 6/5] Fix ref log parsing so it works properly.

From
Shawn Pearce <spearce@spearce.org>
Date
May 17, 2006, 22:34 UTC
Message-ID
<20060517223448.GE30313@spearce.org>

The log parser was only ever matching the last log record due to calling strtoul on "> 1136091609" rather than " 1136091609". Also once a match for '@' has been found after the name of the ref there is no point in looking for another '@' within the remaining text.

---
 Uh yea, I found a couple of bugs.  :-)
 This applies on top of the other 5 patches (hence the 6/5).
 refs.c      |    2 +-
 sha1_name.c |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)
fbc7bf049255370f1611a5772c39d35422a81e24
diff --git a/refs.c b/refs.c
index 4c99e37..ae9825d 100644
--- a/refs.c
+++ b/refs.c
@@ -459,7 +459,7 @@ int read_ref_at(const char *ref, unsigne
 			c++;
 		if (c == logend || *c == '\n')
 			die("Log %s is corrupt.", logfile);
-		date = strtoul(c, NULL, 10);
+		date = strtoul(c + 1, NULL, 10);
 		if (date <= at_time) {
 			if (get_sha1_hex(rec + 41, sha1))
 				die("Log %s is corrupt.", logfile);
diff --git a/sha1_name.c b/sha1_name.c
index 3ac3ab4..4376cb3 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -267,6 +267,7 @@ static int get_sha1_basic(const char *st
 			at_time = approxidate(date_spec);
 			free(date_spec);
 			len = at_mark;
+			break;
 		}
 	}
 
-- 
1.3.2.g7278
Message 1 of 1 in “[RFC 6/5] Fix ref log parsing so it works properly.”
  1. Shawn PearceMay 17, 2006

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.