zsh-users/zaw — pull request #10 by hchbaw (2012-11-26 15:01:29+00:00)
Title: use -z flag to git ls-files for multibyte pathnames

`git ls-files` escapes multibyte name string without `-z` option.
http://git.kernel.org/?p=git/git.git;a=blob;f=Documentation/git-ls-files.txt;hb=v1.8.0.1#l173
For example:
````
% mkdir /tmp/testzaw
% cd /tmp/testzaw
% git init
% touch a あ
% git add -A; git commit -m wip
;# then M-x zaw-git-files shows below (in my environment)
filter:
a
"\\343\\201\\202"
[1/2]
````
`あ` is mangled such that `"\\343\\201\\202"`.
Please don't say "Do not use multibyte pathnames with git version control" :)

I use the `:|` operator to get the effect of `uniq -u` which have been introduced at zsh-5eb53bf.
````
% git tag -l --contains=5eb53bf ;# zsh.git.sourceforge.net clone
zsh-4.3.17-test-2
zsh-5.0.0
````
It's a fairly new feature though.
Because I can't implement portable way with/without `:|` operator efficiently,
instead I introduce `git-files-legacy` for this compatibility and performance reasons.

Hope I did not accidentaly break anything.

Please take a look for some time.