On Wed, Oct 04, 2006 at 02:11:46AM +0400, Dmitry V. Levin wrote: [...] > > Похоже, проще оказывается складывать файлы с сохранённым содержимым > > тегов не под оригинальными именами, а с именем, соответствующим их > > sha1, и помещать имена в файл .gear-tags/list (иначе пришлось бы > > возиться с каталогами внутри .gear-tags). > > Если это будет не очень сложно, то можно сделать. Сделано: git.alt:/people/vsu/packages/gear.git vsu/gear-tags-dir Что сейчас в этом варианте можно делать в .gear-rules: - В директиве tar можно писать имя тега перед каталогом, в том числе с использованием подстановок: tar: @name@-@version@:. (добавлять ":.", если не нужно паковать только подкаталог, обязательно). На самом деле в этом поле обрабатывается даже @dir@. - Добавлена директива diff: diff: @name@-@version@:. . name=@name@-@version@-@release@.patch Можно указывать commit:path и во втором параметре. Также поддерживаются подстановки @old_dir@ и @new_dir@ (просто @dir@ убрано, поскольку непонятно, к какому из имён относится этот вариант). Значение name по умолчанию выбирается аналогично tar: - @new_dir@-@version@-@release@.patch - если @new_dir@ не '.'; - @name@-@version@-@release@.patch - если в @new_dir@ '.' (так что в приведённом выше примере на самом деле не обязательно писать name). Также поддерживается опция spec. Список имён заполняется утилитой gear-update-tag. Если имена соответствуют тегам, можно просто запустить gear-update-tag -ac (при желании добавить -v) - при этом будут автоматически определены используемые в .gear-rules имена, добавлены новые записи для них и удалены устаревшие. При необходимости можно обновлять теги и по одному.