2016-01-26 13 views
5

Ho un progetto per il quale non ho più accesso al repository git. Voglio metterlo in un nuovo repository (su Bitbucket), ma quando provo a git push -u origin --all ottengo ! [remote rejected] master -> master (shallow update not allowed) per tutti i rami.Come posso spingere un aggiornamento superficiale? Impostare receive.shallowUpdate sul telecomando?

Apparentemente c'è un'opzione di configurazione receive.shallowUpdate, ma come posso impostarla sul lato remoto?

La creazione di un clone non adeguato non è un'opzione, poiché non ho accesso al repository originale.

+1

Eventuali duplicati di [Convertire superficiale clone alla piena clone] (http://stackoverflow.com/questions/6802145/convert-shallow-clone-to-full-clone) – Whymarrh

+1

La risposta è quella di recuperare di nuovo usando 'git fetch --unshallow', per creare un clone non superficiale. Come ho già detto, non ho più accesso al repository, quindi non è un'opzione. – dhuyvetter

+0

Ah, quindi questo dovrebbe essere più simile a questo: http://stackoverflow.com/a/11381860/1267663 – Whymarrh

risposta

15

Questo messaggio di errore è stato introdotto in git 1.9.0 con commit 5dbd767 e il test mostra questo messaggio quando pushing commits with grafted root.

Se per impostazione predefinita il lato remoto (qui BitBucket) ha lasciato receive.shallowUpdate al valore predefinito (falso), è necessario contattare il relativo supporto.

Ma prima, provare e vedere se l'applicazione di un git filter-branch -- --all è sufficiente per trasformare il vostro repo in quella che si può spingere direttamente (perché non ci sarebbe nodi non più innesto)

+2

Grazie, ha fatto il trucco! – dhuyvetter

Problemi correlati