Насколько хорошо зависимость пробелов Python взаимодействует с системой управления версиями в отношении слияния?

StackOverflow https://stackoverflow.com/questions/119399

Вопрос

Мне интересно, оказывает ли необходимость изменить отступы кода для настройки вложенности какие-либо негативные последствия для слияния изменений в такой системе, как SVN.

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

Решение

Это работает нормально, если все участники проекта согласились использовать один и тот же стиль пробелов (пробелы или табуляции).

Но я видел случаи, когда разработчик преобразовывал весь файл из пробелов в табуляцию (думаю, в Eclipse это была функция, привязанная к Ctrl+Tab!), что делало обнаружение различий практически невозможным.

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

Я использовал Python с SVN и Mercurial, и у меня не было проблем со слиянием.

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

Обычно системы контроля версий по умолчанию объединяются построчно.Я обнаружил, что объединение кода Python ничем не отличается от объединения любого другого исходного кода с разумными отступами.Если один программист обертывает блок кода в if (с отступом всего блока), а другой программист что-то модифицирует внутри блока, то возникнет конфликт слияния.К счастью, конфликт в этом случае очень легко разрешить.

Если вы используете внешний инструмент слияния, ваш инструмент может поддерживать более подробные алгоритмы текстового слияния, которые автоматически учитывают описанный выше сценарий.

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