Johannes Schindelin [off-list ref] writes:
On Thu, 8 Feb 2007, Jakub Narebski wrote:
quoted
StGIT used to produce no reflog messages; I don't know if this has
improved. But you can have old reflog entries with empty messages; git
log -g should deal with them IMHO.
I just tried. An empty string is not enough. The tab before the message
has to be lacking, too.
Here's a small patch, if you have to have it.
I think this is necessary for v1.5.0. I'd appreciate a properly
signed-off log message.
quoted hunk
---
refs.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/refs.c b/refs.c
index 7e07fc4..ba5bd2d 100644
--- a/refs.c
+++ b/refs.c
@@ -1189,12 +1189,14 @@ int for_each_reflog_ent(const char *ref, each_reflog_ent_fn fn, void *cb_data)
!message || message[0] != ' ' ||
(message[1] != '+' && message[1] != '-') ||
!isdigit(message[2]) || !isdigit(message[3]) ||
- !isdigit(message[4]) || !isdigit(message[5]) ||
- message[6] != '\t')
+ !isdigit(message[4]) || !isdigit(message[5]))
continue; /* corrupt? */
email_end[1] = '\0';
tz = strtol(message + 1, NULL, 10);
- message += 7;
+ if (message[6] != '\t')
+ message += 6;
+ else
+ message += 7;
ret = fn(osha1, nsha1, buf+82, timestamp, tz, message, cb_data);
if (ret)
break;