Как мне исправить "svn: Несоответствующий стиль окончания строки"? - PullRequest
37 голосов
/ 27 мая 2009

Когда я запускаю «svn propedit svn: ignore». в корне моего хранилища SVN я получаю эту ошибку: svn: несовместимый стиль окончания строки

Я попытался запустить этот скрипт: http://blog.eflow.org/archives/130, который запускает dos2unix и устанавливает стиль eol для всех файлов, однако эта проблема все еще сохраняется. Есть идеи, что может быть не так?

Ответы [ 20 ]

40 голосов
/ 02 ноября 2011

В моем случае для файла было установлено свойство svn:eol-style. И «некоторые строки файла были разделены окончаниями строк UNIX (символ LF), тогда как другие были разделены окончаниями строк в стиле DOS (символы CR + LF)». Здесь - еще одно подробное обсуждение этой проблемы.
"Edit"->"EOL Conversion"->"Windows format" в Блокнот ++ решил проблему для меня.

25 голосов
/ 05 декабря 2014

В моем случае я редактировал в Windows. Исправить:

  1. Открыть файл в блокноте ++
  2. Конвертировать конец строки в Unix (меню Правка -> Преобразование EOL -> Unix)
  3. Сохранить
  4. Преобразование концов строк в Windows (меню «Правка» -> «Преобразование EOL» -> Windows)
  5. Сохранить

Это сделал это.

17 голосов
/ 28 мая 2009

Subversion не жалуется на содержимое какого-либо файла, а на содержимое свойства svn: ignore. Один из способов исправить это - просто удалить свойство svn:ignore с помощью svn propdel и создать его заново.

Еще один способ, который может быть проще, если в вашем svn:ignore:

много строк
  1. получить значение svn: игнорировать в временный файл вроде этого:

    svn propget svn:ignore . > temp

  2. исправить окончания строк в temp файл
  3. установить значение svn: игнорировать из фиксированного файла, как это:

    svn propset svn:ignore -F temp .

8 голосов
/ 13 июля 2010

Бег

unix2dos [file]

через cygwin исправили это для меня.

4 голосов
/ 27 января 2010

Моя проблема заключалась в том, что я получал это в Visual Studio.NET. Чтобы исправить это, я скопировал весь текст файла в блокнот и сохранил его из Блокнота в «xxx.aspx» или как угодно с правильным именем файла. Затем в Visual Studio мне было предложено перезагрузить измененный файл, и вуаля - диалоговое окно, спрашивающее меня, хочу ли я нормализовать окончания строк. Проблема решена.

3 голосов
/ 06 июня 2012

Если это происходит только с одним или двумя файлами, вы также можете открыть файл, скопировать и вставить содержимое в новый файл (с помощью обычного текстового редактора) и сохранить его. Затем этот файл можно добавить (переименовать или переместить, чтобы сделать его правильным именем).

1 голос
/ 19 марта 2010

vi не показывал мне плохую строку, поэтому я удалил конец строки из раздела комментариев, прочитал их (до конца) и сохранил файл. это сработало после этого.

ПРИМЕЧАНИЕ. Сделайте резервную копию файла revprop перед его настройкой. если ты перевернешь его, нет пути назад

1 голос
/ 09 декабря 2009

Я получил эту ошибку, но в итоге файл оказался без последнего конца лжи (неполной последней строки).

Исправьте это, открыв файл в VI и сохранив его, решив это.

1 голос
/ 27 мая 2009

Сценарий определенно затрагивал каждый текстовый файл (при условии, что у вас установлен dos2unix, иначе это было бы почему ...)?

Еще одна вещь, о которой я могу подумать, это проверить, правильно ли установлен тип mime для всех файлов (у вас нет двоичного файла, который каким-то образом помечен как проверенный текстовый файл, случайно?).

Тем не менее, если вы находитесь в среде с несколькими ОС, я считаю, что не стоит устанавливать svn: eol-style в CRLF, как описано в посте выше , если вы делитесь и редактируете текстовые файлы между ОС. Потому что, если вы сделаете это таким образом, файлы, которые выглядят нормально в Windows, усеяны управляющими символами в Unix. Лучше использовать «родной» стиль EOL.

0 голосов
/ 09 января 2015

У меня была такая же проблема в архиве, которая работала задолго до этого. В notepad ++ я выбрал формат конвертации в UTF-8. Это сработало для меня.

...