¿Qué software de control de revisiones usar para Personal Dropbox? [cerrado]

9

Quiero configurar un repositorio de sincronización que sería similar a Dropbox.

Metas / Requisitos:

  1. Gratis (código abierto muy preferible)
  2. Host Linux (probablemente Ubuntu)
  3. Clientes Windows / Mac / Linux
  4. Potencial para múltiples usuarios con acceso limitado (opcional)
  5. Preferiblemente fácil, no necesariamente tiene que ser automático
  6. Control de revisión muy preferible

Básicamente, quiero poder usar varias computadoras, posible con diferentes sistemas operativos, y poder acceder, usar y sincronizar archivos en todas ellas. También quiero tener una copia local del repositorio para cuando no estoy conectado a la red (como si estuviera trabajando en una computadora portátil, quiero mantener un repositorio local para mantener la revisión y fusionarlo más tarde con el repositorio "maestro" )

Por ejemplo, estoy editando algunas imágenes en mi computadora portátil durante el día fuera de mi red, pero cuando llegue a casa, me gustaría sincronizar los cambios, incluidos los cambios incrementales, con mi escritorio en casa.

También me gustaría que mis compañeros de cuarto puedan acceder y usar este repositorio, pero limitar el acceso a ciertos archivos. Por ejemplo, es posible que desee usar esto para hacer una copia de seguridad de los registros financieros, pero no quisiera que tengan acceso a esos archivos.

Soy un programador y estoy familiarizado con SVN, pero sé que eso no sería lo más apropiado, ya que no maneja bien los archivos binarios y no mantiene un repositorio local. Sé que existen mejores opciones, pero realmente no las conozco lo suficientemente bien como para elegir la mejor.

wag2639
fuente
¿Debería ser esto un wiki comunitario?
wag2639
1
No, si me preguntas, esta es solo una pregunta de software de grabación que es poco probable que se responda fácilmente
Ivo Flipse
Estaba pensando en algo mercurial o algo así, pero no sé las diferencias entre ellos.
wag2639
1
¿SVN no maneja bien los archivos binarios? Noticias para mí, ¡para eso lo uso!
Nombre falso

Respuestas:

5

Para subversion, puede tener un repositorio local, solo cree uno localmente y listo. Luego puede sincronizar con un repositorio remoto regularmente usando svnsync. O al revés, use un repositorio remoto y sincronice localmente (como lo hago para las copias de seguridad).

Svn maneja bien los binarios, o al menos tan bien como cualquier otro SCM. El problema con los binarios es que son difíciles de diferenciar, eso no es un error con svn, solo es una propiedad de los binarios.

Git o Mercurial (o Bazaar ) suena más apropiado para sus necesidades, ya que son SCM distribuidos en el sentido de que opera en un repositorio local todo el tiempo y luego empuja los cambios a un repositorio remoto. Mercurial es probablemente el mejor para Windows, ya que tiene buenas herramientas GUI; Bazaar es uno desarrollado por Canonical y Git por Linus. Eso es sobre todas las diferencias entre ellos que a alguien le importan :) Hay comparaciones en la web, aparte de que git no es Windows nativo, Mercurial es probablemente mejor, ya que admite más de "lo que tienes es lo que tienen los usuarios remotos", mientras que Git es más de "lo que los usuarios remotos tienen es lo que les dejas tener" lo que requerirá más esfuerzo de usted dado sus requisitos (ambos, por supuesto, pueden compartir todos o subconjuntos, pero es más fácil para Mercurial tener un subconjunto restringido que Git para compartir todo)

Si desea usar 'ambos', puede tener git-svn o SVK que agregan funcionalidad distribuida a SVN.

gbjbaanb
fuente
7

Sugeriría git. Simplemente configure repositorios diferentes para sus datos financieros y sus datos 'compartidos'. El acceso se otorga a través de ssh.

sml
fuente
Sí, git es la solución.
alexanderpas
La última vez que verifiqué que git no tenía soporte para windows de descenso
Nifle
2
¿Cuando fue la ultima vez? Antes de la última vez (hace más de un año), habría dicho lo mismo, pero ahora hay un cliente decente, TortoiseGit, y el msysgit está bastante bien, a veces un poco molesto. Pero en los últimos meses era bastante estable y utilizable
jdehaan
@jdehaan - Hace aproximadamente seis meses que revisé por última vez Revisaré tus sugerencias.
Nifle
1

¿Hay alguna razón particular por la que Dropbox no funcione para ti? Cubre todo en su lista de características con la adición de soporte para dispositivos móviles. No estoy seguro de que pueda encontrar un sistema de control de versiones "fácil" que maneje bien los archivos binarios.

Si elige ir con Git, aquí hay una publicación interesante sobre el alojamiento de sus repositorios de Git en Dropbox:

http://intranation.com/entries/2010/02/using-dropbox-git-repository/

Esta técnica también debería funcionar con los repositorios Mercurial y Subversion.

Kevin
fuente
Si necesita garantizar la seguridad de los datos, no podría hacerlo con Dropbox porque es un tercero.
Darth Android
Sí, esa es la razón principal, pero también tiene un pequeño límite y no quiero pagar.
wag2639
Si le preocupa la seguridad, solo cifre los datos. Su casa puede perderse en un incendio, o alguien podría entrar y robar su computadora, o su disco duro podría fallar. Es probable que tenga más seguridad de datos con un proveedor de servicios de gran reputación como Dropbox. Sin embargo, puedo empatizar con no querer pagar.
Lèse majesté
1
"Si necesita garantizar la seguridad de los datos ..." ?? Si necesita garantizar la seguridad de los datos, entonces está jodido. Nada es a prueba de piratería. Confías en tu ISP simplemente usando Internet, ¿por qué no confías en Dropbox? En términos relativos (que realmente necesitas usar) Dropbox es el más seguro que existe.
cottsak
1

iFolder . Comprueba sus características para saber si es lo que estás buscando. (No tiene control de revisión, por lo que si esta función es imprescindible , iFolder no es lo que está buscando).

Simplemente guarde sus archivos localmente, como siempre lo ha hecho, e iFolder actualiza automáticamente los archivos en un servidor de red y los entrega a las otras máquinas que utiliza.

GmonC
fuente