Git deposunu toplayıp başarısız
Git deposu sınırlı bellek ile bir sunucu üzerinde ikamet eden. Sunucu varolan bir depo clone çalıştığımda aşağıdaki hatayı alıyorum
hemi@ubuntu:$ git clone ssh://hemi@servername.dk/home/hemi/repos/articles
Initialized empty Git repository in /home/hemi/Skrivebord/articles/.git/
hemi@servername.dk's password:
remote: Counting objects: 666, done.
remote: warning: suboptimal pack - out of memory
remote: fatal: Out of memory, malloc failed
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
hemi@ubuntu:$
Özgün havuz (12* *göre) toplayıp denedim bu hatayı işlemek için. Ama depoyu toparlama nasıl kullanılacağını açıklar yerine "gıt pack-nesneler" komutu.
hemi@servername:~/repos/articles$ git repack -a -d --window-memory 10m --max-pack-size 100m
usage: git pack-objects [{ -q | --progress | --all-progress }]
[--all-progress-implied]
[--max-pack-size=N] [--local] [--incremental]
[--window=N] [--window-memory=N] [--depth=N]
[--no-reuse-delta] [--no-reuse-object] [--delta-base-offset]
[--threads=N] [--non-empty] [--revs [--unpacked | --all]*]
[--reflog] [--stdout | base-name] [--include-tag]
[--keep-unreachable | --unpack-unreachable
[<ref-list | <object-list]
Git 1.6.5.7 sunucu üzerinde yüklü.
CEVAP
Çözümünüz çalışan bir kopyasını yerel olarak ve uzaktan, ama uzaktan depoyu kendini tekrar toplayıp karar verdiğinde tekrar sorun neden olur. Neyse ki, config bellek miktarını hem depolarında aslında komut satırı yapmak için varsayılan seçenekleri içine eklediğiniz zaman bu parametreler -- toparlama toparlama ihtiyacı azaltacak seçeneklerini ayarlayabilirsiniz. Yani, uzak oturum, depo haline değiştirmek için yapmanız gereken:
git config pack.windowMemory 10m
git config pack.packSizeLimit 20m
Yerel deponuzu aynı yapmak isteyebilirsiniz. (Bu arada bu da sanırım sizin depo çok büyük ya da bu küçük bellek - bu değerler bana çok düşük gibi makineler için.)
Ne için toparlama konusunda malloc hataları alırken değerçokbüyük depoları geçmişte, ben de değişen değerleri core.packedgitwindowsize
, core.packedgitlimit
, core.deltacachesize
, pack.deltacachesize
, pack.window
ve pack.threads
ama göründüğü gibi ihtiyacın yok başka seçenek :)
Komut /Güncellemelerinden.app/İçerik/G...
SQL Server Yan yana w/ Yükleme SQL 200...
Nokogiri yükleme-libxml2 eksik başarıs...
::Selenyum WebDriver::Hata::Javascript...
ALTER DATABASE kilit başarısız oldu, ç...