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:

  1. Disabilita il checkout automatico.
  2. Lavora localmente in Mercurial
  3. Quando sono pronto a inviare le mie modifiche ...
    1. Clona il mio repository Mercurial.
    2. Aggiorna il mio repository Safe di Visual Source
    3. Estrai e unisci i due repository usando Mercurial.
    4. Controlla tutto in Visual Source Safe.

Sembra ragionevole? Sento sempre cose negative su VSS, mi sta solo chiedendo di vedere di persona quei problemi?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top