2010-07-08 27 views
5

Ho clonato le fonti di un progetto usando Git, che viene convertito sul server da un repository SVN. Il problema con questo repository Git è che manca di tag, rami e alcune revisioni sono mancanti. Il numero di revisioni è enorme (~ 20000) per me per usare clone git-svn, e sarebbe uno spreco di larghezza di banda e tempo dato che ho già molti oggetti nel mio repository locale. A causa di questo, mi piacerebbe sapere:Usa git-svn con un repo esistente mancante .git/svn/

  • Come posso convertire il mio repository Git ad un repo git-svn per aggiornare direttamente dal repository SVN al posto del repo Git rotto.
  • Posso recuperare le revisioni mancanti senza dover clonare tutto?
  • È possibile scaricare tag con Git direttamente?
  • Questi rami saranno un problema in più?

risposta

8
  • Lasciando git-svn prendere in consegna il vostro clone è facile; basta eseguire git svn init con gli stessi argomenti utilizzati nel repository originale e quindi il tuo git svn fetch dovrebbe trovare i commit esistenti nel repository.

  • L'aggiunta di rami non può essere eseguita senza un serio intervento di repo: è necessario riscrivere gran parte della cronologia per includere le fusioni cross-branch.

  • Tirare le etichette è facile e credo che si possa fare dopo il clone di repo iniziale.

Problemi correlati