Ответ 1
Я использовал прокси-подход, чтобы сделать python script работать под окнами (с msysgit). Полный script (с описанием о том, как я это сделал) можно найти здесь: https://gist.github.com/1839424
Вот важная часть о том, как заставить ее работать под Windows
Если вы работаете с Windows (и msysgit), это немного сложнее. Поскольку "msysgit", похоже, имеет проблемы с обработкой SHEBANG, вам придется использовать небольшой трюк, чтобы сделать script исполняемый файл (дополнительную информацию по этой проблеме можно найти здесь).
Чтобы сделать работу script, вы хотите удалить SHEBANG из Python script ( "pre-commit.py" ) и использовать обертку bash - script для вызова переводчик. Этот script должен выглядеть примерно так:
#!/bin/sh
python .git/hooks/pre-commit.py
Сохраните этот script как файл с именем pre-commit (без окончания файла). Это предполагает, что у вас есть Python в PATH. Если вы этого не сделаете, вы также можете указать полный путь к исполняемому интерпретатору.
Этот script будет вызван "git commit" и вызовет python- script для проверки огромных файлов. Путь после SHEBANG не должен изменяться, так как msysgit автоматически перенастроит его. Вы должны указать путь относительно репо-корня для выполняемого Python script (потому что тот, откуда вызывается script).
Затем вы захотите скопировать оба файла-обертки ( "pre-commit" ) и Python- script ( "pre-commit.py" ) в ваш репозиторий ".git/hooks" -каталог, персонализировать Python- script ( "max_file_size" и "git_binary_path" ) и пометить исполняемый файл "pre-commit" -file.