Вопрос

Мы одновременно работали над некоторыми файлами.Иногда, когда мы «включаемся», мы видим файлы с добавлением «^M» к каждой строке определенных файлов.Изначально мы обвиняли редакторов друг друга >_>.

С тех пор мы сузили это до «внимания» в случае возникновения конфликтов.Если мы изолируем конфликтующий файл и svn, символы «^M» не появятся.Никакие "^M" не появляются в журнале/разницах svn.Это совершенно странно, правда?

Надеялся, что кто-то видел это раньше и знает обходной путь.ИДК, это может быть невозможно воспроизвести на чужой установке.Мы используем Subversion 1.4.4, если это поможет.

Спасибо за чтение, и я ценю любые комментарии.

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

Решение

Со мной это происходит, когда:

  • Я использую Subversion в Windows
  • Я использую Вим

Когда Subversion добавляет маркеры конфликта (в Windows), она добавляет их с окончаниями строк CRLF, независимо от того, является ли остальная часть файла просто окончаниями строк LF.Когда я загружаю конфликтующий файл в Vim, он не может автоматически определить стиль окончания строки, поэтому предполагает только LF и показывает «^M» в конце каждой размеченной конфликтной строки.Я обязательно отредактирую все из них (чтобы в этом примере в моем файле были все окончания строк LF), прежде чем разрешать конфликт.

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

Может ли быть так, что инструмент слияния добавляет эти символы конца строки?

Еще одна вещь, которая может помочь, - это установка svn: eol-style для встроенных файлов в вашем проекте.

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