Questa è una vecchia versione del documento!
Migrazione di un progetto da CVS a GIT
Per migrare un progetto dal sistema di versioning CVS a git sono disponibili diverse utility, ma già con quella inclusa nel normale client git (cvsimport) è possibile effettuare l'operazione.
Questo strumento per funzionare necessita di un accesso diretto al repository CVS da filesystem, poiché alcune operazioni necessarie per la conversione non possono essere effettuate lato client. È stato quindi approntato uno script sul nostro server CVS vegezio che automatizza le operazioni necessarie alla migrazione di un singolo progetto (modulo in CVS) oppure di tutti i progetti (moduli) all'interno della stessa CVSROOT (per es., tutti i progetti sotto docway3, docway4, progetti ecc.).
Per effettuare la migrazione manualmente si possono riassumere in questi passaggi:
- creazione di un nuovo repository git vuoto
git --bare init /path/to/new/repo
- conversione da CVS a git
git --bare cvsimport -d:local:/<CVSROOT> -v -k -m -i [-A <AUTHORFILE>] -o master -C /path/to/new/repo <CVSMODULE>
dove:
- <CVSROOT> indica il path assoluto sul file system del repository CVS
- <AUTHORFILE> indica un file contenente il mapping tra gli utenti CVS e il nome esteso + mail previsto da git. Ogni riga del file appare come
ncognome-3di=Nome Cognome <ncognome@3di.it>
- <CVSMODULE> indica il nome del modulo CVS (ovvero del progetto)