Dado que Subversion se ha escrito básicamente para reemplazar CVS, ¿existen razones convincentes para continuar utilizando CVS para el control de versiones?¿Alguna razón para seguir usando CVS?
Respuesta
Sí, si formas parte de una organización más grande que es reacia a cambiar.
Si está preguntando si sería bueno elegir CVS como parte de una nueva instalación, no puedo pensar en una buena razón. Ahora creo que la elección recaería en SVN o GIT, y la elección dependerá de qué encaje mejor en la estrategia de desarrollo de su organización.
Me gustaría dar vuelta a esa pregunta. ¿Hay razones de peso para cambiar a Subversion? Usamos CVS y funciona bien para nuestras cosas. No hay ningún beneficio comercial que podamos ver para cambiar.
Como con todas las decisiones, debe tener un análisis de costo/beneficio para ver si vale la pena. Su pregunta no nos da suficiente información para ayudarlo.
Si cambia el nombre de los archivos (le viene a la mente la refacturación de Java), le agradará SVN, ya que conserva el historial del archivo y puede restaurar la estructura de directorios anterior si echa un vistazo a una versión anterior. CVS carece de esa característica, ya que solo versiones archivos y no directorios. – lothar
De acuerdo, bien, si cambia el nombre o mueve archivos, SVN es mejor: ese es un buen comienzo para su análisis de costo/beneficio [costo = esfuerzo para cambiar, beneficio = ese (más otros sin duda)]. La pregunta aún permanece: ¿el beneficio es mayor que el costo? – paxdiablo
YMMV, pero al menos para nosotros SVN fue considerablemente más rápido que CVS al actualizar y comprometerse. – Badaro
Solo hay un buen argumento que he escuchado a favor de CVS, y es en situaciones donde tienes un proyecto que tendrá muchas versiones y ramas diferentes, en CVS es más fácil simplemente insertar un archivo arbitrario en la rama o etiqueta que necesita cuando la necesita. SVN es más formal sobre estas cosas, y hace que sea más difícil simplemente elegir un archivo y combinarlo cuando lo necesite. Es algo peligroso, pero al igual que los indicadores de memoria directa, a veces solo los necesitas.
Dicho esto, si CVS ya está en su lugar, esa puede ser una historia diferente. Ahí está el cálculo: hay un beneficio en el cambio. Uno podría ser que SVN le da una mejor capacidad para codificar en su computadora portátil desconectada de la oficina. Puede programar archivos para agregar y eliminar, y puede verificarlos cuando regrese a la oficina.
Algunas organizaciones no soñarían en dejar a sus desarrolladores con el código fuente en su computadora portátil, por lo que esto no se aplica a ellos.
Mi opinión es que SVN debería ser su opción predeterminada para nuevos proyectos. Es maduro, su soporte de herramientas es tan bueno como CVS, si no mejor en algunos casos, y realmente no tiene ninguna deficiencia importante sobre CVS.
Dicho esto, GIT está en auge. Todavía es un poco inmaduro (por ejemplo, el soporte de Windows no ha llegado a la etapa de madurez) y el soporte de la herramienta aún se está poniendo al día, pero si la ramificación distribuida es importante para ti, vale la pena echarle un buen vistazo.
"En CVS es más fácil simplemente insertar un archivo arbitrario en la rama o etiqueta que necesita cuando lo necesita" - ¡Qué daño! ¿Por qué hacer control de versiones en primer lugar cuando quieres eludirlo? – lothar
@lothar, como dije, es peligroso, pero supongamos que debe tener una solución en una determinada rama para una determinada versión en poder de un cliente, y desea asegurarse de que no cambie nada más. Caso especializado, seguro. Si tiene una base de código que se vende a clientes especializados de uno en uno, puede ser útil. – Yishai
svn hace que editar ramas arbitrarias sea simple y fácil, y una rama en SVN es un esfuerzo de copia cero. No es así en CVS, y NUNCA quisiera hacer una corrección de tipo único para una sucursal en CVS. CVS fue EXCELENTE, cuando fue una mejora en RCS. Pero 1994 fue hace 15 años, y es hora de seguir adelante. El mundo se ha vuelto más complejo y peligroso. :-) –
- 1. ¿Alguna razón convincente para permanecer en WCF?
- 2. ¿Hay alguna razón para usar esto->
- 3. ¿Alguna razón importante para no usar AJAX?
- 4. ¿Hay alguna razón para lanzar una DivideByZeroException?
- 5. ¿Alguna razón para no usar XmlSerializer?
- 6. ¿Hay alguna razón para usar System.Uri?
- 7. ¿Hay alguna herramienta para reparar archivos RCS/CVS, v?
- 8. ¿Alguna razón para usar NSViewAnimation sobre las técnicas de CoreAnimation?
- 9. ¿Hay alguna razón negativa para usar una solución N-Tier?
- 10. ¿Alguna razón para usar byte/short, etc. en C#?
- 11. ¿Hay alguna razón para no usar AssertionHelper con NUnit?
- 12. ¿Hay alguna razón para tener una propiedad sin getter?
- 13. ¿Alguna razón para no usar anidados usando contextos de entidades EF?
- 14. Hay alguna razón para evitar declaraciones de devolución
- 15. ¿Alguna vez hay una buena razón para usar Insertion Sort?
- 16. ¿Alguna razón para reenviar el bloqueo de una aplicación gratuita?
- 17. ¿Hay alguna razón legítima para ocultar los métodos estáticos?
- 18. ¿Alguna razón para no confiar en ASP.NET AntiForgeryToken?
- 19. ¿Hay alguna razón para usar SGML en lugar de XML?
- 20. ¿Alguna vez hay una buena razón para usar eval()?
- 21. ¿Hay alguna razón para precargar encajables de los recursos?
- 22. ¿Hay alguna razón para preferir UTF-16 a UTF-8?
- 23. API de MapQuest: ¿Alguna razón para usarla en Google Maps?
- 24. ¿Hay alguna razón para usar propiedades privadas en C#?
- 25. ¿Hay alguna razón para no usar las propiedades 'protegidas'?
- 26. ¿Hay alguna razón para bloquear algo diferente a new object()?
- 27. ¿Hay alguna razón para no usar "esto" ("Self", "Me", ...)?
- 28. ¿Hay alguna razón para usar Object.create() o new en JavaScript?
- 29. ¿Alguna razón para no registrar siempre los rastros de pila?
- 30. ¿Hay alguna buena razón para usar Websockets fuera del navegador?
Una razón podría ser la integración de herramientas. CVS generalmente está bien soportado en todos los IDE modernos, pero puede que subversion o git no lo sean (basta con mirar Eclipse). –
Los tres son compatibles con IntelliJ (solo se dice). Sé que Eclipse ciertamente es compatible con Subversion en este momento (plug-in de Subclipse). – duffymo