¿Cuáles son las razones para usar SVN sobre un sistema de files basado en la nube?

He visto esta pregunta y estaba cerrada. Así que lo siento si esto no está permitido aquí, pero esta pregunta realmente me está molestando, y todavía no he podido encontrar una respuesta satisfactoria.

¿Cuáles son las razones actuales para usar un sistema de control de versiones (como SVN)? Con filesystems basados ​​en la nube, ¿no podría simplemente usar eso? ¿Especialmente si en el caso de una "colisión" no puede depender de la fusión automática de files de todos modos?

Supongo que para proyectos más grandes es importante tener una forma formal de manejar permissions, etc. ¿Pero qué pasa con los grupos más pequeños (de entre 2 y 10 personas)?

Entonces, para concluir esta publicación llena de preguntas: ¿alguien puede dar ejemplos (prácticos) donde Dropbox no cumple con el control de versión correctamente, y svn sí?

Aquí hay algunas razones por las que Dropbox no es bueno para el control de fuente

  1. Solo ve cambios, pero no ve un set de cambios o la razón (por ejemplo, corrección de errores, implementación de características). Cada vez que te comprometes con un control de fuente, le explicas a los demás tu intención de dichos cambios.
  2. Copia flexible: en Dropbox, no puede implementar el concepto de bifurcación y fusión sin explotar su uso de espacio (y consecuentemente todos los demás en su equipo).
  3. No tienes historial ilimitado (aunque es poco probable que sea un gran problema)
  4. Tienes pocos ganchos API para trabajar, por ejemplo, quieres ejecutar alguna validation en el código cada vez que hay un nuevo file cpp? Tendrá que recurrir a las encuestas si usa Dropbox.

DropBox y el sistema de control de versiones (como SVN) están diseñados para diferentes propósitos. Dropbox se usa principalmente para save / compartir fotos, documentos, etc. Con una herramienta de control de versiones, puede rastrear historiales de un file / proyecto, compartirlos con los miembros de su equipo y muchas cosas más para ayudarlo a administrar su código fuente , documentos, etc.

¿Especialmente si en el caso de una "colisión" no puede depender de la fusión automática de files de todos modos?

Por lo general, una herramienta de control de versiones viene con una herramienta diff / merge que le permite fusionar files automáticamente o manualmente.

Supongo que para proyectos más grandes es importante tener una forma formal de manejar permissions, etc. ¿Pero qué pasa con los grupos más pequeños (de entre 2 y 10 personas)?

Depende principalmente de ti. Si desea que todos los miembros de su equipo tengan el control total de todos los files bajo control de fuente, no es necesario que configure los permissions. De lo contrario, como si no editara files en un proyecto específico, aproveche la administración de security en el sistema.