GIT encourages rebasing, which leads to rebasing of your public and other people's
code. This is bad.
Mercurial, which hashes a changeset's place in history as well as it's
content, discourages rebasing. Rebasing happens in private with mq patch queues.
Public trees are merged. This is good.
Either style is possible with both tools. The difference is the default emphasis.
Defaults matter.
Linus Torvalds on rebasing:
* http://kerneltrap.org/Linux/Git_Management
* http://lwn.net/Articles/291302/
* http://lwn.net/Articles/291303/
* http://lwn.net/Articles/291304/
Matt Mackall on synchronizing (pull + merge, don't push, don't rebase):
* http://www.selenic.com/pipermail/mercurial/2008-July/020116.html
* http://www.selenic.com/pipermail/mercurial/2008-July/020131.html
Thursday, July 31, 2008
hg vs git, pull+merge vs rebase
@pastebin
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment