From: Eric Raymond Date: Fri, 09 Apr 2010 19:06:01 GMT Subject: More git status --porcelain lossage Message-ID: <20100409190601.47B37475FEF@snark.thyrsus.com> After I posted my last, I noticed another crash landing... A format properly designed for script parseability should use even use whitespace as a field separator. Why? Because if you do that, front ends *will* do field analysis using a naive split-on-whitespace operation. And then...someday...someone will try to run one of these of these on a volume from a system where filenames contain embedded whitespace. Like Mac OS X or Windows. Hilarity will ensue. Conclusion: As it is presently, git status --porcelain format is irretrievably botched. You need a field separator that's musch less likely to land in a filename, like '|' - and to warn in the documentation that careful front ends must check for and ignore '\|'. -- Eric S. Raymond The right of the citizens to keep and bear arms has justly been considered as the palladium of the liberties of a republic; since it offers a strong moral check against usurpation and arbitrary power of rulers; and will generally, even if these are successful in the first instance, enable the people to resist and triumph over them." -- Supreme Court Justice Joseph Story of the John Marshall Court