Se non è possibile eseguire autonomamente lo git gc
, è necessario eseguirlo automaticamente. Allora non avresti il pieno controllo su di esso, ma dovresti almeno riuscire a farlo funzionare.
git gc --auto
viene eseguito da diversi comandi; quello rilevante qui è receive-pack, che viene eseguito sul telecomando per ricevere un pacchetto come parte di un push. gc --auto
esegue il repack solo quando ci sono abbastanza oggetti liberi; il cutoff è determinato dal parametro config gc.auto
e il valore predefinito è 6700.
Se si ha accesso al gitconfig del telecomando, è possibile impostare temporaneamente tale limite su 1. Ci dovrebbe essere sicuramente almeno 1 oggetto sciolto nel repository, in modo che dovrebbe causare gc --auto
a fare la sua cosa la prossima volta che si preme.
Se non si ha accesso al gitconfig del telecomando, tutto ciò che posso pensare è creare artificialmente un mucchio di oggetti liberi. È possibile farlo creando un ramo, impegnando una serie di piccoli file (con contenuto diverso), spingendo il ramo sul telecomando, quindi eliminando il ramo dal telecomando. (Importante per variare il contenuto, o useranno lo stesso blob.) Risciacqua e ripeti.
Avete accesso al gitconfig del telecomando? – Cascabel