practices - git tag commands
Mejores prácticas para usar git con CVS (5)
Escribí los detalles de mi propio flujo de trabajo para CVS remoto, Git local
¿Cuáles son sus mejores prácticas y consejos para usar git para interactuar con un repositorio de CVS?
Escribí una respuesta a una pregunta similar here .
Esto funciona sorprendentemente bien cuando se ve obligado a continuar introduciendo cambios en un repositorio central de CVS.
Ligeramente meta-respuesta. Si se ve obligado a usar git ''estilo guerrillero'', es decir, su compañía está atascada usando cvs para el control de versiones y usa git en su estación de trabajo para hacer la vida más fácil, puede considerar hacer algo como esto;
CVS=realCvsPath
# commit to the git first
if ($ARGV[0] && $ARGV[0] eq "commit")
{
system ''git commit -a'';
}
# execute the appropriate cvs program
# ===================================
exec "$CVS", @ARGV
Llamando a este archivo ''cvs'' e incluyéndolo en la ruta antes del comando CVS real. De lo contrario, puedes hacer que git se haga más antiguo que los cvs, lo cual no es útil ...
Si el mdocml ascendente es 100% en CVS (por ejemplo, OpenBSD, o muchos de sus subproyectos como mdocml o ports-readmes ), y especialmente si está tan oxidado como el árbol de CVS de OpenBSD (por ejemplo, ocasionalmente incluso se reescribe el historial) es bastante útil simplemente cometer los archivos CVS/{Entries,Repository,Root}
subyacentes directamente en mi repositorio git
.
Esto hace que sea muy fácil no tener que tener múltiples espacios de trabajo independientes, hacer posible la verificación con git
en cualquier máquina, y luego cvs up
en su lugar, o cvs diff
para generar parches CVS correctos para enviar por correo a los mantenedores de git-less en sentido ascendente.
Solo he trabajado con interacciones de Git-CVS para demostrar Git para un amigo, pero fue muy sencillo.
- Necesitas instalar una copia actual de
cvsps
.Git cvsimport
usa esto para acceder al historial de CVS. Descubrimos que, para un proyecto grande, la configuración inicial era mucho más rápida al llevar una copia completa del repositorio de CVS a su computadora y hacer el
git cvsimport
localmente:$ rsync rsync://yourprojecthost.com/cvsroot/yourproject/* $ mkdir myproject.git $ cd myproject.git $ git cvsimport -p -x -v -d :local:/path/to/cvsroot/yourproject
Tenga en cuenta que el -x después de -p es muy importante. Esto pasa -x a cvsps. Para obtener más información, consulte la página de manual de cvsps .