If you don't mind I've brought this back onto the list. On Oct 28, 2010, at 6:32 PM, Junio C Hamano wrote: >> BTW, I'm trying an experiment here to see if I can just paste the patch into >> Mail.app without it being mangled. I sent it to myself first, and Mail.app >> is applying quoted-printable encoding to the patch, but it appears git-am >> can still understand it. Please let me know if this isn't acceptable and I >> will send it separately. > > Almost but not quite; it appears that all the leading SP on the context > lines and the diffstat are lost by somebody. Well, it looks like I screwed up. I sent a test email to myself and it came through fine, so I selected all, hit copy, and pasted that into the new reply to the list. Unfortunately, copying from Mail.app's rich markup view seems to have lost the spaces. If I copy from the Raw Source view it works fine. I'll have to try again without making that mistake. > The patch seems to unconditionally dq even when there is no rename > (i.e. when d->head_path is NULL). > > I think it _is_ intended (otherwise it becomes unwieldy to tell if you > renamed "foo" to "bar" or if you touched "foo -> bar" without looking at > the status letters) but the behaviour does not seem to match what the log > message says it does. Good point. I hadn't thought this through properly. Here's an updated patch with a fixed description. And this time I'm not copying it from a test email ;) ---8<--- Subject: status: Quote paths with spaces in short format According to the documentation for git-status, in short-format mode, paths with spaces or unprintable characters are quoted. However 28fba29 (Do not quote SP., 2005-10-17) removed the behavior that quotes paths that have spaces but not unprintable characters. Unfortunately this makes the output of `git status --porcelain` non-parseable in certain (rather unusual) edge cases. In the interest of removing ambiguity when parsing the output of `git status --porcelain`, restore the behavior of quoting paths with spaces in git-status's short-format mode. Signed-off-by: Kevin Ballard <kevin@xxxxxx> --- wt-status.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/wt-status.c b/wt-status.c index fc2438f..9624865 100644 --- a/wt-status.c +++ b/wt-status.c @@ -744,10 +744,20 @@ static void wt_shortstatus_status(int null_termination, struct string_list_item const char *one; if (d->head_path) { one = quote_path(d->head_path, -1, &onebuf, s->prefix); + if (*one != '"' && strchr(one, ' ') != NULL) { + putchar('"'); + strbuf_addch(&onebuf, '"'); + one = onebuf.buf; + } printf("%s -> ", one); strbuf_release(&onebuf); } one = quote_path(it->string, -1, &onebuf, s->prefix); + if (*one != '"' && strchr(one, ' ') != NULL) { + putchar('"'); + strbuf_addch(&onebuf, '"'); + one = onebuf.buf; + } printf("%s\n", one); strbuf_release(&onebuf); } -- 1.7.3.2.195.ge42d1.dirty -- 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