W ciągu ostatnich kilku dni każde pchnięcie do naszego repozytorium git spowodowało automatyczne pakowanie na serwerze.Dlaczego git uruchamia automatyczne pakowanie po każdym naciśnięciu przycisku na naszym repo?
Wyjście na kliencie, gdy tak się dzieje:
~pdr git:master ❯❯❯ git push origin master
Counting objects: 44, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (26/26), done.
Writing objects: 100% (27/27), 4.67 KiB, done.
Total 27 (delta 14), reused 0 (delta 0)
Auto packing the repository for optimum performance.
Opakowanie dzieje się na serwerze, a ps pokazuje te polecenia git pracy:
git 23252 0.0 0.0 68520 552 ? S 15:21 0:00 sshd: [email protected]
git 23253 0.0 0.0 9660 540 ? Ss 15:21 0:00 git shell -c git-receive-pack 'repositories/pdr.git'
git 23254 0.0 0.0 16644 2136 ? S 15:21 0:00 git receive-pack repositories/pdr.git
git 23258 0.0 0.0 9660 624 ? S 15:21 0:00 git gc --auto --quiet
git 23261 0.0 0.0 9660 504 ? S 15:21 0:00 git repack -d -l -q -A
git 23262 0.0 0.0 4104 376 ? S 15:21 0:00 /bin/sh /usr/lib/git-core/git-repack -d -l -q -A
git 23275 267 92.2 9569724 3742468 ? Sl 15:21 23:07 git pack-objects --keep-true-parents --honor-pack-keep --non-empty --all --reflog --unpack-unreachable --local -q --delta-base-offset /home/git/repositories/pdr.git/objects/.tmp-23262-pack
mam uruchomić ręczne „git gc ", po którym następuje" git fsck "na serwerze. Brak komunikatów o błędach, ale po następnym uruchomieniu ponownie rozpoczęto automatyczne pakowanie.
To jest na serwerze z systemem Ubuntu Server 10.04 LTS z Git 1.7.0.4.
I recon pytanie to: "Dlaczego?" – drvdijk
możliwy duplikat [co oznacza "Automatyczne pakowanie repozytorium dla optymalnej średniej wydajności"?] (Http://stackoverflow.com/questions/8633981/what-does-auto-packing-the-pository-for-optimum-performance- mean) – drvdijk
Sprawdź http://stackoverflow.com/questions/7392155/why-does-git-run-git-gc-auto-on-every-merge. W rzeczywistości może to być jego duplikat. – patrickvacek