[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