[Mercurial] Автоматически отслеживать изменения файла по всем веткам?
Добрый день.
В проекте имеется несколько CSS-файлов, структуру которых надо бы реорганизовать. Но проблема в том, что файлы эти постоянно редактируются, дополняются и т.д. Т.е. попытки поменять структуру файла только добавят хаоса.
Насколько я понимаю, решение в том, чтобы создать отдельную ветку и в ней работать только над «причёсыванием» файла, постоянно подливая изменения из других веток (в какой-то момент у нас будет актуальная и «аккуратная» версия файла, которую потом можно будет целиком забрать в другие ветки).
Вопрос лишь в том — как отслеживать изменения, происходящие с файлом в других ветках? Возможно ли это реализовать и если можно, то как?
Можно повесить хук. Например, если у вас есть какой-то центральный репозиторий, — повесить на его incoming. В хуке просмотреть изменения ревизии и найдя нужный файл как-то отметить его векту и изменение. Каждый раз, когда кто-то будет заливать что-нибудь в центральный репозиторий, хук будет срабатывать.
Спасибо. Увы, доступа к центральному репозиторию у меня нет и вряд ли будет, так что интересует локальное решение. Но самое главное, что возможность есть.
По идее, incoming должен срабатывать и при пуле. Я только не очень знаю, как получить полный список изменений по номеру ревизии. В SVN для этого используется svnlook, но тут прямого аналога нет.
Если доступа к центральному репозиторию нет, можно создать клон репозитория и повесить хук на incoming. При выполнении комманды pull хук incoming тоже срабатывает.