Combina DVCS con Visual Source Safe
-
03-07-2019 - |
Domanda
Sono costretto a utilizzare Visual Source Safe 2005 al lavoro. Vorrei combinarlo con un DVCS, in modo da poter archiviare i file localmente senza interrompere i miei colleghi se c'è un bug o se non viene compilato.
Nei miei tentativi con Mercurial, funziona, ma causa alcuni strani problemi. Vale a dire, pensa che qualcun altro abbia estratto i file che ho estratto.
Ecco i miei pensieri su come dovrei gestirlo:
- Disabilita il checkout automatico.
- Lavora localmente in Mercurial
- Quando sono pronto a inviare le mie modifiche ...
- Clona il mio repository Mercurial.
- Aggiorna il mio repository Safe di Visual Source
- Estrai e unisci i due repository usando Mercurial.
- Controlla tutto in Visual Source Safe.
Sembra ragionevole? Sento sempre cose negative su VSS, mi sta solo chiedendo di vedere di persona quei problemi?
Soluzione
WBlasko
Ho riscontrato lo stesso problema. Volevo cambiare i file e unirli quando necessario invece di aspettare che altri sviluppatori lo sbloccassero. La soluzione che ha funzionato per me è stata:
1) Ottieni l'ultima versione di un progetto VSS (ho inserito tutti i progetti VSS in vss):
c:\vss\projectA
2A) Inizializza con Mercurial
cd vss\projectA
C:\vss\projectA>hg init
2B) Clonare il progetto nel punto in cui potrebbe essere modificato a piacimento
hg clone vss\projectA myProjects\projectA
3) Prendi le ultime modifiche dalla copia VSS (salta se vieni da 1 e 2)
C:\myProjects\projectA>hg pull
C:\myProjects\projectA>hg update
(solve conflicts if any)
4) Lavora a piacimento con la versione clonata. Successivamente, invia il tuo lavoro alla copia di vss:
C:\myProjects\projectA>hg push
(don't run hg update yet, wait for VSS latestes version)
5) Ora esegui un checkout di tutti i file nel progetto VSS
6) Esegui " hg update " sul progetto VSS per unire le modifiche alle ultime modifiche VSS.
C:\vss\projectA>hg update
(if there are conflicts, resolve them)
7) Conferma le modifiche
C:\vss\projectA>hg commit
8) Esegui un check-in VSS (rilasciando i blocchi agli altri) Torna al passaggio 3. Ripeti i passaggi 3-8 per sempre, quindi ... ;-)
In questo modo puoi lavorare con un buon sistema di controllo della versione pur essendo in grado di "parlare". ai progetti legacy. Potrai anche godere di: a) Nessun problema con i file bloccati b) puoi condividere il tuo repository con altri che sanno usare Hg c) fare rami, ecc.
Fai solo attenzione a aggiornare / risolvere i conflitti, testare e quindi eseguire il check-in VSS
Saluti, Luis