E 'possibile limitare rami e tag in CVS sul server?
Domanda
abbiamo bisogno di convertire un respository produzione CVS a SVN. Stiamo usando cvs2svn per il processo di conversione RAW così come alcuni altri strumenti.
Poiché si tratta di un repository di sviluppo dal vivo, i tempi di inattività in corrispondenza del punto di commutazione repository è abbastanza importante. Le nostre prove preliminari di conversione di base cvs2svn stanno prendendo circa 5 giorni allo stato attuale, che è troppo lungo.
Sto cercando alcuni approcci alternativi per rendere il processo un po 'incrementale. Uno degli approcci richiede che la codifica e la ramificazione essere limitata in repository CVS.
E 'possibile limitare la codifica e la ramificazione, ma consentono commit normali al repository CVS?
Soluzione
Così si scopre che questo è possibile utilizzando il taginfo pre-commit script come dettagliato nella sezione amministrativa del manuale qui .
Il file taginfo
Che cosa significa loginfo per i messaggi di log, taginfo fa per i tag. Il lato sinistro del taginfo è espressioni regolari, come al solito, e il lato destro è programmi. Ogni programma viene consegnato automaticamente argomenti quando tag CVS viene richiamato, in questo ordine:
arg 1: tag name
arg 2: operation ("add" => tag, "mov" => tag -F, "del" => tag -d)
arg 3: repository
arg 4, 5, etc: file revision [file revision ...]
Se i rendimenti programma diverso da zero, il tag viene interrotta.