28.12.2011 21:28, Dmitry V. Levin пишет: > Hi, > > On Wed, Dec 28, 2011 at 12:51:34AM +0400, Aleksey Avdeev wrote: >> Здравствуйте. >> >> Представляю утилиту gear-restore-tags (см. >> ), >> выполняющую восстановление тегов и бранчей сохранённых с помощью >> gear-store-tags. > > У консерваторов есть вопросы: > - почему бы не написать о вышеупомянутом назначении утилиты в документации? > сейчас --help выводит то же самое что и gear-store-tags --help; Ляп. Поправлю. > - зачем нужно вытаскивать тэги с бранчами, сохраненные с помощью > gear-store-tags, из .gear/tags в $GIT_DIR? Для перевода содержимого .gear/tags в традиционный вид, с целью упрощения: 1) написания cronbuild скриптов; 2) втягивания изменений сделанных роботом; 3) подхвата пакета другим разработчиком. Между .gear/tags и $GIT_DIR есть принципиальная разница: .gear/tags заточено на повторяемость сборки из заданного коммита (это контейнер, фиксирующий состояние репозитория в сборочном коммите). $GIT_DIR -- то, с чем все пользователи git обычно работают. И весь инструментарий git заточен именно на $GIT_DIR. Соответсвенно, чтобы робот или человек могли использовать весь инструментарий git в полном объёме -- необходимо обеспечить наличие обрабатываемых тегов и бранчей в $GIT_DIR. Нет, разумеется в git все операции можно выполнить используя вместо бранчей и тегов соответствующие им хеши... Но тогда описания автоматически сделанных коммитов (при мержах, например) приобретут ещё менее человекочитабельный вид (т. к. вместо имён бранчей и/или тегов будут указаны хеши) => для возврата человекочитабельности потребуется в скриптах применять дополнительные усилия. Повторюсь: сейчас у нас есть средство запаковки значимого (для сборки) состояния в репозитория в сборочный коммит. Мне же (для нормальной работы) нужно ещё и средство средство выполняющее обратную операцию -- распаковка состояния репозитория запакованного ранее. Собственно его, в виде gear-restore-tags, я и нарисовал. -- С уважением. Алексей.