Mercurial Условные% включают? - PullRequest
       12

Mercurial Условные% включают?

3 голосов
/ 11 февраля 2011

Я бы хотел, чтобы родительские каталоги проектов включали hgrc-файл, от которого наследуется репо в этой папке, например,

~/work/
~/work/hgrc
~/work/project1/
~/work/project2/
~/personal/hgrc
~/personal/project1
~/personal/project2
~/personal/project3

Любой работающий проект должен наследоваться от work/hgrc, а любой персональный - от personal/hgrc. Я думал о добавлении сценария к ~/.hgrc, который при клонировании будет искать любые файлы hgrc в родительских каталогах и %include их, если они существуют, но у меня есть уродство, что если я добавлю hgrc под ним после клонирования не будет включен Только 5% времени, но все же ...

Ответы [ 2 ]

3 голосов
/ 11 февраля 2011

Как насчет сдачи:

%include ../hgrc

внутри каждого репо .hg / hgrc? Вы даже можете сделать это автоматически, но поместите это в вашу систему /etc/mercurial/hgrc:

[hooks]
post-clone = echo '%include ../hgrc' >> .hg/hgrc

Я не проверял этот крючок. :)

0 голосов
/ 13 июня 2014

Следуя предложению @ Ry4an, вот пример, который работает для меня. Я добавляю это в мой ~/.hgrc файл, чтобы он работал везде.

[hooks]
# This hook adds "%include ../.hgrc" to .hg/hgrc if the .hgrc file exists in
# the top level.  This allows one to store a set of paths for example.
# See 
update = if [ -e .hgrc ] && touch .hg/hgrc                                  \
                         && ! grep -q '%include \.\./\.hgrc' .hg/hgrc; then \
           echo '%include ../.hgrc' >> .hg/hgrc;                            \
         fi

Этот хук добавляет строку %include ../.hgrc в файл .hg/hgrc, если файл .hgrc существует на верхнем уровне репо. Обратите внимание, что с помощью перехвата update мы обходим проблему с перехватом клона с post-clone необходимости выяснить имя каталога целевого клона из переменных среды.

...