Mike Coleman writes: > Just for curiosity's sake, could someone outline the five (or so) > most significant pluses of hg relative to git?
I think really it comes down to Guido's intuition. However, without attempting to channel Guido, as the git proponent in the PEP I'd like to go on record as saying that I'm quite satisfied with the outcome. The main thing is that git strongly encourages direct manipulation of the commit DAG, in the way that Lisp encourages direct manipulation of lists (even more so than Python does!) This opens the door to dramatic changes in the public workflow over time, viz. movement toward a Linux-kernel-like workflow. But the BDFL is not Linus, and Python is not the Linux kernel. My feeling (as the git proponent in the PEP who was surprised about the pushback I felt) is that some Python developers are visceral conservatives about workflow. Even cracking that door is unnerving. And most would rather avoid changes in the *community* workflow, despite eagerly looking forward to the changes in *personal* workflow that any of the distributed VCSes will enable. My feeling is that in that context, it's not a matter of which is "best". They're all good. But from the point of view of maintaining the good points of the current workflow, while enabling experiment and improvement by individual developers, I think Mercurial is most conservative alternative of the three. I also just wrote a long post about the comparison of bzr to hg responding to a comment on baz...@canonical.com. I won't recap it here but it might be of interest. > I think git probably should have been written in Python with some > stuff in C where necessary, It wouldn't be that hard to do a rewrite in Python, but the git programmers are mostly kernel people. They write in C and shell. No big deal -- except to Pythonistas.<wink> > and (perhaps) the hg guy really is right when he claims that Linus > should have skipped git and used hg from the start. Unlikely. As Terry says, people have different preferences for tools. The important one here is whether you see history as immutable fact and direct manipulations of the commit DAG as falsification, or not. People who lean toward the DAG as *recording* history will prefer Mercurial or Bazaar. People who tend to see the DAG as a tool for *presenting* changes will prefer git. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com