[devel] git-prune/git-repack costs

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вс Май 28 03:31:47 MSD 2006


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 - действительно очень ресурсоёмкая операция, но она нужна
> только в том случае, если в репозитории по каким-то причинам появились
> объекты, на которые нет ссылок.  Кроме того, необходимо, чтобы при
> выполнении git-prune никто не писал в репозиторий (иначе только что
> добавленные объекты могут быть удалены, поскольку в этот момент на них
> ещё нет ссылок).

git-repack -a -- тоже очень ресурсоёмкая операция, особенно на больших
файлах типа gcc-4.1.1-20060525.tar;  видимо, алгоритм реализован
неоптимально с точки зрения потребляемых ресурсов.

> Кроме того, если постоянно выполнять git-repack -a -d, нужно делать
> доступ через git daemon - нормально работать через http или rsync в
> таких условиях невозможно (при каждом git fetch всё будет скачиваться
> заново).

Это безусловно так.

Но с git-daemon (равно как и с git-shell) есть одна проблема:
$ grep -rw strcpy git-1.3.3 |wc -l
112
$ grep -rw sprintf git-1.3.3 |wc -l
129
Один только exec_cmd.c чего стоит...  Я в шоке.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060528/36098a87/attachment-0001.bin>


Подробная информация о списке рассылки Devel