
Parece que algo se mueve sobre el mundo de los SCMs (Source Code Management; aunque tb. podría ser las siglas de Software Configuration Management; quizás para evitar el equivoco se podría usar mejor las siglas RCS de Revision Control Software; y otro final Version Control System, VCS). Y que es que parece que git [en]está cogiendo base de usuario.. Sirva este post para recopilar enlaces sobre el tema.
Todavía no lo he probado, pero lo haré en breve.
Mi experiencia hasta la fecha con SCMs ha includo: CVS,SVN, Sourcesafe, un producto propietario de TID, y otra herramienta que ahora no recuerdo.
Mi uso con CVS y SVN ha sido muy básico. Tanto que nunca he tenido que hacer un merge de una rama. En la mayoría de proyectos en los que he estado el uso que se hace a los SCMs ha sido bastante básico: no politicas diferencias de acceso al repositorio, no branching, ...
Con lo que me quedo de git, así en breve tras lo que he podido leer:
- Es distribuido (DVCS), con lo cual cambia y bastante el procedimiento de trabajo.
- Parece muy indicado para proyectos muy grandes.
- Pero parece también indicado para usarlo en proyectos personales donde estas experimentando por su facilidad para la gestión de las ramas.
- Se puede combinar junto a SVN.
Y eso así a bote pronto, sin entrar en mas temas técnicos, que para eso ya voy a dejar unos cuantos enlaces. Para empezar unos enlaces adicionales de la wikipedía sobre el tema:
De la lista de RCs me ha llamado la atención que hay varios implemetados en python: Bazaar, Mercurial y Codeville.
Por otro lado indicar que git no es el único distribuido, también están: Motonone, Mercurial, Code Co-op, Arch, Darcs, DCVS, Codeville, PlasticSCM, SVK, Telelogic Synergy, Bitkeeper. Pero vamos... que los que mas parecen sonar ahora aparte de git es Mercurial.
Llama la atención Darcs, no sólo por ser distribuido, sino por estar implementaro de Haskell.
Y la lista de referencias... En primer lugar indicar la web de git.
En primer lugar comentar que me parece muy interesante ver el video de la charla que dio Linus en google sobre git (resumen aquí).
El tono de Linus, no me convence mucho. Es demasiado 'radical', pero bueno... también puede ser su pose para promocionar git.
En los siguientes dos enlaces podeis ver condensadas las diferencias con SVN:
Aquí un curso rápido para gente de svn.
Y para finalizar unos links con 'discusiones' sobre el tema:
- la del video
- sobre el video en slashdot
- The Future of Subversion (recomendable)[slashdot]
- Practical Reasons To Choose Git Or Subversion [slashdot]
Me despido con una cita. Buen finde...
"You do realize that a distributed VCS can perfectly be used like a centralized VCS, don't you ? Declare any repository as the "central" one and decide that everybody should push/pull to/from it. That's their power: discributed VCS don't force you into a specific workflow, you choose how you want to use them. "
6 comentarios:
Ya tuve la ocasión de ver terminar la chala de Linus. Recomendable 100%.
Como anecdota interesante dice que en el kernel tienen unos 22.000 ficheros y hacen de media unos 4.5 merges por dia.
Con respecto a otros productos comenta que git es muy bueno en rendimiento y en ahorro de espacio.
Comenta también que en lugar de tener un sólo repositorio es conveniente tener varios, ya que cuando te lo descargas te lo descargas entero. Por lo tanto hay que planificar antes que repositorios vas a tener. Se ha parecido enteneder que tienen un repositorio para controlar al resto.
Otra cosa muy interesante es que no está enfocado en ficheros, sino en el contenido. Por lo tanto puedes tracear el movimiento de una función (por ejemplo) de un fichero a otro. Te lo dice.
También ha remarcado el tema de la seguridad en la no corrucción del contenido (usan SHA1). Dice que es muy seguro.
Con respecto a SVN comentan en que es un error el hacer ramas con facilidad. Ese no es el problema. Es trivial. El probleme *real* es hacer merges con facilidad.
Y para acabar, con él eres capaz de hacer cosas que actualmente nadie puede, en plan de tener overviews de historias a nivel de proyecto (me ha parecido entender).
Nota: parece que en google code alojan como 27.000 proyectos (en SVN).
Bueno... ya sólo queda probarlo.
Otro link.
Linus tb. comenta que es muy similar a Mercurial.
Un video tb. en google sobre mercurial.
Python migra a Hg.
Y el pep relacionado con la decisión.
Publicar un comentario