Как проверить, закодированы ли файлы, переданные в SVN, в UTF-8 с помощью хуков предварительной фиксации?
-
27-10-2019 - |
Вопрос
Я пытаюсь написать сценарий перехвата предварительной фиксации SVN в Linux Bash, который отклонит фиксацию, если файлы не могут быть проанализированы как UTF-8.
Пока что я написал этот скрипт:
родовое словоПроблема в том, что iconv требует путь к зафиксированным файлам (или текст в какой-либо другой форме), и я не знаю, как его получить.
Кто-нибудь может помочь?
Решение
Используйте svnlook cat
для получения содержимого файла из транзакции:
Другие советы
Кстати, в этом ответе есть проблема! Вам необходимо проверить результат команды $ SVNLOOK ($?), Потому что инструкция «exit 1» находится в дочернем процессе, поэтому сценарий никогда не блокирует фиксацию:
родовое словоНа основе сценария в исходном вопросе и этого ответа , вот ловушка перед фиксацией, которая помещает все этовместе:
родовое слово