Soy un gran fanático de las copias de seguridad. Guardo mis ensayos importantes de la escuela y tal en una carpeta de mi Dropbox. Me aseguro de que todas mis fotos estén duplicadas en una unidad externa. Tengo un servidor doméstico donde guardo los archivos importantes reflejados en dos unidades dentro del servidor (como un software RAID 1).Copia de seguridad del repositorio local Mercurial
Por lo tanto, para mi código, siempre he usado Subversion para respaldarlo. Guardo la carpeta troncal con una copia estable de mi aplicación, pero luego creo una rama nombrada con mi nombre de usuario, y adentro está mi copia de trabajo. Realizo muy pocos cambios entre confirmaciones para esa rama, con la comprensión de que el código allí es mi copia de seguridad.
Ahora estoy investigando a Mercurial, y debo admitir que aún no lo he usado realmente así que es posible que todo esto esté mal. Pero me parece que tiene un repositorio del lado del servidor, y luego lo clona en un directorio de trabajo en la forma de un repositorio local. Luego, mientras trabajas en algo, haces commits en ese repositorio local, y cuando las cosas están en un estado para ser compartidas con otros, hg push
en el repositorio padre en el servidor.
Entre empujes de código estable, probado y libre de errores, ¿dónde está la copia de seguridad?
Después de pensar un poco, he llegado a la conclusión de que no es para fines de copia de seguridad y supone que ha manejado eso por su cuenta. Creo que necesito mantener mis repositorios locales de Mercurial en mi Dropbox u otra ubicación respaldada, ya que mi código en progreso no se envía al servidor.
¿Es esto más o menos, o me he perdido algo? Si usa Mercurial, ¿cómo hace una copia de seguridad de sus repositorios locales? Si esta mañana has encendido tu computadora y tu disco duro se incendió (o, más probablemente, la cabeza de lectura se estropeó, o el sistema operativo se corrompió a sí mismo, ...), ¿qué se perderá? Si pasaste la última semana desarrollando un módulo, escribiendo casos de prueba para él, documentándolo y comentándolo, y luego un virus borra tu depósito local, ¿no es esa la única copia?
Entonces, por otro lado, ¿creas un repositorio remoto para cada repositorio local y lo presionas todo el tiempo?
¿Cómo se puede encontrar un equilibrio? ¿Cómo se asegura que su código esté respaldado? ¿Dónde está la línea entre utilizar Mercurial como copia de seguridad y utilizar una utilidad de copia de seguridad del sistema de archivos local para mantener seguros los repositorios locales?
mercurial también mantiene el historial de revisiones (de las ramas rastreadas) en cada repositorio – kriss