SVN Update добавляет ^ M при конфликтах? - PullRequest
3 голосов
/ 10 сентября 2009

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 10 сентября 2009

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

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

2 голосов
/ 10 сентября 2009

Это случается со мной, когда:

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

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

...