[Py-MAD] Mercurial vs git (antes: Reunión python-madrid febrero 2013)

Jesus Cea jcea at jcea.es
Tue Feb 5 17:55:21 CET 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/02/13 17:27, Andrey Antukh wrote:
>> Y si no? Vamos a obligar a todos a usar bookmarks solo por que
>> la herramienta lo obliga? Enserio.. la herramienta tiene que
>> adecuarsea a tu trabajo no tu trabajo a la herramienta.

Cada proyecto tiene su forma de trabajar. Una "cultura".

>> Pero si quiero subir mis bookmarks por que quiero trabajar en
>> ellos desde casa sin afectar a nadie.

Como dije en mi mensaje anterior, un "hg update" te lleva al "tip". Si
no estás publicando bookmarks, estoy de acuerdo en que tener múltiples
"heads" en un proyecto es mala idea, y es justo lo que estás haciendo.
Si un proyecto tiene varios "heads" sin etiquetar, ¿cual es el
"bueno"?. ¿A cuál se movería GIT, SI NO ESTÁS PUBLICANDO EL BOOKMARK?

Ah, que en GIT siempre se publica el nombre y que la gente sabe cómo
usarlos... vaya. Si sigues ese principio en un proyecto mercurial
(todo el mundo usa bookmarks, como en GIT), pues problema solucionado.

De todas formas insisto en que se está metiendo con calzador la forma
de trabajar de GIT en mercurial. En Mercurial se trabaja de otra forma.

Es como si en alguien se me acerca y me enseña este código C:

for (i=0; i<10; i++) ...

y se queja cuando yo lo reescribo en python como:

for i in range(10) :

En vez del evidente:

i = 0
while i<10 :
 ...
 i = i + 1

No es adecuado decir "en Mercurial es feo hacer X". Lo adecuado es "en
GIT se hace X para resolver el problema Y. Cómo lo harías en Mercurial"?.

No me impongas una solución. Plantéame un problema y déjame que te
ofrezca MI solución, adaptada a la herramienta, no TU solución,
alienígena para mí.

>> La forma natural de hacer las cosas en mercurial no es la
>> habitual de ahi, la cantidad de quejas de muchos.

Ah, perfecto, estupendo. Usa GIT.

>> Enserio tengo que tener muchos clones para solucionar eso?
>> Enserio? Si tengo un repo central y quiero subir mi "clon" (para
>> poder bajarmelo en casa o desde otro lado, tengo que crear otro
>> repo central para ello...? Vuelvo a decir Enserio? Si tengo un
>> repo de 300Mb tengo que tener clones con todo lo que implica eso
>> en transferencia de datos, esperas en copias y eso?

Te cuento cómo lo hago yo, para cpython:

En mi disco duro tengo un clon de cpython. Ese clon es una copia de
cpython, no trabajo en él.

Cuando voy a trabajar en una feature nueva, hago un clon LOCAL desde
el clon anterior. No tengo que bajarme nada de la red. Tampoco ocupa
apenas espacio en disco, porque se usan "hardlinks".

Osea, tengo un clon local "solo lectura" que es una replica del
cpython, y clones de ese clon, que es donde trabajo. Uno por "feature".

Espacio en disco = despreciable, por los hardlinks (en Unix).

Tiempo de creación del clon = un parpadeo:

"""
jcea at ubuntu:~/hg/python$ du -s cpython
375200	cpython
jcea at ubuntu:~/hg/python$ time hg clone -U cpython cpython-prueba

real	0m0.747s
user	0m0.270s
sys	0m0.210s
"""

Hay gente que usa la extensión "share", que aún simplifica más este
asunto, pero yo no lo hago (aún).

Me parece interesante señalar, una vez más, que la forma de trabajo en
la que te orienta GITHUB es trabajar con clones separados.
Precisamente el enfoque de Mercurial :-).

- -- 
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea at jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQCVAwUBURE5eZlgi5GaxT1NAQLlxQP+JxpIjxdGuo4pVattwyra15R9hXYzvJTM
dawUCe2zmisnLS+JhhLuhM3lzjxipd66yEhv9ae11s1yC7rUQVYHCRaw2+dbiz4K
1p6erjo4yRSzkKDxNaRUi97yf8PYzPqizAwgbrJmYYMByEdtzUbuoaPxG5R7rcp3
uCML6EizFDk=
=/auC
-----END PGP SIGNATURE-----


More information about the Madrid mailing list