Подтвердить что ты не робот

Как мне исправить "svn: непоследовательный стиль окончания строки"?

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

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

4b9b3361

Ответ 1

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

Другой способ, который может быть проще, если у вас много строк в svn:ignore:

  • выберите значение svn: ignore в временный файл:

    svn propget svn:ignore . > temp

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

    svn propset svn:ignore -F temp .

Ответ 2

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

Ответ 3

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

  • Открыть файл в Notepad ++
  • Конвертировать строку, заканчивающуюся до Unix (меню Edit → EOL Conversion → Unix)
  • Сохранить
  • Преобразование окончаний строк в Windows (меню Правка → Конвертация EOL → Windows)
  • Сохранить

Сделал это.

Ответ 4

Выполнение

unix2dos [file]

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

Я получил эту ошибку, но в конечном итоге это был файл, в котором отсутствовал последний End-of-lie (неполная последняя строка).

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

Ответ 9

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

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

Ответ 10

Если вы получите его, выполняя propedit, то мне кажется, что SVN жалуется на формат текстового файла, который вы используете для свойств!

На какой ОС вы работаете? Какой редактор вы используете для propedit? Если команда propedit все еще запускает редактор, я бы использовал этот редактор, чтобы проверить, какие строки находятся там (vi делает это IIRC).

Ответ 11

Это беспокоило меня так долго, работая с несколькими системами с SVN. Я сделал это полезное приложение, которое перемещает папку с подпапками, ища текстовые файлы и преобразует все UNIX EOL в DOS EOL. Это приложение AIR, работает как на Windows, так и на Mac. надеюсь, что это поможет

http://www.pippoflash.com/index.php/2012/06/11/svn-error-inconsistent-line-ending-style-nightmare-solved-download-app/

Филиппо

Ответ 12

Для mac osx я получил эту ошибку для файла и должен был преобразовать ее с помощью dos2mac, а затем mac2unix. Как только я это сделал, он исправил проблему для жалоб строк.

Ответ 13

Проблема возникла для меня после того, как некоторые модификации в нескольких текстовых файлах были сделаны таким образом, что для разделения отдельных строк были добавлены только \n, тогда как обычно \r\n завершает каждую строку. Итак, исправить было использование Notepad ++ для найти ([^\r])\n и замените на $1\r\n. Таким образом, символы конца строки всегда были согласованы.

Ответ 14

Чтобы последовательно конвертировать Windows в конец строки UNIX, используя perl (1):

perl -p -i.bak -e 's#\r\n#\n#go' my-file.txt

Для преобразования из UNIX в Windows:

perl -p -i.bak -e 's#\n#\r\n#go' my-file.txt

Ответ 15

У меня была такая же проблема при запуске javadoc с помощью задачи ant на компьютере под управлением Windows.

Я исправил его, добавив <fixcrlf srcdir="${dir.javadoc}" eol="dos"/> ниже задачи javadoc ant.

Ответ 16

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

Ответ 17

Я получил то же сообщение об ошибке при попытке svn propset eol-style:native файла PHP в emacs, так что, надеюсь, это поможет кому-то, кто достигает этого вопроса.

У меня было что-то вроде следующего:

str_replace('</li>^M<br>', '</li>', $text);

Где ^M - единственный символ (escape-выход для возврата каретки).

Исправление состоит в том, чтобы изменить эту строку на эквивалент:

str_replace("</li>\r<br>", '</li>', $text);

Обратите внимание на двойные кавычки вместо одиночных кавычек!

Ответ 18

В моем случае произошла ошибка, потому что в файле была кодировка "UCS-2 LE BOM". Файлы с ANSI были в порядке. Я проверил окончания строки, во всех файлах они были правильными. Кажется, что (по крайней мере, в моей версии SVN) широкоформатные файлы char иногда не распознаются должным образом.

Самое простое решение - удалить свойство "svn: eol-style".

Ответ 19

В NetBeans вы можете использовать плагин Показать и изменить окончание строк.

После установки и перезапуска NetBeans стиль окончания строки отображается в правой части строки состояния. Вы можете щелкнуть его и выбрать окончание, в которое хотите преобразовать файл.

NetBeans Show and change line endings plugin

Ответ 20

Как указано выше в "Marius Matioc", было бы легко и быстро исправить 1.Открытый файл в Notepad++ 2. Меню редактирования → Преобразование EOL → Unix 3. Сохранение 4. Меню редактирования → Преобразование EOL → Windows 5. Сохранить