Поведение Mercurial + MQ EOL - PullRequest
       39

Поведение Mercurial + MQ EOL

1 голос
/ 04 августа 2011

Я работаю с Mercurial + MQ, на Win + OSX, и проблемы с EOL убивают меня. Я активировал расширение EOL, добавил .hgeol, как показано ниже:

[patterns]
**.sln = CRLF
**.vcproj = CRLF
**.vcxproj = CRLF
**.vcproj.filters = CRLF
**.vcxproj.filters = CRLF
**autoexp.dat = CRLF
**Makefile = LF
** = native

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

Затем я перешел на Mac, предполагая, что он тоже будет работать, верно? Ну, неправильно. Когда я qpush первый патч (тот, который с файлом ".hgeol" + конец строки меняется), он работает, но я вижу набор "измененных" файлов (это те же самые файлы, которые я "исправил" в Windows, чтобы они больше не показывались как измененные!). Как бы то ни было, я пытаюсь "hg qrefresh", чтобы получить изменения строки (думая, что я выясню это позже) ... но не повезло: как, если я продолжу qpush мои другие патчи, я начну получать отклонения :(

Есть идеи, как это исправить / что это вызывает? Это сводит меня с ума ....

1 Ответ

0 голосов
/ 15 октября 2012

Давайте договоримся, что компиляторы знают, как работать с любым новым форматом строки и даже с миксом.Итак, мое предложение было бы:

  1. Оставьте файлы, специфичные для окон (.sln, .vcproj и т. Д.), Как вы уже сделали
  2. Убедитесь * 1008Текстовые редакторы * ALL (из всех ОС) согласуются с соглашением о новой строке SAME ONE .
  3. Конвертируйте все файлы, к которым вы прикасаетесь, в текстовые редакторы.соглашение о новой линии (с помощью инструмента, похожего на dos2unix)
  4. Подтвердите это изменение
  5. Все ваши существующие исправления также должны придерживаться того, что

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

После этого вы должны быть хорошими до тех пор, покаВы :

  1. делаете не редактируете одно и то же хранилище с разными несоответствующими редакторами
  2. не получаете доступ к одному репо через общий ресурсиз разных ОС и как-то использовать плохой редактор ...

Надеюсь, это поможет;)

С уважением.

...