Mercurial: блок фиксирует, если подпорки грязные? - PullRequest
4 голосов
/ 19 января 2011

Есть ли какой-нибудь простой способ предотвратить коммиты в хранилище, если в нем есть грязные подпункты?

Это действительно раздражает, когда подпредприятие случайно фиксируется вместе с родительским репозиторием.

Ответы [ 2 ]

1 голос
/ 19 января 2011

Я не знаю, где приземлится ваша линия для simple , но вы могли бы сделать крючок следующим образом:

for subrepo in $(find $(hg root) -type d -name .hg) ; do
  if [ "$(hg --repository ${subrepo$$.hg} status -mard)" != "" ] ; then
    echo Uncommitted subrepo changes in ${subrepo%%.hg}
    exit 1
  fi
done

Сохраните что-то вроде ~/bin/dirtysubrepos, а затем добавьте это к своему ~/.hgrc:

[hooks]
precommit.dirtysuprepos = ~/bin/dirtysubrepos

Отказ от ответственности: Этот код никогда не вводился нигде, кроме этого текстового поля, поэтому он почти наверняка имеет синтаксические ошибки.

0 голосов
/ 01 февраля 2011

Я не могу прокомментировать ответ Ry4an по какой-то причине (нет ссылки «Добавить комментарий», по которой я могу щелкнуть), но в его ответе есть небольшая опечатка: есть ${subrepo$$.hg}, который должен быть ${subrepo%%.hg}.

...