Как проверить, закодированы ли файлы, переданные в SVN, в UTF-8 с помощью хуков предварительной фиксации?

StackOverflow https://stackoverflow.com/questions/8354957

Вопрос

Я пытаюсь написать сценарий перехвата предварительной фиксации SVN в Linux Bash, который отклонит фиксацию, если файлы не могут быть проанализированы как UTF-8.

Пока что я написал этот скрипт:

родовое слово

Проблема в том, что iconv требует путь к зафиксированным файлам (или текст в какой-либо другой форме), и я не знаю, как его получить.

Кто-нибудь может помочь?

Это было полезно?

Решение

Используйте svnlook cat для получения содержимого файла из транзакции:

родовое слово

Другие советы

Кстати, в этом ответе есть проблема! Вам необходимо проверить результат команды $ SVNLOOK ($?), Потому что инструкция «exit 1» находится в дочернем процессе, поэтому сценарий никогда не блокирует фиксацию:

родовое слово

На основе сценария в исходном вопросе и этого ответа , вот ловушка перед фиксацией, которая помещает все этовместе:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top