Вкладки к пробелам + GIT - PullRequest
       1

Вкладки к пробелам + GIT

3 голосов
/ 11 ноября 2011

Я работаю над проектом с несколькими другими разработчиками.Не все используют одну и ту же среду.Недавно я понял, что некоторые части кода имеют отступы, а некоторые - пробелы.Все выглядит нормально, когда для отображения кода используется табуляция = 4 пробела, но с другими настройками это очень запутано.

Мы используем git в качестве VCS.Есть ли способ переформатировать весь код в репозитории, зафиксировать эти изменения И сохранить "информацию о вине" каким-либо образом?

Ответы [ 3 ]

4 голосов
/ 11 ноября 2011

Нет, это невозможно без переписывания истории.

Самое простое и удобное для разработчиков решение (которое не будет сохранять информацию о вине) - это исправление всех проблем с пробелами в одном коммите и затем настройка git наотклонить коммиты, добавив смешанные пробелы.

Если переписывание истории не является проблемой для вас (например, потому что вы можете попросить всех разработчиков выбросить свои локальные ветки и получить переписанные ветки), вы, вероятно, можете использовать git filter-branch дляисправить пробелы во всех коммитах.Это не будет новым коммитом и, следовательно, гарантирует, что git blame показывает правильную информацию после изменения.

3 голосов
/ 11 ноября 2011

Вы можете написать свой собственный скрипт, который заменяет вкладки желаемым количеством пробелов (4 в вашем случае), и поместите его в .git/hooks/pre-commit.

0 голосов
/ 11 ноября 2011

Простой bash-скрипт может заменить каждую вкладку на 4 пробела, но вам придется использовать ее перед каждым коммитом ...

Или посмотрите на настройки дифференциала, чтобы использовать табуляцию вместо пробелов.Я знаю, что Emacs может сделать это.;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...