У нас есть определенный исходный файл (java) в нашем git-репо, который вызывает у нас проблемы с окончанием строки.
Все наши разработчики работают под Windows, в то время как наш сервер сборки работает под управлением Linux.Файл был проверен с CRLF в некоторый момент в прошлом.Недавно мы внедрили Spotless и google-java-format в наш процесс сборки, чтобы применить стиль кода, и он не удался при запуске на нашем сервере сборки.
Чтобы это исправить, я преобразовал окончания строк в LF на моем Windows-боксе и зафиксировалфайл.Теперь это прекрасно работает на нашем сервере сборки, но теперь каждый раз, когда мы проверяем файл в Windows, он проверяет с окончанием строки LF и не проходит проверку Spotless.
У меня есть core.autocrlf=true
в моем git config (какпроверено git config --list
).Каждый другой файл из того же репо, который я извлекаю, выходит как CRLF в Windows и правильно конвертируется обратно в LF в репо.Это только тот файл, который вызывает проблемы.Это влияет на всю нашу команду.
Я попытался снова удалить и проверить файл, даже удалив локальное хранилище и клонировав пульт с нуля - этот файл всегда отображается как LF в Windows.Я пробовал различные настройки в .gitattributes, такие как *.java text eol=lf
и запуск git add --renormalize
, но проблема с этим файлом сохраняется.Любые идеи, почему этот конкретный файл имеет эту проблему и как ее исправить?