[Py-MAD] Mercurial y GIT

Pachi pachi at rvburke.com
Sun Mar 3 11:20:27 CET 2013


El 03/03/2013 0:48, J. Javier Maestro escribió:
> 2013/3/2 Andrey Antukh <niwi at niwi.be <mailto:niwi at niwi.be>>
>
>
>     Solo tengo una pega a esto. Es mercurial es que aveces va a
>     matacaballo para parecerse a git.
>     Y si te refieres al hecho de que en mercurial la historia es
>     inmutable, eso es una escusa absurda
>     cuando en la charla se ha quedado muy claro que si es mutable, aun
>     siendo ligeramente mas complicado
>     mutarla que en git :D
>
>     Mercurial solo te pone trabas! No te imposibilita como bien dijiste!
>
>
> No sólo es así, sino que, si entendí bien el flujo de trabajo que 
> sigue Jesús en cpython (moviendo código/parches entre clones 
> distintos, etc):
>
>  - Es exactamente lo que git hace por defecto mediante ramas, pero 
> haciéndolo complejo/difícil/error prone, IMHO.
>  - No preservas la historia *para nada*. Es decir, no preservas más 
> historia que la que quieres preservar... como pasa con git.
>
> Lo de "preservar la historia" creo que ha quedado patente que es 
> falso. Ambos te permiten modificarla (el que sea difícil no vale, vete 
> a decirle a ese juez que nombraba Jesús que "Señoría, esto es 
> totalmente válido porque yo no lo sé tocar!"), por lo que este 
> argumento no vale. El 99% de las discusiones de la "historia" que he 
> visto en esta lista están basadas en miedos de hacer burradas que 
> NADIE hace en la vida real con un arbol PÚBLICO! Si es un arbol 
> privado... qué mas da lo que hagas con la historia!?? Quiero algo que 
> me deje hacer lo que me da la gana y no me complique la vida.
>
> Ahora, si vamos a hablar de la porcelana / CLI, etc... yo he usado 
> Mercurial unos 6 años y git como año y medio, aproximadamente. Al 
> argumento de que Mercurial es "más limpio", "coherente", como lo 
> queráis llamar... yo estoy de acuerdo. Pero vamos... que en git, la 
> porcelana *ahora* no está tan mal, ni de lejos!
>
> Por tanto, a mi entender, los únicos argumentos a favor de Mercurial son:
>
>  - Está hecho en Python: y este argumento, "a medias". Porque las 
> mayores contribuciones y el ecosistema se consigue... con plugins y 
> API. Y se les debería caer la cara de vergüenza absoluta cuando te 
> dicen que la "API" es la linea de comandos. Vaya pythonistas están 
> hechos... ni un wrapper son capaces de darte para que construyas 
> buenos plugins sin tener que andar parseando lo que te escupen 
> comandos. Ya puestos, puedes hacer plugins para mercurial en Ruby. 
> Total, con llamar a los comandos de mercurial ya vas listo!
>
hglib es exactamente una librería para interactuar con Mercurial, que 
implementa un command server. Lo de la API es la línea de comandos es 
algo bastante razonable si te paras a pensarlo, y es exactamente lo que 
hace git al separar el nucleo de la "porcelana", que ha cambiando mucho 
en todo este tiempo. Es decir, ni siquiera la interfaz de usuario es 
estable.

En cuanto a la inmutabilidad de la historia, la recolección de basura 
automática o el que los tags sean "fuera de banda" no son detalles 
menores. En realidad hace que se pueda alterar de forma inadvertida el 
contenido del repositorio, con y sin intervención del usuario.

Con todo esto no quiero decir que git sea una mala herramienta, para 
nada. Pero me sorprenden las reacciones viscerales atacando a otro 
sistema que muchas veces no se conoce bien y que también tiene sus 
ventajas. Creo que para defender una herramienta no hace falta 
descalificar otras.

Saludos,

-- 
Pachi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20130303/93a83998/attachment-0001.html>


More information about the Madrid mailing list