-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 04/02/11 14:31, Tarek Ziadé wrote:
As a general rule, rebase should be done ONLY in personal clones not shared by anybody. Or, in this particular case, a clone should be automatically destroyed after merging to main development line.
That's why I think it's much cleaner to work with mq to build a clean single-commit patch, even if a clone may be used for temporary states and sharing.
Well, MQ are not easily shared. If you don't share your clone anyway, you can freely commit to it and then collapse all your changes via rebase, before pushing.
We are experiencing merge hell right now in Distutils2, as the contributor list grows, because of the way people work with clones. We are polluting history with a lot of "merge" commits because it's the most simple way to work w/ mercurial.
I have tendency to commit to my clones constantly. I can do 100 commits per day, in my private clone. When pushing to the main repository, you have the option to push all the tiny changesets, or collapse all of them via rebase.
I am not sure what way is better. Keeping ALL the history would be interesting anyway, but most of my tiny commits would break the build (I commit everytime I stop for thinking, pee, whatever. It is like autosave in my text editor), so things like "bisect" would be difficult to use. And reviewing 200 stupid patches when patch n+20 undo buggy patch n+1, is not pleasant.
This is a social issue.
I don't want to fork this thread but I think we should set up a "mercurial good practice" guide somewhere for hg.python.org could be awesome, in particular since the number of indirect contributors is going to grow with Python under a DVCS
+1. But first we need the mercurial switchover to be done and to get some first hand experience before writing down the best practices *wiki* :).
Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea@jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea@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 Mozilla - http://enigmail.mozdev.org/
iQCVAwUBTUwDyZlgi5GaxT1NAQJGoAP/bvWOUNoc5DKfjt3K3T2uMes8A8Agsawr RlbQmsBhlPDeaye4oe5zBgue2xIguhtVazGjd5jC9SOBYHSIVMTlpabdxoFoUisO eili9X8zHwdEVDhmfg7Gp8BeGMwS7mOx35WEY96Xbsw1WtKbTSP8J4WyZwMC9TW0 ZDXdNqDo9mE= =Fdwj -----END PGP SIGNATURE-----