On Mon, Sep 25, 2006 at 10:06:17PM +0400, Sergey Vlasov wrote: > On Sun, Sep 24, 2006 at 11:14:10PM +0400, Sergey Vlasov wrote: > > On Sat, Sep 23, 2006 at 07:54:46PM +0400, Dmitry V. Levin wrote: > > > По моему, идея выглядит вполне живой. > > > > Не вполне доделанная реализация выложена в > > git.alt:vsu/packages/gear.git в бранч vsu/gear-tags; сейчас это > > годится только для того, чтобы обругать. Средства для обновления > > .gear-tags, кроме /dev/hands, пока отсутствуют. > > Без описания никто даже смотреть не хочет? Я посмотрел код, мне в целом понравилось, тестировать не пробовал. > Поддержки комментариев сейчас нет (и нужна ли она там?). Вряд ли. > - Допустимость значений SHA1, указанных в файле тегов, сейчас > проверяется по мере их использования; в принципе можно сделать и > принудительную проверку всех SHA1 при обнаружении файла тегов. Можно, но вряд ли нужно. > gear-update-tag [-r RULES] TAG [VALUE] > > В текущем каталоге ищется файл RULES (либо .gear-rules), по > содержимому файла определяется имя файла тегов (либо используется > файл .gear-tags). В файл тегов добавляется новая запись (либо > заменяется существующая) с именем TAG и значением SHA1, > соответствующее коммиту VALUE (либо коммиту, на который указывает > TAG в текущем репозитории). > > gear-update-tag [-r RULES] --all > > Для всех тегов, использующихся в файле правил, в файл тегов > добавляются записи, соответствующие текущему состоянию тегов в > репозитории. > > gear-update-tag [-r RULES] --clean > > Из файла тегов удаляются записи, не используемые в файле правил. > > Во всех вариантах вызова gear-update-tag будут использоваться файлы из > рабочей копии, а не из репозитория. Вероятно, при проверке > допустимости использования коммитов, помимо HEAD, стоит заглядывать и > в $GIT_DIR/MERGE_HEAD (на случай, если кто-то решил совместить merge с > обновлением файла тегов). Логично. > (Кстати, сейчас gear --commit портит MERGE_HEAD - можно попробовать > этого избежать, если вместо git-commit использовать напрямую > git-update-index, git-write-tree, git-commit-tree.) Я вообще не знаю, зачем у меня выпрашивали gear --commit, когда существует git-commit --amend. -- ldv