On Mon, Sep 25, 2006 at 12:09:04PM +0400, Anton Farygin wrote: > Если кто-то знает, то пускай расскажет, каким образом можно > склонировать/счекаутить git репозитарий без истории изменений (например > - только последний коммит). > > Т.е. - вопрос, как скачивать сорцы определённых версий пакетов ? > > В Subversion есть для этого такая опция у checkout: -r. > Позволяет скачать всё начиная с определённого коммита. В Subversion используется совершенно другая модель репозитория - с централизованным сервером, где такой проблемы просто не возникает. > Как это сделать в GIT ? Иначе траффик по download'у исходников пакетов с > "нуля" будет колоссальный. В настоящий момент в git реализована только возможность получить с сервера tar-архив с файлами из произвольного дерева (git-tar-tree --remote=... на клиенте, git-upload-tar на сервере; в ветке для разработчиков уже переписано в виде git-archive --remote=... и git-upload-archive с целью поддержки других форматов архивов, добавлена поддержка формата zip). Правда, пользы от этого мало - средства для обновления такого архива путём получения только изменений отсутствуют, к тому же tar передаётся без сжатия (возможности докачки при обрыве соединения, естественно, тоже нет). Получить неполную копию репозитория, пригодную для разработки, в настоящий момент невозможно. Хотя разговоры о том, что поддержка shallow clone нужна, ведутся давно, пока никто даже не сделал нормального описания того, как это должно работать. Кроме того, если обсуждаемая в этой ветке возможность использования в .gear-rules ссылок на другие коммиты будет реализована, получится, что наличия только одного коммита и соответствующего дерева с blob-ами будет недостаточно для сборки пакета.