мерзавец svn окна пробельные проблемы Linux

Я использую мерзавца (с мерзавцем-svn) на Linux, и коллега использует svn на окнах.

Так много раз мерзавец сообщает о пробельных проблемах. На самом деле это не удается фиксировать линейную историю из-за этих проблем и создает конфликты слияния.

Что самый простой путь состоит в том, чтобы настроить svn/git и мерзавца-svn на окнах и Linux так, чтобы были теперь пробельные проблемы?

Следующее является конфликтом слияния, о котором сообщают в линейной истории на ведущем устройстве:

error: patch failed: frontend/templates/frontend/base.html:38
error: frontend/templates/frontend/base.html: patch does not apply
error: patch failed: frontend/templates/frontend/footer.html:1
error: frontend/templates/frontend/footer.html: patch does not apply
error: patch failed: frontend/templates/frontend/index.html:1
error: frontend/templates/frontend/index.html: patch does not apply
Using index info to reconstruct a base tree...
<stdin>:15: trailing whitespace.

<stdin>:20: trailing whitespace.
          <a href="{% url frontend_index %}">
<stdin>:22: trailing whitespace.
          </a>
<stdin>:24: trailing whitespace.
        <span class="companyname">
<stdin>:25: trailing whitespace.
          <a href="{% url frontend_index %}">
warning: squelched 74 whitespace errors
warning: 79 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging frontend/templates/frontend/base.html
CONFLICT (content): Merge conflict in frontend/templates/frontend/base.html
Auto-merging frontend/templates/frontend/index.html
CONFLICT (content): Merge conflict in frontend/templates/frontend/index.html
Failed to merge in the changes.
Patch failed at 0001 template changes

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".

Как я решаю пробельные проблемы?

5
задан Philip Kirkbride 19 December 2016 в 17:35
поделиться

1 ответ

Исправление ошибок пробелов

Добавьте это в .gitconfig

[core]
  whitespace=nowarn

git rebase теперь должен работать. (При желании вы можете добавить некоторые из fix, -indent-with-non-tab, trailing-space к этому, чтобы git исправлял все пробелы при каждой фиксации. Хорошая ли это идея, зависит от правил вашего проекта и команда.)

Исправление ошибок eol

[core]
  autocrlf = true

в вашем .gitconfig . Это заставит каждый текстовый файл иметь окончание строки окна. svn по умолчанию игнорирует окончания строк, и если ваши текстовые редакторы в Windows работают нормально, вы можете оставить это так. В противном случае добавьте этот файл в конфигурацию svn (при желании изменив native на CRLF ), чтобы обеспечить согласованность окончаний строк CRLF.

Установите autocrlf = input и измените native на LF , чтобы строки linux всегда заканчивались последовательно.

11
ответ дан 13 December 2019 в 19:26
поделиться