2010-08-06 11 views
5

Ho un repository CVS di produzione che ha diversi anni e ho notato che ha file virgola-v con lo stesso nome sia in Attic che nella directory effettiva per un dato Posizione. Questo sembra essere un errore.CVS file virgola-v in soffitta e directory

La mia domanda è come può verificarsi in primo luogo e cosa farà il CVS quando esistono file duplicati.

La mia ipotesi (speranza) è che ignorerà la versione Attica tutto il tempo quando c'è una versione non attica. Qualcuno può confermare se CVS si comporta bene tutto il tempo per questa situazione.

Per inciso, questo errore è stato contrassegnato da cvs2svn mentre sono in procinto di entrare in un sistema di controllo del codice sorgente "più recente".

risposta

6

Questo problema deriva da un pasticcio di qualcuno all'interno del repository CVS (cioè, non tramite il client cvs). Sfortunatamente, questo tipo di muck è comune, ad esempio per aggirare la limitazione che CVS non consente di rinominare i file. Forse qualcuno ha provato a rinominare un file spostando il suo file FILENAME,v, senza notare che il nome del file era già in uso nella cronologia del progetto e quindi aveva già un file Attic/FILENAME,v.

La mia ipotesi (speranza) è che ignorerà la versione Attica tutto il tempo quando c'è una versione non attica. Qualcuno può confermare se CVS si comporta bene tutto il tempo per questa situazione.

Poiché si tratta di una forma di corruzione del repository, dubito che il comportamento del CVS in questa situazione sia documentato. Molto probabilmente la tua ipotesi è corretta, ma assicurarti che si comporti sempre in questo modo probabilmente richiederebbe un'analisi del codice sorgente CVS - per le versioni di tutte le versioni di CVS che hai mai utilizzato. Ti suggerisco di fare alcuni esperimenti con il tuo tipico cliente CVS e le tue filiali più importanti.

Per inciso, questo errore è stato contrassegnato da cvs2svn mentre sto entrando in un sistema di controllo del codice sorgente "più recente".

cvs2svn ha un numero di suggestions for working around this problem.

Problemi correlati