2008-09-12 12 views
25

Sono un singolo sviluppatore che cerca di uscire da Visual Source Safe e passare a svn.Il modo migliore per migrare da VSS a Subversion?

Una ricerca rapida fa apparire diversi strumenti, ma non vedo un vincitore chiaro e non posso permettermi di dedicare molto tempo a testare strumenti diversi.

Qualcuno ha eseguito correttamente questa operazione e può consigliare un metodo?

risposta

28

Si consiglia di aggiungere il codice a un nuovo repository Subversion anziché importarlo da VSS. VSS ha un modello di controllo della versione contorto che non si traduce bene in molti altri sistemi, e solo l'avvio di nuovi è di solito il modo migliore per evitare di portare con te quel disordine.

Se è necessario mantenere la cronologia, rendere il repository VSS di sola lettura.

+2

Assicurati di eliminare tutti i file cruciali che VSS lascia nel checkout prima di importarli in SVN e assicurati anche che tutti i file generati siano stati eliminati. – jodonnell

+6

Non sono affatto d'accordo. La mia azienda utilizza VSS da quasi 10 anni e ci mancherebbero tonnellate di storia se "avessimo appena iniziato". Sono d'accordo che VSS è spazzatura ma è meglio di niente e buttare via solo anni di cronologia dei file è un grosso errore. –

+8

Basta congelare il materiale in VSS per riferimento futuro (ovvero, solo in lettura) (che quasi sicuramente non guardi mai!) E ricominciare da capo con Subversion. –

0

Ho usato qualche script (non ricordo quale) per assistere in una conversione da VSS a SVN. E 'stato un po' doloroso e pignolo, ma ha finito per funzionare, e ha conservato tutta la storia. Ho dovuto mantenere tutta la storia per motivi politici al momento; se avessi la mia strada probabilmente avrei buttato via la storia e importato tutto il codice in SVN.

Anche per ragioni politiche, ho scritto alcuni script davvero hacky che hanno aggiornato VSS con i cambiamenti da Subversion. Questi funzionarono per un po ', ma continuarono a rompersi ogni settimana o due, fino a quando qualcuno ribattezzò una directory o qualcosa del genere e l'intera cosa andò in pezzi. A quel punto andava bene semplicemente continuare a usare Subversion.

1

Al mio attuale lavoro abbiamo appena creato un repository di subversion, configurato gli hook hook per ignorare tutti i file vss e generati, e quindi appena iniziato l'importazione dei vari progetti con tortoiseSVN. Ha funzionato abbastanza bene, siamo stati operativi in ​​un paio d'ore.

7

Abbiamo fatto questa migrazione di recente al lavoro. Suggerisco caldamente:

  1. Basta aggiungere il nuovo codice da VSS, prendere il colpo che la cronologia pre-svn dovrà rimanere nel vecchio repository VSS.
  2. Se il repository VSS è ancora in uso dopo il dump iniziale del codice, eseguire la migrazione delle modifiche utilizzando Vendor Branches. Vale a dire, supponiamo che il tuo repository VSS sia un fornitore e utilizzi tag datati per unire le modifiche nel repository SVN.

Un po'più di dettagli here.

1

Sono totalmente d'accordo con la risposta di Jon Galloway. Ho anche provato a usare vss2svn ma ho scoperto che c'erano molti problemi con il repository importato e alla fine ho deciso che non valeva lo sforzo richiesto per ripulirlo. Abbiamo appena importato una copia del codice in sovversione e siamo tornati a VSS nella rara occasione in cui era necessario consultare una versione precedente del codice.

Nella mia precedente azienda abbiamo anche utilizzato lo stesso approccio per la migrazione da ClearCase a Subversion e non ricordo alcuna occasione in cui avessimo mai avuto bisogno di tornare in ClearCase per esaminare la cronologia.

Il problema principale era far sì che tutti potessero passare al nuovo repository contemporaneamente, ma come singolo sviluppatore non dovresti avere alcun problema lì!

1

Abbiamo scaricato e testato diversi strumenti di migrazione e suggerirei Polarion SVNImporter.

Lo abbiamo utilizzato per trasportare una migrazione selettiva di quasi un Gb da un repository VSS6 a Subversion. Poiché il codice sorgente è disponibile, siamo stati in grado di adattarlo e adattarlo alle nostre esigenze specifiche (rilevamento di file collegati).

8

La versione CodePlex di VSStoSVN è una delle migliori che ho trovato. Ho avuto dei brutti risultati con la versione PumaCode, ma questo è andato liscio.

http://vss2svn.codeplex.com/

2

ho usato vss2svn con grande successo.

6

La mia azienda ha sviluppato una fonte sicura di strumento di migrazione Subversion: http://www.abstrakti.com/en-US/Products/Krepost

Questo strumento è stato sviluppato dopo aver problemi con ogni altro strumento, quando abbiamo dovuto migrare i repository di un cliente.

Fatemi sapere se avete problemi, sarò lieto di aiutarvi.

Eric.

+1

Ho intenzione di provare questo. Nonostante il nostro precedente abbandono di VSS, senza conversione, abbiamo appena deciso che avremmo davvero bisogno di alcune informazioni da esso. La società Abstrakti.com, sopra, sembra specializzarsi nella conversione di VSS, ovvero ha anche un'app per VSS a GIT, Castellum. Proprio questo mese hanno avuto un aggiornamento di manutenzione! – AnneTheAgile

+1

Ho provato con un vecchio repository VSS, ha funzionato come un fascino! – tcbrazil

Problemi correlati