четверг, 18 февраля 2010 г.

Использование плагина bzr-pipeline для "вечных" локальных правок

Иван Сагалаев описал один из вариантов работы с плагином bzr-pipeline. Иван пишет:
...хочу поделиться bzr-специфичным решением одной практической ситуации, возникающей при групповой работе над проектом.
Работая над общим кодом на локальной машине, иногда бывает нужно делать в нём строго локальные правки: пути к файлам, адреса серверов, отладочное логирование. При этом эти правки никогда не должны попадать в основной бранч проекта.
Часть из них можно и нужно вынести в отдельные локальные конфигурационные файлы, которые просто заигнорировать. Но вот с упомянутым отладочным логированием так не получится — это произвольный код, временно раскиданный по файлам. Ещё один пример такой правки — полное вырезание куска кода, который не критичен для работы, но не даёт проекту завестись с локальном окружении.
В bzr для этой проблемы мне известны два решения: одно прямое, другое — более удобное, с помощью плагина bzr-pipeline. Беда только в том, что в его документации описан несколько другой юзкейс, и я с первого раза вообще не понял, как оно мне поможет. Потом разобрался и решил восполнить пробел.
Читать целиком: http://softwaremaniacs.org/blog/2010/02/18/local-patches-in-bzr-pipeline

2 комментария:

  1. Проблема несколько надумана. Для себя я так не придумал, для чего мне может быть нужно держать перманентные локальные фичи, которые я не хочу сливать на сервер. Если это пятиминутное что-то, что я не хочу коммитить, то в git для этого есть индекс. Позволяет изолировать то, что не надо коммитить. Но это все крайне временно. И если я это "случайно забыл и стер", то это точный признак порочности самого подхода.

    А если тут что-то долгоиграющее, то лучше логически так организовать файлы, чтобы не было потебности в такой фиче. Если, как пишет автор, таких локальных модифицированных бранчей еще и несколько... Итак проблем предостаточно, а тут еще и это -- помнить, где тут у тебя локальные фичи.

    Не стал писать камент к самой статье, ибо там уже все высказали, поэтому написал тут ;-).

    А вот если серьезно -- я последнее время вообще затруднюсь ответить, смогу ли я лично серьезно (= комфортно) работать в DVCS, где нет индекса и возможность БЕЗ каких-либо следов подправить последние два три коммита. Сделал коммит и понял, что забыл добавить файл или ошибся в комментарии. В разы удобнее исправить без следов, чем засорять историю. Понятно, что когда коммит уже слит на сервер, то крайне порочно править локальную историю, но пока нет -- зачем себя ограничивать.

    Сразу скажу -- мнение личное, и не обязательно верное ;-).

    ОтветитьУдалить
  2. Александр, при чем тут индекс? Каждый имеет право на свое мнение конечно, но как это странно.

    ОтветитьУдалить