From: Junio C Hamano Date: Tue, 08 May 2007 20:53:30 GMT Subject: Re: git-clean fails to remove a file whose name contains \\, ", or \n, TAB, etc. Message-ID: <7vbqgv2g1h.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <86k5vj9gzu.fsf@blue.stonehenge.com> merlyn@stonehenge.com (Randal L. Schwartz) writes: >>>>>> "Jim" == Jim Meyering 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 ;-).