Desarrollo proyectos personales en dos máquinas sin el uso de un servidor compartido o una conexión de red entre los dos.
¿Algún sistema de control de versiones común admite de manera confiable el uso de almacenamiento portátil (como un dispositivo flash USB) como depósito compartido?
version-control
billpg
fuente
fuente
Respuestas:
Use un DVCS como Git o Mercurial .
Los sistemas de control de versiones distribuidos no tienen un servidor central compartido.
Con un DVCS, cada copia de un repositorio contiene el historial completo, todo. Esto significa que, cuando se usa en una llave USB, cualquier cambio que realice se realiza en el repositorio de la llave USB y cuando se mueve entre computadoras conservará este historial.
fuente
Además de GIT, Mercurial, etc. sugerido anteriormente, también eche un vistazo a Fossil: tiene las ventajas de que los binarios de tiempo de ejecución son pequeños (1 Meg más o menos para Windows y Linux), portátiles y cero instalación necesaria. Por lo tanto, a diferencia de los demás (hasta donde yo sé), se puede colocar en el dispositivo de almacenamiento y ejecutar en cualquier máquina en la que esté conectado el almacenamiento, sin tener que instalar primero la aplicación en la máquina. Incluye un Wiki y un sistema de seguimiento de cambios / defectos con el repositorio. También tiene una interfaz gráfica de usuario incorporada.
No lo he usado en serio (principalmente uso GIT), pero me impresionó su enfoque liviano y la inclusión de un Wiki y un rastreador de defectos lo hacen ideal para proyectos pequeños. Mi única preocupación era que algunas de las características más poderosas de GIT pueden no ser posibles, y a diferencia de GIT, la comunidad de usuarios no es tan grande que sea fácil encontrar respuestas a las preguntas.
fuente
Usar un DCVS es probablemente una buena idea, pero no es la única opción.
Tengo un pequeño repositorio CVS en una memoria USB. Cuando quiero acceder a él, solo necesito usar
cvs -d <path>
o establecer$CVSROOT
la ruta de la raíz del repositorio (que por supuesto requiere que la unidad de memoria USB esté montada en el sistema).Si ya está acostumbrado a usar CVS, esto debería ser viable. Lo mismo debería aplicarse a SVN. Simplemente significa que su repositorio central está en la memoria USB y no siempre es visible.
Hay argumentos para usar un DCVS en lugar de un CVS en general. No creo que esos argumentos se vean particularmente afectados por si el repositorio central está en una memoria USB o en otro lugar. Por ejemplo, podría crear fácilmente un repositorio git en la memoria USB.
fuente
Como una adición a las otras respuestas:
Si bien un DVCS se adapta muy bien a este problema, técnicamente también podría usar Subversion, si se siente más cómodo con él. Subversion puede usar un directorio local en lugar de un servidor central. Podrías poner eso en una memoria USB y usarlo.
La desventaja, en comparación con un DVCS, sería que solo puede trabajar con Subversion (es decir, confirmar, ver registros, etc.) mientras la memoria USB está conectada. Además, siempre debe ser la misma memoria USB (o al menos una -to-date copy), porque con Subversion no debe usar más de un repositorio (esa es la parte no distribuida). Entonces, si alguna vez olvida su memoria USB, no puede usarla, a diferencia de Git o Mercurial.
Nota:
Como se explicó anteriormente, y en los comentarios, un DVCS es realmente mejor para su problema. Solo mencioné Subversion por completo, y en caso de que tenga alguna razón especial para usar Subversion.
fuente
svn
(o incluso Cvs) podría pesar a favor de usar esa solución, pero en aras de una divulgación completa, también deberían mencionarse las desventajas de ese enfoque. Siéntase libre de editar los puntos de mi comentario en su respuesta. Si lo hace, me complacería limpiar (eliminar) mis comentarios. * 8 ')