Jeff King <peff@xxxxxxxx> writes: > On Thu, Mar 20, 2008 at 09:48:16PM -0700, Junio C Hamano wrote: > >> > + case 'z': /* null */ >> > + strbuf_addch(sb, '\0'); >> > + return 1; >> > } >> > >> > /* these depend on the commit */ >> >> I do not like this at all. Why aren't we doing %XX (2 hexadecimal digits >> for an octet)? > > Because %ad is already taken? :) > > %x* is still available, though, so maybe %x00? Perhaps, but before I forget. My much bigger niggle about the "--pretty=format:<>" code I have is that the "log" machinery does not change the usual record "delimiter" to record "terminator" when --pretty=format:<> is in effect. The "log" family generally treats LF/NUL as record delimiter, not terminator, and it is by a very good conscious design. When you are looking at the output from "git log -2", you would want to have a delimiting LF between the first commit and the second commit, but you do not want an extra LF after the second commit. However, when "--pretty=format:<>" is in effect, it is inconvenient that the machinery inserts a LF between each record but not at the end. $ git log -2 --pretty=format:%s may look sane when the pager immediately returns the control to you, but it is not really. To view it: $ git log -2 --pretty=format:%s | cat This would show that there is no LF after the final output, which is quite bad. -- 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