Fix hooks that apply non-utf8 diffs

This commit is contained in:
Anthony Sottile 2015-11-13 10:08:37 -08:00
parent a7e66abfdd
commit 4b2f83d11e
2 changed files with 4 additions and 3 deletions

View file

@ -85,9 +85,9 @@ def _run_single_hook(hook, repo, args, write, skips=frozenset()):
write(get_hook_message(_hook_msg_start(hook, args.verbose), end_len=6))
sys.stdout.flush()
diff_before = cmd_output('git', 'diff', retcode=None)
diff_before = cmd_output('git', 'diff', retcode=None, encoding=None)
retcode, stdout, stderr = repo.run_hook(hook, filenames)
diff_after = cmd_output('git', 'diff', retcode=None)
diff_after = cmd_output('git', 'diff', retcode=None, encoding=None)
# If the hook makes changes, fail the commit
if diff_before != diff_after:

View file

@ -1,6 +1,7 @@
#!/usr/bin/env bash
for f in $@; do
echo modified > "$f"
# Non UTF-8 bytes
echo -e '\x01\x97' > "$f"
echo "Modified: $f!"
done