¿SVN está fuera de estilo? [cerrado]

9

Han pasado solo varios años desde que migré de Visual Source Safe a SVN. Y SVN para mí todavía es un poco "¡GUAU! ¡Puedo hacer tantas cosas! ¡SVN es genial!"

Pero mucha gente a mi alrededor sigue diciendo "SVN? ¿En serio? Meh ..."

Y hay tantos de ellos que estoy preocupado. ¿Debo mover mi equipo a Git / Mercurial o alguna otra cosa elegante? Sé que sueno ridículo y la respuesta obvia sería "quédate con lo que funciona para TI". SVN funciona para mí ... Pero cada vez que creo un nuevo proyecto en mi repositorio sigo preguntándome: ¿puede ser este el momento de mudarme?

Entonces ... ¿SVN es realmente tan malo? ¿Me pierdo una gran oportunidad si me quedo con ella?

jitbit
fuente
Esta podría ser una lectura interesante: stackoverflow.com/questions/161541/svn-vs-git
fouronnes
¿Eres un desarrollador independiente?
TeaDrinkingGeek
66
Siempre usé GIT. Ahora tengo que usar SVN en el trabajo ... ... ... ... ... ... ... RAGE.
Ivo Wetzel
@TeaDrinkingGeek: OP dice "Debería mover mi equipo ...", así que supongo que hay más que solo el OP involucrado (a menos que cuentes un equipo de uno por equipo, pero por lo general no se conoce como "mi equipo" )
FrustratedWithFormsDesigner
lol lo siento amigo, los ojos están un poco borrosos después de 12 horas en la computadora portátil :)
TeaDrinkingGeek

Respuestas:

8

Depende completamente del uso.

Si tiene un equipo de personas en una sala y hacen la mayor parte de su trabajo allí, si tiene un proceso de compilación e implementación que ya le gusta, y si no está buscando compartir su código con otras personas (como lo haría con un proyecto de código abierto), entonces no deberías preocuparte.

Hace un año cambié de Subversion a git. Git perfectamente adecuado para ese caso de uso principalmente local, pero donde realmente brilla es el desarrollo distribuido. Utilizado localmente, es bueno tener github como una copia de seguridad remota y una bonita interfaz web para el código, y me facilita la participación de los contratistas. Pero no estoy obteniendo mucho de eso ahora que no estaba obteniendo de Subversion.

William Pietri
fuente
8

No te dejes llevar por la corriente constante de exageraciones. Tiene algo que funciona, siga usándolo hasta que haya un requisito comercial que se cumpla mejor con otra cosa (no, un nuevo sistema de control de fuente brillante o lenguaje de programación cada pocos meses, siempre que algo "nuevo y mejorado" se promocione, NO va a funcionar para cumplir con los requisitos de su negocio mejor que el que está usando ahora).

Si SVN funciona para su organización, por lo tanto, no hay razón para invertir el dinero / tiempo / esfuerzo necesario para pasar a otra cosa, por mucho que algunas personas quieran porque es nuevo y brillante.

Y no, esa no es (como JBK piensa) una decisión que debería depender del "equipo", es una decisión que depende de la administración después de consultar con todas las partes interesadas (que incluye al menos a sus administradores de sistemas). Es una decisión comercial gastar dinero en cambiar su pila de tecnología, no una decisión técnica.

jwenting
fuente
Te votaría un millón de veces si pudiera.
HLGEM
5

Creo que uno nunca debe tomar decisiones por ignorancia. Si no sabes lo que te estás perdiendo, deberías probarlo hasta que lo hagas, entonces puedes tomar una decisión informada. El salto al control distribuido realmente no se puede comprender sin probarlo y dejar de lado algunos viejos hábitos mientras lo hace. La mayor parte del poder de DVCS es que puede crear tantas ramas como desee, por el motivo que desee. Si lo prueba durante un mes y no ha creado al menos 5 sucursales más o menos, no lo probó en sus propios términos. Este es el error de la mayoría de las personas que no "entienden" git. Después de eso, si regresas a svn, al menos sabrás las razones por ti mismo.

Karl Bielefeldt
fuente
55
Estoy totalmente a favor de tomar la mayoría de las decisiones por ignorancia relativa. Sugieres que se tome un mes para probar git. Eso es trabajo real. Solo debería hacerlo si hay alguna razón para creer que mejorará mucho su situación. De lo contrario, probablemente haya algo más en lo que debería pasar su mes de experimentación. Por ejemplo, redis o mongo o rails o node.js o BDD cualquiera de las nuevas cosas igualmente populares.
William Pietri
Pero Git es una cosa nueva y caliente. Y la experiencia de muchos usuarios de Git sugiere que mejorará mucho su situación.
Kyralessa
3

No he usado Git, pero he usado Mercurial, y realmente no veo cuál es el problema. Se siente mucho como SVN, excepto que las cosas básicas como el check-in y el check-out son más complicadas (requiere dos pasos en lugar de uno). A cambio, se supone que debe hacer muchas cosas más avanzadas que nunca he necesitado hacer de manera más simple. Mi reacción a las afirmaciones de que DVCS es de alguna manera inherentemente superior es básicamente: "OK, claro, aceptaré tu palabra", y luego continúo con SVN, lo que funciona bien para mí.

Mason Wheeler
fuente
El gran problema de DVCS es que puede hacer todo su trabajo "sin conexión". Esa característica impone el requisito de que el DVCS tenga un poderoso mecanismo de fusión que pueda manejar rebases y ramificaciones; El tipo de tareas que simplemente no son posibles con un VCS centralizado. La superioridad que las personas afirman proviene de los flujos de trabajo habilitados en lugar de la superioridad técnica. Si no usa o necesita ese tipo de flujo de trabajo, también está bien.
greyfade
1
Eso es porque el registro y el registro no existen en DVCS. Está utilizando hg como reemplazo de SVN en lugar de usar hg de la forma en que debe usarse. Lo mismo se aplicaría a cualquier DVCS.
alternativa
@Mathepic: Bueno, puede cambiar el nombre si lo desea, pero el concepto fundamental de transferir datos entre la copia de trabajo local y el repositorio oficial existe en cualquier sistema de control de fuente.
Mason Wheeler
1
No, no lo hace. No existe tal operación en un DVCS.
alternativa
3
sí, el objetivo de un repositorio central para impulsar la versión 'maestra' es un caso de uso muy válido, ya sea para copia de seguridad, servidor de compilación, administración de versiones, o simplemente una forma de coordinar mejor entre los equipos.
gbjbaanb
-2

La respuesta obvia aquí es dejar que el equipo decida y debata cuál es la mejor opción para todos para que no sea alguien quien tome las decisiones en el vacío. Puede haber varias opiniones y preocupaciones que abordar, pero prefiero sugerir buscar una respuesta consensuada en lugar de tratar de ser dictatorial sobre qué usar.

JB King
fuente
3
¿Tiene alguna idea del costo en horas de cambio de un sistema de control de fuente a otro o el riesgo de perder cosas en el proceso si alguien nuevo en el nuevo sistema comete un error al convertir el código existente? Esta NO es una decisión del equipo, es una decisión comercial y solo debe llevarse a cabo si tiene necesidades reales que su sistema actual no puede satisfacer.
HLGEM