From: Junio C Hamano Date: Mon, 16 Apr 2012 20:14:39 GMT Subject: Re: [PATCH v2] clean: add --null option Message-ID: <7vehrntowg.fsf@alter.siamese.dyndns.org> In-Reply-To: <1334480962-18778-1-git-send-email-rosslagerwall@gmail.com> Ross Lagerwall writes: > Add a --null (-z) option to git-clean which prints out the files > and directories separated with a NUL character rather than '\n'. > This makes it useful in conjunction with xargs -0. Hrm, I do not like this at all. The parameters to print_path() are all _("l10n-ready string"). Isn't it a clue already that they are not meant for machine consumption? Why are we moving to cast the output from an end-user facing Porcelain command in stone? I suspect that older days "git clean" was a scripted Porcelain around a plumbing (perhaps ls-files?---I didn't bother digging its history as I do not care too deeply about "git clean" which I do not use myself). If we have piled so many features into "git clean" after the rewrite-to-C to make it impossible to express what "git clean" _would_ do in terms of "ls-files", perhaps that is what needs to be fixed, so that we can express "git clean --some-set-of-options" as: git ls-files -z --set-of-options-equivalent-to-what-is-given-to-clean | xargs -0 rm -fr