Reflejo del repository de CVS en el repository de git

He buscado y no he entendido cuál es la mejor manera de hacerlo: quiero clonar un repository de CVS existente (específicamente, un portátil de OpenSSH), o una revisión del mismo (por ejemplo, v6.0p1) a un repository de git , para aplicar parches personales. También me gustaría fusionar cambios cada vez que se lanza otro OpenSSH estable. No tiene que ser en time real ni nada especial, solo para poder combinar mis parches con las nuevas versiones.

Tengo git anterior (y experiencia SVN), pero no tengo experiencia CVS.

Tiene dos opciones: mantener una sucursal de proveedor o usar git cvsimport . El que use depende de la cantidad de historial que desee y de qué tan paciente sea.

Si desea un historial completo y es paciente, puede importar todo el repository de CVS en git usando git cvsimport . Si es afortunado, puede descubrir que alguien más ya ha hecho esto y mantiene el resultado actualizado; si confía en ellos, usar sus repositorys es la mejor opción.

Si no necesita un historial completo o es impaciente, puede mantener una sucursal de proveedor: esto es lo que solíamos hacer antes de tener un DVCS :). Tome una copy de la versión actual, colóquela en una twig llamada 'proveedor' y base su trabajo en ella. Cuando se realice la siguiente versión, vuelva a la twig del proveedor, actualícela para que coincida con la nueva versión y combine / rebase según corresponda.

Tenga en count que aunque las sucursales de proveedores se requieren con less frecuencia cuando se utiliza un DVCS, en realidad son mucho más fáciles en git que con Subversion, ya que git no requiere que usted identifique los nombres y (como con svn ahora) no deja meta -data en toda su copy de trabajo que se bombardea cuando desempaqueta la última versión.