2012-01-08 13 views
5

Mi è stato richiesto un progetto scolastico per inviare il mio lavoro spingendolo a un repository SVN esistente. È un repository esistente con alcuni file già presenti. Non ho bisogno di questi file o dei commit precedenti.Invio di un repository git esistente a un repository SVN esistente

Ho lavorato al mio incarico con un repository git sul mio. Vorrei spingere il mio lavoro nel repository SVN senza perdere alcuna cronologia. Come posso fare questo?

+0

Puoi spiegare la storia un po 'di più? Hai usato 'git svn clone' per clonare da SVN? – fge

+0

No non ancora. Non sono sicuro se questo è il modo corretto per affrontare questo problema. Finora non ho fatto nulla per sistemarlo. Tutte le guide che vedo presuppongono un repo SVN nuovo/nuovo. –

+0

Questo è un modo, e sei sicuro di non perdere la cronologia. Ma c'è ancora molto da sapere: il tuo git iniziale importa una copia del repository SVN ad un certo punto? Hai detto che hai lavorato su un repository git locale, come hai fatto a far funzionare i file? – fge

risposta

6

vorrei fare un mix. Cioè, prima clonare lo svn con git svn. Quindi, in questo nuovo repository, fai il tuo lavoro dal tuo attuale repository git, merge.

$ git svn clone http://svn.example.com/project/trunk 
$ cd trunk 
$ git checkout -b mywork 
$ git pull /path/to/current/work/repository/.git master 

Ora avete il vostro lavoro nel ramo mywork nel clone da Subversion. È tempo di unire e spingere.

$ git checkout master 
$ git merge mywork 
$ git svn dcommit 

Divertiti!

+1

Questo ha funzionato perfettamente! –

+1

Ho provato questo, ma tutta la mia cronologia git è stata spinta come un commit svn, con conseguente log della cronologia dei commit – palaniraja

0

È possibile, come prerequisito, assicurarsi che tutte le modifiche in git siano state applicate o unite nel ramo master.

Quindi è possibile eseguire git-svn rebase per unire tutti gli aggiornamenti da svn e infine git-svn dcommit per confermare le modifiche.

C'è una spiegazione dettagliata qui - cf - http://www.viget.com/extend/effectively-using-git-with-subversion/

Problemi correlati