two tortoise subversion repositorio estructura create crear branches svn version-control visual-sourcesafe

tortoise - svn merge branch to trunk



Cómo convencer a una empresa de cambiar su Source Control (14)

Mi lugar de empleo actual se encuentra actualmente en una transición, la nueva propiedad se ha hecho cargo, las cosas finalmente se están estandarizando y se están aplicando las pautas adecuadas.

Pero todavía estamos usando VSS, realmente no hay ninguna razón para usarlo, entonces eso es lo que inicialmente se configuró. No usamos Visual Studio ni ninguna herramienta realmente que lo requiera específicamente.

¿Cuál sería el mejor argumento absoluto que puedo presentar para ayudar a convencerlos de que ir a algo como Subversion sería una solución mucho mejor, a largo plazo?


¿Por qué Subversión sobre VSS?

  • Software libre
  • Más fácil de administrar
  • "check-ins" son atómicos !
  • Fácil de ramificar y fusionar
  • Desarrollo continuo (es decir, VSS es callejón sin salida)
  • Mejores herramientas para rastrear cambios y ver registros
  • Conjunto de herramientas y agnóstico de plataforma, pero también se integra con muchas herramientas

Hice la propuesta a mi gerente, y fue una venta bastante fácil. Descubrí que es mucho más fácil de usar, especialmente para la bifurcación (nuestro proyecto tardó 5 horas en "compartir y fijar" en VSS, y luego cada operación tomó más tiempo para completarse).


Cualquier documento que pruebe el cambio reducirá los costos. En su defecto, gráficos y cuadros multicolores. Tal vez una presentación de power point.


El mejor argumento debería ser la razón por la que desea que cambien a subversión. :)

No sé absolutamente nada sobre VSS, pero me viene a la mente la frase "si no está roto, no lo arregles". Debe mostrarles a sus gerentes que VSS está roto y necesita ser reparado. Aún mejor si puede mostrar a la administración cómo les ahorraría dinero.


Haz que busquen en google ''problema de vss'', ''corrupción segura de fuente'' o simplemente mira la página de Wiki para obtenerla. Eso debería convencerlos de que probablemente no sea una cosa viable a largo plazo para que apueste una parte tan vital de su negocio.

¿Qué tan grande es tu equipo? (es decir, me refiero a cuántos miembros, no si eres o no evasores de ensaladas). Una vez que empiezas a tener más de media docena de usuarios bastante activos, VSS te va a dar dolores de cabeza.

Dudo seriamente que Microsoft lo use (de hecho, ¿no usan una versión personalizada de Subversion o CVS?) Y debe preguntarse a sí mismo: si la empresa no come su propio alimento para perros, ¿por qué lo comería?


Incluso si no está roto, existe un beneficio potencial para la migración desde VSS. Primero y más trivialmente, no tendrá que comprar nuevas licencias de VSS. En segundo lugar, hay muchos ejemplos de deficiencias en el producto VSS (algunos también reconocidos por MS). La curva de aprendizaje para SVN es al menos tan baja como para VSS, y si los desarrolladores están más contentos con su sistema de control de origen, es más probable que lo utilicen temprano y con frecuencia. Eso se traducirá en mucho menos riesgo para su empresa, y ese es un buen beneficio.


Internet está plagado de artículos bien escritos sobre los defectos de VSS. Recogería esto como evidencia para alejarme de VSS. Encuentre un requisito clave que VSS no puede admitir (trabajo remoto, soporte en otros sistemas operativos, integración de herramientas) y úselo para manejar su problema. Luego necesita encontrar un sistema de control de fuente que coincida con los requisitos de su organización. ¿Está seguro de que Subversion es ese sistema? Configure una demostración de su sistema elegido y utilícelo para demostrar su valor.

Implementé este cambio en un empleador anterior (primero en CVS, y luego en SVN), y aunque fue exitoso, tuvimos que construir muchos bits al límite y confiar en una gran cantidad de proyectos de código abierto (a veces no confiables) para obtener todas las herramientas que necesitábamos En retrospectiva, debería haber considerado intentar evaluar herramientas profesionales como Perforce, Vault o incluso Team System. Una vez evaluados estos, podría haber realizado un juicio de valor adecuado sobre si CVS / SVN valían su precio "gratuito".


La respuesta básica es que debe argumentar que el cambio satisface las necesidades del negocio. Por ejemplo:

  1. menor costo de desarrollo
  2. horario más corto (otro tono de # 1)
  3. más apto para cumplir con los requisitos del proceso (como la rastreabilidad de los requisitos del software, o la reproducibilidad de compilación, etc.).

Explicar el caso de estas cosas también requiere algo cuantitativo, no solo "reduciremos los costos porque esta es la forma correcta de hacerlo".

Una cosa a tener en cuenta es que es demasiado fácil para un desarrollador convencerse a sí mismo de que sería beneficioso realizar el cambio sin pasar antes por los filtros básicos de negocios. Una vez que eso sucede, terminas con desarrolladores que no están contentos con sus herramientas y se sienten doblemente frustrados porque piensan que la gerencia no los escuchará. Si no puede marcar una de las cosas anteriores, no tendrá ninguna posibilidad de persuadir a la administración de algo (a menos que la administración sea incompetente, pero eso es por otra cuestión).


Simplemente revisando las características que ofrece el buen control de fuente:

  • capacidad de ver fácilmente los registros de quién hizo qué, cuándo y en qué orden, a qué archivos
  • mantener un historial de versiones pasadas de todo
  • vuelva fácilmente y reproduzca una versión específica de sus archivos desde cualquier versión pasada, para reproducir con mayor facilidad los errores reportados en versiones anteriores
  • capacidad de recuperar código eliminado o eliminar cambios no deseados, sin tener que preocuparse por perder datos en el proceso

VSS confía totalmente en los clientes para administrar la base de datos. Si un cliente deja de conectarse en el medio de una escritura a través de la red en el momento equivocado, su archivo se descarta en el servidor. No solo el consejo, sino toda la historia. Espero que tengas una buena copia de seguridad. He pasado por eso. Son malas noticias.

El uso de VSS sobre VPN u otras conexiones remotas es abismal. Está utilizando SMB para transferir los datos, y tiene que recuperar el archivo y todos sus deltas solo para obtener la sugerencia. Asqueroso.

He visto a VSS comenzar a actuar con 1 GB de datos. Errores de base de datos, etc. MS (en algún lugar de las Preguntas frecuentes o KB) dice que 2 GB es realmente el límite máximo de seguridad. No hay buenas herramientas de administración (los clientes ejecutan el asilo), por lo que realmente no recibe ninguna advertencia al respecto.

Cualquier cosa con un proceso de servidor para proporcionar algún nivel de transacciones y control de integridad es una solución superior.


ser capaz de manejar la bifurcación y bifurcación es un comienzo.

Intenta usar subversión por un tiempo en paralelo a vss; lo más probable es que encuentres muchos argumentos para convencer a tu jefe. Si no lo haces, tu jefe tiene razón, no hay razón para cambiar.


Anteriormente escribí sobre por qué VSS no es una buena idea. Es posible que pueda obtener algo de información de eso. También este artículo y este contienen más información.

VSS 2005 ha empapelado algunas de las grietas en 6.0, pero no de una manera particularmente convincente. La misma base con muerte cerebral permanece.


@Jason: VSS está roto.

Creo que el método más poderoso para motivar un cambio de VSS es señalar qué tan crítico es un activo su código fuente. Tomar riesgos con su integridad no es una buena opción comercial.

Agregue que sus programadores son los creadores de este activo, y que hacer que sea más fácil para ellos ser productivos significa más valor en su activo de código fuente. Joel en Software a menudo habla de cómo invertir en sus programadores es una gran victoria para su compañía.

Las otras respuestas aquí describen todos los motivos específicos que puede señalar al presentar su caso.


Además de los puntos técnicos dados en otras respuestas, puede haber razones no técnicas que acechan que debe estar preparado para responder a:

Debe investigar si su empresa tiene algún tipo de política contra (o miedo equivocado) al software de código abierto. Si la compañía o sus abogados no entienden los pormenores de las licencias que "infectan" el código propietario y las que no, así como también lo que puede hacer con el código fuente abierto que no afecta su código de propiedad, usted lo hará. tienen dificultades para lograr que cambien de una herramienta propietaria a una herramienta de código abierto. (Y puede tener un trabajo de educación más grande en sus manos).

Al abogar por el cambio de propietario (por ejemplo, VSS) a código abierto (por ejemplo, subversión), también deberá estar preparado para defender la calidad del código y la falta de cualquier necesidad de garantía u otros derechos contractuales con respecto al código.


@ Adam Davis : Uhhh en realidad Adam, VSS es un horrible sistema de control de fuente. Tiene una larga historia de corrupción de la historia y pérdida de datos. Es terrible en la fusión, no maneja bien a muchos desarrolladores y es muy lento. Además, la historia es pobre. Microsoft ya no lo soporta, notará que nunca lo usaron para su propio desarrollo interno y ahora ni siquiera lo venden a favor de una solución más moderna (VSTS). En resumen, si tiene que elegir entre VSS y cualquier otro tipo de control de fuente, vaya con la alternativa.