Cuando se desarrolla software (o cuando se escribe, en general), es muy conveniente utilizar algún sistema de control de versiones (o revisiones), en inglés revision control system.

Vamos a usar esta página para poner referencias interesantes (en lugar de reescribir lo que ya está mejor escrito por otros). Hay muchas referencias a la Wikipedia, tanto en castellano como en inglés. Usualmente esta última es más completa.

La Wikipedia en inglés tiene una lista de software de control de versiones que les puede dar un pantallazo de lo que hay hoy en día.

Yo simplemente les paso un par de links sobre los dos que yo conozco

CVS

CVS (Concurrent Versions System) es uno de los primeros sistemas de código abierto de este tipo (data de mediados de la década de 1980).

  • CVS en la Wikipedia en castellano
  • CVS en la Wikipedia en inglés
  • El libro Open Source Development with CVS de Karl Fogel y Moshe Bar fue publicado bajo la licencia GPL, con lo cual se lo pueden bajar gratuitamente del sitio. Si tienen que usar CVS, este libro es la posta (yo aprendí a usar el cvs con la primera edición -en papel- de este libro).
  • Hay un wiki CVS en inglés que es lo más parecido a una página oficial del CVS. De allí se puede bajar el paquete.
  • El manual oficial de cvs es "el Cederqvist" (llamado así porque lo escribió un tal Per Cederqvist) además de venir incluido en el paquete está en línea en formato html y formato wiki.

Subversion

Subversion (svn) es uno de los tantos intentos de resolver los problemas que han aquejado al CVS durante mucho tiempo. Su desarrollo comenzó a principios de 2000 y hacia fines de 2001 era suficientemente estable como para mantener su propio respositorio (que hasta entonces se mantenía con CVS). El repositorio de la materia utiliza este software.

Si bien desde bastante antes ya era un producto estable, la versión 1.0 recién se publicó en febrero de 2004.

Aprendiendo subversion

LEAN los siguientes capítulos del libro de subversion que son los necesarios para poder utilizar la herramienta:

Si son realmente valientes, pueden intentar empezar con

Además cuando trabajen con subversion, es cómodo tener a mano la parte de referencia:

Otros

Realmente no tengo experiencia con otros paquetes. Alguna vez instalé el cliente de Mercurial porque estaba un paquete que se mantenía con ese software, y el de Darcs por el mismo motivo...

SVK está basado en subversion y maneja repositorios distribuidos.

Posiblemente estos y otros paquetes que funcionan con repositorios distribuidos sean mejores para algunos proyectos, yo no estoy en condiciones de aconsejarlos al respecto ya que nunca hice nada más que un checkout (o su equivalente moral).