Hi, On Sat, 28 Jul 2007, Junio C Hamano wrote: > A reflog file is organized as one-line-per-entry records, and we > enforced the file format integrity by chomping the given message > at the first LF. This changes it to convert them to SP, which > is more in line with the --pretty=oneline format. Would it not be better to chop off before the first "\n", and just append "..."? IOW something like -- snip -- refs.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/refs.c b/refs.c index 2694e70..554436b 100644 --- a/refs.c +++ b/refs.c @@ -1043,7 +1043,7 @@ static int log_ref_write(const char *ref_name, const unsigned char *old_sha1, unsigned maxlen, len; int msglen; char *log_file, *logrec; - const char *committer; + const char *committer, *postmsg; if (log_all_ref_updates < 0) log_all_ref_updates = !is_bare_repository(); @@ -1088,15 +1088,16 @@ static int log_ref_write(const char *ref_name, const unsigned char *old_sha1, break; if (*msg) { const char *ep = strchr(msg, '\n'); - if (ep) + if (ep) { msglen = ep - msg; - else + postmsg = (ep[1] && !isspace(ep[1])) ? "..." : NULL; + } else msglen = strlen(msg); } } committer = git_committer_info(-1); - maxlen = strlen(committer) + msglen + 100; + maxlen = strlen(committer) + msglen + 100 + 3; logrec = xmalloc(maxlen); len = sprintf(logrec, "%s %s %s\n", sha1_to_hex(old_sha1), @@ -1104,6 +1105,10 @@ static int log_ref_write(const char *ref_name, const unsigned char *old_sha1, committer); if (msglen) len += sprintf(logrec + len - 1, "\t%.*s\n", msglen, msg) - 1; + if (postmsg) { + len += strlen(postmsg); + strcat(logrec + len - 1, postmsg); + } written = len <= maxlen ? write_in_full(logfd, logrec, len) : -1; free(logrec); if (close(logfd) != 0 || written != len) -- snap -- It is not like the reflog messages have to be very verbose; they only have to give a hint what the commit was about, and the commit name is the important information. What do you think? Ciao, Dscho - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html