It's not difficult to make the testing library work for zsh, so I did that in the first patch. The rest of the patches are basically to deal with some variables that are special in zsh, workaround a bug, and a minor discrepancy. Felipe Contreras (6): test: fix build for zsh test: avoid `stat` variable test: avoid `options` variable test: avoid `path` variable test: hack for zsh mergetools: vimdiff: check for empty fields mergetools/vimdiff | 4 +-- t/annotate-tests.sh | 10 +++---- t/lib-bash.sh | 2 +- t/t0001-init.sh | 4 +-- t/t0003-attributes.sh | 16 +++++------ t/t1450-fsck.sh | 16 +++++------ t/t3305-notes-fanout.sh | 12 ++++---- t/t3432-rebase-fast-forward.sh | 4 +-- t/t4013-diff-various.sh | 6 ++-- t/t4046-diff-unmerged.sh | 49 ++++++++++++++++---------------- t/t4051-diff-function-context.sh | 4 +-- t/t5329-pack-objects-cruft.sh | 8 +++--- t/t5512-ls-remote.sh | 4 +-- t/t5516-fetch-push.sh | 8 +++--- t/t9300-fast-import.sh | 4 +-- t/test-lib.sh | 24 ++++++++++------ 16 files changed, 92 insertions(+), 83 deletions(-) -- 2.39.2.13.g1fb56cf030