Re: git-clean fails to remove a file whose name contains \\, ", or \n, TAB, etc.
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 8, 2007, 20:53 UTC
- Message-ID
- <7vbqgv2g1h.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <86k5vj9gzu.fsf@blue.stonehenge.com>
merlyn@stonehenge.com (Randal L. Schwartz) writes:
Show 15 quoted lines
>>>>>> "Jim" == Jim Meyering <jim@meyering.net> writes:
>
> Jim> Not that it matters (or maybe this is a feature :-), because people
> Jim> who create such files in their working directory deserve what they
> Jim> get, Eh? :-)
>
> The problem is the newline in the string, since
>
> git-ls-files --others --directory $excl ${excl_info:+"$excl_info"} -- "$@" |
> while read -r file; do
>
> is using newline as a delimiter. Any file with a newline would mess this up.
>
> Not being a shell programming expert, is there a way we could use -z and xargs
> -0 here instead?Funny that we had this discussed on this list a few days ago ;-).