Time Machine vs control de fuente?


18

Finalmente me convencí de comenzar a usar algún tipo de control de versiones para mi código en lugar de comprimir una copia del proyecto al final de cada día.

Descargué Tortoise SVN y lo usé para crear un repositorio localmente en mi disco duro. Lo he estado usando durante 2 días, pero debo decir que usarlo en realidad es más complicado que simplemente copiar el proyecto manualmente en el explorador. Claro, solo almacena cambios incrementales, pero con los discos baratos de hoy realmente no puedo decir que sea un argumento cuando solo tiene proyectos pequeños. Realmente no he encontrado una forma rápida de explorar las versiones anteriores de mis archivos más rápido.

Lo que quiero es un deshacer infinito que sea completamente transparente mientras codifico, si guardo el archivo quiero una copia de seguridad. No quiero retirarme, registrarme y ni siquiera comenzar a mover archivos. No he probado Time Machine para OS X, pero parece que es exactamente lo que estoy buscando.

¿Existe tal programa para Windows? Preferiblemente gratuito y con algún tipo de sistema de etiquetado para que pueda etiquetar una marca de tiempo cuando el proyecto está funcionando, etc.

Tal vez debería agregar que principalmente trabajo solo en una sola computadora.

Actualización: Algunos de ustedes preguntaron por qué quiero una copia de seguridad. Como trabajo solo, es principalmente para permitirme hackear rápidamente una solución sin preocuparme de que algo se arruine.


44
La principal diferencia entre SCM y Time Machine es que con SCM usted confirma explícitamente y puede recuperar todas sus confirmaciones, mientras que con Time Machine las copias de seguridad son automáticas (por hora) y algunas se pierden con el tiempo: solo se guarda una copia de seguridad por semana para siempre (y no eliges cuál)
mouviciel

2
Creo que una confirmación automática en cada compilación que se completa sin errores, más una etiqueta cada vez que el pase de prueba de unidad podría ser bueno en una sucursal local para muchos programadores
Ian Ringrose

1
El problema con cualquier control de versiones es que si usted es el único desarrollador en un proyecto, es muy difícil detener los archivos que no ha agregado al sistema de control de versiones. Tener un servidor de compilación separado funciona, pero es mucho más que configurar. Simplemente hacer una copia de seguridad de TODOS los archivos puede ser más seguro.
Ian Ringrose

Respuestas:


39

Creo que realmente está subestimando los beneficios del control de fuente. Como señaló Dustin, hay ramificación, fusión y uso compartido. Además, el uso de un sistema de control de fuente puede permitirle determinar fácilmente cuándo se modificó por última vez cada línea de su código. SVN también puede rastrear el historial de los archivos, incluso si cambian de nombre o se mueven a un directorio diferente. La fusión incluso puede resolver problemas incluso si solo es 1 desarrollador, ya que puede trabajar en su computadora de escritorio, computadora portátil y otras computadoras sin tener que preocuparse por sobrescribir los cambios.


La necesidad de Jeff (y la mía) no se satisface con el control de fuente porque eso requiere confirmaciones manuales. Es valioso poder volver a rastrear los cambios minuto a minuto que realizó en su copia de trabajo sin tener que comprometerse cada minuto. Y sin contaminar el repositorio. Algunos IDE (como Eclipse) le permiten explorar los archivos de su proyecto en el tiempo. Pero eso requiere usar un IDE particular y configurar un proyecto. Sería bueno si hubiera una funcionalidad similar en una herramienta independiente.
Vimes

@JohnB SVN tiene una función llamada "Autoversioning". Le permite montar su repositorio como una carpeta estándar de WebDAV, y cada vez que guarde el archivo, realizará una confirmación. Si guarda con la suficiente frecuencia, puede retroceder efectivamente en el tiempo a cualquier momento en que guardó el archivo. No es tan granular como algo como VS.Net donde puedes Ctrl + Z cada personaje, pero de todos modos deberías guardar cada 10 minutos. Si fueras un desarrollador único trabajando en un proyecto, probablemente funcionaría, aunque no tengo mucha experiencia con él. ( svnbook.red-bean.com/en/1.7/svn.webdav.autoversioning.html )
Kibbee

Gracias Kibbee. Vi la publicación de VonC sobre eso, a continuación. Es una de las pocas opciones que he visto, y la única gratuita. A continuación, también hay algunos productos dedicados que no requieren que configure un servidor de control de código fuente, lo cual es bueno. Pero cuestan dinero y parece que tienen más campanas y silbatos de los que necesito (o, uno de ellos necesita un poco de trabajo de UI). Lo más parecido que he visto a lo que quiero es DropBox, con su integración del menú contextual del Explorador de Windows. Ahorra 30 días de historial de forma predeterminada, y si paga por la función Pack Rat, se ahorrará indefinidamente. Pero es una aplicación en la nube.
Vimes

21

Eso sería Auto-Versioning (para quedarse con Subversion):

La versión automática es una característica por la cual los clientes genéricos de WebDAV pueden escribir en un servidor DeltaV (como mod_dav_svn), y el servidor realiza confirmaciones silenciosamente en segundo plano. Esto significa que si usa Apache httpd como su servidor Subversion, la mayoría de los sistemas operativos modernos pueden montar el repositorio como un recurso compartido de red, y los usuarios no técnicos obtienen versiones "transparentes" de forma gratuita. (Por supuesto, los usuarios técnicos aún pueden usar clientes de Subversion para examinar el historial del repositorio).


2
Definitivamente una buena respuesta y una solución similar a lo que quiere el OP, copias de seguridad regulares sin compromisos explícitos.

12

No confunda las soluciones de respaldo con el control de versiones. Ambos son importantes pero tienen diferentes propósitos. Lo que realmente debería hacer es usar el control de versiones (svn, cvs, mercurial, git, lo que sea) y hacer que se haga una copia de seguridad automática en otro lugar además de su HDD, preferiblemente fuera del sitio (host pagado o S3). O vaya 100% remoto y encuentre a alguien para alojar su repositorio SVN. Sugeriría Unfuddle . Puede configurar un repositorio SVN gratuito allí sin demasiados problemas.

Muerde la bala y usa SVN. Puede que no sea tan fácil como a lo que está acostumbrado, pero cuando tenga que hacer una reversión muy específica o comparar los cambios entre archivos, se alegrará de haberlo hecho.



6

Divulgación completa: trabajo para el software Altaro.

Si quieres una máquina del tiempo para Windows, entra en el ¡Vaya! Copia de seguridad de la lista BETA

Somos una nueva compañía de software, Altaro Software, y estamos desarrollando un producto de respaldo de software / producto de control de versiones llamado '¡Vaya! Apoyo'. ¡Uy! Backup es un híbrido entre un producto de respaldo tradicional y un sistema de control de versiones liviano. ¡Uy! La copia de seguridad rastrea automáticamente los cambios en documentos, fotos y otros archivos y le permite retroceder a cualquier punto en el tiempo. Hasta cierto punto, es el equivalente de Time Machine para Windows.

Tenga en cuenta que dije control de versión liviano: este no es un producto destinado a reemplazar un producto de control de versión adecuado. Nuestros desarrolladores usan SVN y ¡Vaya! Copia de seguridad al mismo tiempo. Usan VSN para un control de versión adecuado con funciones de registro / salida, pero también usan ¡Uy! Haga copias de seguridad para los momentos de Oops que a veces obtienen y necesitan encontrar rápidamente una versión de archivo anterior sin tener que pasar por un proceso completo de pago.

Invertimos mucho en la experiencia del usuario Y en los dulces visuales, ya que entendemos que eyecandy NO implica experiencia del usuario.

Entraremos en BETA pronto y buscaremos probadores BETA; cualquiera que esté dispuesto a probarlo visite http://www.altaro.com/download.php . En esta página también puede ver capturas de pantalla del producto.

Sus opiniones y críticas constructivas serían muy apreciadas (me encantaría escuchar las cosas malas ... más que las buenas)

Como dije antes: ¡Vaya! La copia de seguridad no reemplaza la necesidad de un producto de control de versiones adecuado, pero lo complementa. Se puede usar como una forma de control de versiones, pero no tendrá que registrarse / salir y la ramificación debería hacerse manualmente creando una nueva carpeta.

Perdón por el enchufe !!

David Vella - david@altaro.com


Creo que la lista de características es un muy buen comienzo. ¿Admite una restauración completa (como en el caso de fallas de hardware; un requisito para Time Machine para Windows, si me lo pregunta)? Y, aunque pocos pueden preocuparse: ¿puede manejar múltiples discos de respaldo (redundantes)? O, si no, ¿alguna forma de copiar la copia de seguridad completa (como Time Capsule, pero que lleva mucho tiempo)? Para las próximas versiones: recomendaría complementos para software popular que necesita un uso específico del sistema de archivos. Al igual que para los programas de correo electrónico: para buscar y restaurar mensajes sin saber cómo se encuentran en el sistema de archivos. Y: localización?
Arjan

Hola Arjan: no, no admite imágenes de disco (ala Acronis y Ghost) y, para ser sincero, no estoy seguro de si deberíamos ir por ese camino, lo veremos en función de los comentarios. Ya existen buenos productos que puedes usar para metal desnudo, así que no entraremos en ese mercado ahora y nos centraremos en hacer ¡Uy! Respalde la mejor solución puntual del mercado. En cambio, nos estamos centrando en la parte de control de versiones, en el contenido real en lugar de la capa de bits. A partir de hoy tenemos vistas previas de "aplicación consciente", ya que admitimos la vista previa de archivos de MS Office, imágenes, archivos basados ​​en texto, otros, seguiremos agregando eso.
David Vella

Dije hasta cierto punto que es el equivalente de Time Machine. Por lo que escuché, el más cercano a Apple Time Machine es Rebit, nunca lo probé yo mismo. Inglés solo por ahora, pero estamos listos para comenzar a localizar. Si quieres probarlo en BETA, envíame un correo electrónico :) David Vella de Malta (Europa) david@altaro.com
David Vella

Después de leer algunos comentarios de "Candice" de Genie, también conocido como "Salam": +1 por su divulgación ;-) ( superuser.com/questions/7423/time-machine-for-windows/… / stackoverflow.com/questions/274948 / time-machine-for-windows /… / serverfault.com/questions/1918/… )
Arjan el

4

Una solución muy parecida a Time Machine se presentó en la revista alemana c't hace algún tiempo. Si bien el artículo en sí está disponible por 60 centavos, los scripts en sí son gratuitos: http://www.heise.de/ct/ftp/06/09/126/

Básicamente, utiliza rsync para hacer una copia de seguridad de sus datos en una unidad externa con formato NTFS. Con cada nueva copia de seguridad solo almacena nuevos archivos en el disco de copia de seguridad, pero crea enlaces duros a todo lo demás. Efectivamente, verá una estructura de carpetas completa para todas y cada una de las copias de seguridad, pero solo use el espacio necesario para la primera copia de seguridad completa + cualquier cambio que ocurra más adelante.

No es tan sofisticado como Time Machine, pero es la misma tecnología (Time Machine también usa rsync, por lo que sé) bajo las cubiertas.


2

Time Machine es una solución de copia de seguridad / restauración algo normal. Utilice cualquier herramienta de copia de seguridad de Windows con copias de seguridad incrementales diarias automáticas y tendrá prácticamente lo mismo. Sin embargo, incluso si es posible restaurar estados anteriores (diarios), puede que no sea la solución más rápida.


2

SVN no es muy efectivo para desarrolladores en solitario. Echa un vistazo a BZR . Uso BZR para todos mis proyectos personales y mi directorio personal, uso SVN solo para el gran proyecto de trabajo.


Interesante. ¿Lo usa con algún servidor, incluso localhost, o funcionará solo con un sistema de archivos local?
PhiLho

1
"SVN no es muy efectivo para desarrolladores en solitario". Esa es una declaración bastante general, ¿no te parece?
mwjackson el

1
Jacko, infórmate sobre las alternativas y estarías de acuerdo.
Dustin Getz

1
phil, siempre hay una copia local del repositorio para acelerar todo y evitar problemas de permisos, pero opcionalmente empuja / sincroniza a cualquier cosa remota (compartir, sitio web, ftp, probablemente más) si necesita trabajar con un equipo. lee el sitio web.
Dustin Getz el

La principal diferencia entre BZR y SVN parece ser que BZR se distribuye. Dado que el OP funciona principalmente solo en una sola computadora, no estoy convencido de que los beneficios de un control de fuente distribuido compensarían la complejidad adicional en este caso.
redtuna

2

Genie Timeline 2.0 salió a la venta la semana pasada.

Lo sé, lo sé, "¡otro enchufe más en la línea de tiempo!" ... pero no lo es.

La línea de tiempo 2.0 se ha reescrito por completo y, hasta ahora, el consenso general en la web ha sido muy positivo.

Lo mejor de todo es que casi todas las funciones están disponibles en una nueva edición gratuita de Genie Timeline.

Especificaciones de Genie Timeline 2.0 gratis: http://www.genie-soft.com/Free_products/free_timeline.aspx

Descargar: http://download.cnet.com/Genie-Timeline-Free/3000-2242_4-10967059.html?tag=mncol

Las versiones pagas del producto agregan cifrado, compresión y purga automática de copias de seguridad antiguas.

DIVULGACIÓN: Fui líder de proyecto en la versión 2.0


+1 por la divulgación. Consulte también Time Machine para Windows , que, creo, es un mejor lugar para continuar con esta pregunta.
Arjan

1

¿Qué quiere que haga el control de origen / copias de seguridad múltiples?

En mi opinión, hay dos razones para el control del código fuente: la administración de la configuración y la protección contra problemas / estupidez de los dedos del desarrollador (lo he evidenciado mucho). Si el último es el problema, las sugerencias a continuación (o FileHamster como se recomienda en otra respuesta) harán el trabajo.

Si, como sugiere Dustin Getz, puede tratarse de gestión de configuración, ramas, etc., entonces las recomendaciones de SVN u otro programa de control de código fuente son mejores que mis sugerencias.

Entonces, no lo usé, y no es gratis ($ 32), pero apareció Google

TrackMyFiles - http://www.trackmyfiles.com/en/features/

  • Rastrea y almacena los cambios en los archivos automáticamente
  • Le permite ver y restaurar versiones antiguas de archivos
  • Las versiones de archivo importantes se pueden etiquetar explícitamente
  • Compatible con la mayoría de los tipos de archivos, como documentos de Microsoft Word® y presentaciones de Microsoft Powerpoint®
  • Almacenamiento eficiente de cambios a través del algoritmo de compresión delta
  • Integrado en el Explorador de archivos de Microsoft Windows® para un funcionamiento perfecto

Versión de prueba de 60 días disponible, según ese sitio web

O, si está utilizando Vista, hay una copia de sombra incorporada. Consulte http://en.wikipedia.org/wiki/Shadow_Copy


1

@Lukman y Paul, me gusta la idea de esos sistemas simplificados de control de versiones para documentos normales, pero creo que es un error usarlos para el código fuente: la imposibilidad de bifurcar, fusionar y compartir realmente te va a detener.


1
Depende Se ajusta a lo que solicitó el OP. En mi opinión, hay dos razones para el control del código fuente: la administración de la configuración y la protección contra problemas / estupidez de los dedos del desarrollador (lo he evidenciado mucho). Si el primero es el problema, estoy de acuerdo con usted. Si es el segundo, todas estas soluciones servirán.
El arquetípico Paul

1

Algunas reflexiones:

Puede que le guste SVK, que parece conectarse a SVN. No lo he probado yo mismo, pero parece interesante.

http://svk.bestpractical.com/view/HomePage

Herramientas como Trac proporcionan una exploración de repositorio SVN decente y puede valer la pena examinarlas.

Si tiene problemas para encontrar la jerga correcta para buscar, busque 'instantáneas'. También es posible que desee crear algún tipo de proceso de archivo en su sistema de compilación para que cada vez que ejecute make, obtenga una instantánea automáticamente (o lo que tenga sentido para su situación).


1

Tengo cron (busca en google y elige uno que te guste) y luego un script de línea de comandos para ejecutar pkzipc en mis carpetas de souce cada dos horas. Una vez que vinculé el inicio de cron a mi inicio, lo inicié y lo olvidé. me ahorró 1 vez cuando en una noche de congelación tardía escribí del / f / s * .cs


1

Windows Vista Business, Enterprise y Ultimate tienen esta característica incorporada;)


¿Cómo se llama, qué hace exactamente, cuáles son las compensaciones? ¿Tal vez estás hablando de instantáneas de volumen?
redtuna

1

Querrá comprobar esto si está interesado en Time Machine de Apple y tiene un sistema operativo de plataforma Windows.

http://www.genietimeline.com

Beta se lanzará pronto ... Es posible que desee registrarse ... No puedo esperar para tener en mis manos Genie Timeline ...

Aparentemente, sus características incluyen CDP en tiempo real, versiones infinitas de archivos, copia de seguridad automatizada, integración de Windows al núcleo ... He estado esperando que este tipo de software se lance en Windows durante años ...


Una revisión: pc-tutorials.suite101.com/article.cfm/… Yo diría que "detectar automáticamente los archivos de usuario más comunes" es solo una solución, ya que solo hace una copia de seguridad de los archivos creados por el usuario . ¿Cómo restaurar todo el sistema entonces? Parece que no hay integración con, por ejemplo, el software de correo electrónico. ¿Qué hacer después de eliminar algún mensaje? ¿Necesito saber dónde y cómo se encuentra el correo electrónico en el disco duro? ¿Y puedo restaurar un solo mensaje? Hacer una copia de seguridad de prácticamente todo, y la integración con otro software, todavía hace que Time Machine sea única. Gorrón.
Arjan

1

Sugeriría usar un control de versiones que pueda conectar a su IDE. Eso hace que trabajar con él sea muy fácil. Simplemente haga clic en actualizar / confirmar en su árbol de origen y listo.


1

Me gusta almacenar y trabajar en mis proyectos usando Dropbox ( http://www.getdropbox.com/ ). no solo hace una copia de seguridad automática de su trabajo, sino que también guarda revisiones para usted.


Si guarda con frecuencia, esto será un gran desperdicio de revisión en el repositorio de DropBox.
Patrick Desjardins

1

Windows Server 2003 y versiones posteriores tienen una función " Instantánea ", que es similar a Time Machine, pero destinada a un entorno empresarial en red. Es posible que pueda configurarlo localmente si realmente lo desea.

Sin embargo, eso sería realmente una solución inferior al buen control del código fuente. Con el control de fuente, puede ver un historial completo y detallado de cada línea de código en su base de código. Es difícil apreciar lo valioso que es, hasta que lo hayas probado.

Copia sombra



0

Si está literalmente buscando "Time Machine para Windows": Windows Vista viene con Time Warp (ese es el nombre en clave, olvidé cómo se llama la función finalizada). Es casi lo mismo que Time Machine de OS X, solo que con menos exageración.


1
Su nombre es instantáneo y es demasiado amigable para la abuela. Solo puede seleccionar qué tipo de archivos desea respaldar ("música", "imágenes", etc.), no qué carpetas debe monitorear. Solo se ejecuta una vez al día a menos que le indique que haga una copia de seguridad en este momento.

0

Prueba Flashbake . Puede hacer copias de seguridad cada n minutos (a través de cron y presumiblemente el Programador de Windows) archivos que no han cambiado en m minutos (puede ser 0). Necesitaría Python, entonces Cygwin o ActiveState Pyton. Se basa en git y está diseñado para tipos no técnicos.


0

¿Podría usar una máquina virtual y tomar instantáneas antes de realizar grandes cambios? Es bastante fácil retroceder de esa manera, unos 5 minutos y listo :)


vm para Virtual Machine? ...
Patrick Desjardins

0

SlickEdit tiene una buena característica que es similar a lo que está describiendo. Cada vez que guarda el archivo en el que está trabajando, crea una copia de seguridad local (diferida). En su tiempo libre, puede mirar hacia atrás a través del historial local de archivos. Puede usar esto para complementar su repositorio SVN, que SlickEdit también puede integrar.


0

puede probar Genie Timeline, es como la máquina del tiempo de Windows para Windows y puede volver a la versión que necesita usando un control deslizante de tiempo para ver cada versión http://www.genietimeline.com


Ya hay suficientes enchufes para Genie.
Arjan el



0

Mercurial es perfecto para este trabajo.

Siempre que desee tomar una instantánea de su código, esto es todo lo que hace en la línea de comando: ¡ hg commit y listo!

Si desea buscar diferentes versiones de su archivo, es fácil con TortoiseHG utilizando su menú de contexto gráfico al hacer clic derecho en el archivo en cuestión.

Además, es más agradable que SVN porque no ensucia todas sus subcarpetas con directorios .svn ocultos.


¿Qué pasa si no quiero pasar tiempo comprometiéndome, tirando ... pero solo algo automático que realiza un seguimiento de cada cambio, como lo hace Google Docs pero local? ¿Qué sugieres?
skan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.