two tortoise que informatica create branches svn version-control visual-sourcesafe

tortoise - SVN? VSS? ¿Por qué es uno mejor que el otro?



svn merge branch to trunk (14)

"¿Visual SourceSafe? Sería más seguro imprimir todo su código, ejecutarlo a través de una trituradora y prenderle fuego " . (Atribuido a un empleado de Microsoft no identificado) .

SourceSafe tiene muchos problemas y no tiene funciones de canje. Hay varias alternativas disponibles y multiplataforma que son más seguras, más rápidas y más potentes. La subversión es probablemente la más utilizada de estas. Algunas personas prefieren sistemas de control de versiones distribuidas como Git , Mercurial o Bazaar .

Algunos leyendo acerca de por qué VSS es tan malo:

Tiendo a tener la sensación de que la mayoría de la gente piensa que SVN es una bagatela dorada, mientras que VSS es el peor programa jamás concebido (al menos como Control de versiones).

Dicho eso, ¿por qué? He usado algunos CVS, y mi trabajo actual usa VSS, y por un gruñido en la perspectiva del equipo, realmente no puedo decir tanta diferencia. La mayoría de las diferencias que he visto son cosméticas. Por supuesto, no he intentado hacer ninguna bifurcación / fusión en ninguna de las dos, pero como codificador que entra, comprueba archivos, trabaja en esos archivos y los revisa al final del día, ¿por qué querría 1 sobre el ¿otro?


Bueno, CVS y VSS son prácticamente lo mismo en lo que respecta a la funcionalidad. Entonces no son un buen punto de partida para comparar cada uno de ellos.

Sin embargo, probablemente nunca verá una diferencia entre SVN y VSS si los usa como un gruñido en el equipo. Realmente tiene que comenzar a usarlos como un gerente de proyecto para ver realmente las diferencias, como la ramificación, la fusión, etc.


De hecho, creo que Perforce es la bondad dorada. Las herramientas de GUI son lo suficientemente buenas como para poder dárselas a un diseñador o artista y hacer que usen el control de código fuente como nosotros desarrolladores. Estoy bastante seguro de que la ventana Archivo VSS-> Agregar archivos es anterior a Windows 95. El concepto completo de archivos en uso bloqueados es absurdo. ¿No lo resolvimos hace décadas con el control de versiones CONCURRENT? He experimentado corrupción histórica y (corríjanme si me equivoco), pero VSS ni siquiera admite sucursales y fusiones.


Mi última compañía pasó de VSS a SVN debido a

  1. Expansión. El número de programadores se duplicó y no deseamos desembolsar las licencias VSS adicionales
  2. Loco. VSS es bueno para mantener la última versión de un archivo, pero las historias a menudo se corrompen.
  3. Más errores. Las herramientas de comprobación / recuperación fueron inútiles, ya que comenzaron a fallar cuando la base de datos se hizo muy grande.

Microsoft, que hace que Visual Source Safe, no lo use internamente para proyectos de cualquier tamaño significativo. Esa es una marca importante en contra, en mi libro. Y al usarlo para proyectos grandes, entiendes por qué; es LENTO, y Dios te ayude si alguna vez decides dejar que se fusione automáticamente algo.


SVN funciona bien desde el punto de vista del desarrollador, pero la forma en que almacena la información de configuración en todo el árbol de directorios es exasperante para los administradores del sistema (especialmente los encargados de moverlo a otro servidor cuando los desarrolladores se niegan a realizar un proceso de confirmación / reinscripción). :) ¡Entonces, no es TODA la bondad dorada!


VSS no es atómico , por lo que si se obtiene una versión más reciente durante un check-in grande de otro usuario, se producirá un archivo incompleto. Esto también empeora si trabaja en una WAN debido al diseño de VSS para trabajar con las acciones.


VSS tiene una historia realmente mala que tiene que superar. Las versiones más recientes parecen ser más estables, pero todavía tiene una tonelada métrica de equipaje negativo que está cargando.


El viejo argumento de integración en Visual Studio ya no funciona. AnkhSVN 2.0 ofrece una solución integrada y VisualSVN integra TortoiseSVN en Visual Studio.

Y TortoiseSVN en sí mismo es razón suficiente para cambiar para muchos usuarios.


Sé que es fácil elegir VSS, pero es importante recordar algunas cosas (¡salir de las malas hierbas por un segundo!)

  • Para los pequeños equipos de desarrollo de Microsoft, VSS es una solución muy fácil de implementar, donde la alternativa es NO CONTROLAR LA VERSIÓN.
  • VSS no tiene costo, no requiere servidor (que no sea un recurso compartido de archivos).
  • El demoninador común más bajo.
  • Generalmente funciona, y varias tiendas lo usan.
  • Prefiero tener VSS como una opción que para que no exista.

No tiene que estar de acuerdo conmigo en todos estos puntos, solo estoy demostrando que tiene su lugar, y tiene valor en diferentes escenarios.


Tengo problemas con VSS con código Java. Mientras que es una getLatestVersion, VSS no puede manejar la estructura anidada de proyectos y paquetes en java. Tengo estructuras de carpetas completas para el mismo. SVN es bastante simple en este sentido.


SVN tiene algunas características importantes sobre CVS / VSS, como compromisos atómicos, copias baratas, almacenamiento más eficiente en el lado del servidor.

SVN no es, sin embargo, el único sistema de control de revisiones que existe ... Hay muchas aplicaciones de control de revisiones diferentes. Una nueva tendencia parece ser hacia el control de revisión distribuida, como Git o Mercurial .


Deberías ejecutar VSS tan pronto como puedas. Si no has tenido problemas con esto en el pasado, deberías hacerlo. Es como una bomba de tiempo de la ruleta rusa: nunca se sabe cuándo va a explotar.

SVN es una gran herramienta y muy fácil de configurar, administrar. Las herramientas de administración para hacer copias de seguridad o replicar son muy buenas.

Yo recomendaría SVN sobre VSS cualquier día.