On Sun, May 28, 2006 at 12:35:12PM +0400, Sergey Vlasov wrote: > On Sun, May 28, 2006 at 03:31:47AM +0400, Dmitry V. Levin wrote: > > On Sat, May 27, 2006 at 12:24:27PM +0400, Sergey Vlasov wrote: > > [...] > > > Вообще-то обычно делают git-repack -a -d && git-prune-packed. > > > > Я так понимаю, что если git-repack запускается с ключами -a -d, то > > git-prune-packed уже запускать незачем. > > Нет, git-prune-packed как раз нужен - git-repack -a -d удаляет только > старые pack-файлы, но не трогает неупакованные объекты, которые как > раз и занимают кучу места. Не знаю, может manpage и написан таким образом, но по факту по окончанию git-repack -a -d ни одного неупакованного объекта не остаётся. > > > git-prune - действительно очень ресурсоёмкая операция, но она нужна > > > только в том случае, если в репозитории по каким-то причинам появились > > > объекты, на которые нет ссылок. Кроме того, необходимо, чтобы при > > > выполнении git-prune никто не писал в репозиторий (иначе только что > > > добавленные объекты могут быть удалены, поскольку в этот момент на них > > > ещё нет ссылок). > > > > git-repack -a -- тоже очень ресурсоёмкая операция, особенно на больших > > файлах типа gcc-4.1.1-20060525.tar; видимо, алгоритм реализован > > неоптимально с точки зрения потребляемых ресурсов. > > Вообще этот алгоритм пытались править - сейчас в ветке master всё это > сильно переписано. Вот когда master превратится в maint, тогда я буду "всё это" тестировать. -- ldv