2009-10-17 14 views
8

Ho iniziato a monitorare un repository svn con git clonando solo la sua directory principale. Ora voglio tenere traccia delle altre cose, ma non voglio doverlo clonare di nuovo solo per usare --stdlayout poiché richiede molto tempo per il download e ho già la maggior parte del codice a livello locale. Come posso modificare il layout del repository in modo che corrisponda allo schema svn trunk/branches/tags senza dover clonare di nuovo?Avvia il rilevamento di rami/tag su un repository git-svn che stava tracciando solo trunk

risposta

9

Vecchio .git/config:

 
[svn-remote "svn"] 
     url = svn://host/project/trunk 
     fetch = :refs/remotes/git-svn 

Nuovo .git/config:

 
[svn-remote "svn"] 
     url = svn://host/project 
     fetch = trunk:refs/remotes/git-svn 
     branches = branches/*:refs/remotes/* 
     tags = tags/*:refs/remotes/tags/* 

Ora gestiscono git svn reset -r1 -p; git svn fetch; git svn rebase.

No, non è molto diverso dal fare un nuovo git svn clone - aggiungendo rami significa che git possono vedere altre unioni che significa che il contenuto di git sta inseguendo è cambiato in modo git-svn deve rigenerare tutto.

+0

Lasciatemi aggiungere che 'git svn reset' avrà esito negativo a meno che la versione specificata non faccia parte del progetto. Sto menzionando questo come in alcune versioni precedenti il ​​comando emetterebbe messaggi di errore non chiari. – UncleZeiv

Problemi correlati