Domanda
Ho convertito il mio repository CVS in repository SVN. Funzionava benissimo, ma si era verificato un problema ... Ho convertito utilizzando un file di dump e il comando era:
cvs2svn & # 8211; encoding = () & # 8211; sort = (PATH TO sort.exe) --default-eol = native & # 8211; dumpfile = PATH \ name.svn_dump < !> # 8211; svnadmin = (PERCORSO A SVN ADMIN) (PERCORSO A REP)
caricamento del file di dump:
svnadmin load PATH (nella posizione del repository) < PATH \ name.svn_dump
Ora alcuni file binari, che in CVS sono contrassegnati con -kb, sono stati corrotti. Se apro entrambe le versioni di un file in WinMerge, il risultato è lo stesso quando & Quot; Ignora differenze ritorno carrello & Quot; è selezionato.
Quale sembra essere il problema? Mi sono perso qualcosa durante la conversione?
Grazie, Oded.
Soluzione
Poiché hai utilizzato l'opzione --default-eol=native
, tutti i file binari che erano non contrassegnati come binari in CVS verranno archiviati in Subversion tra " native " Codifica EOL e in genere avrà problemi come quelli descritti quando è stato estratto da Subversion. Quindi, sei davvero sicuro che i file in questione siano stati contrassegnati come binari in CVS?
Si noti inoltre che esiste un programma più proprietario simile a CVS chiamato CVSNT il cui formato di repository è diverso in molti dettagli da quello di CVS. Ad esempio, memorizza le modalità dei file in modo incompatibile con CVS. cvs2svn non supporta la conversione dei repository CVSNT . Se il tuo repository è mai stato toccato da un client CVSNT, potresti avere difficoltà con la conversione. In tal caso, segui i suggerimenti nel link sopra e valuta anche di impostare esplicitamente i file in questione su binario, ad esempio usando l'opzione --auto-props
di cvs2svn.