Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: Yuval Levy <sf05@sf...> - 2011-01-29 10:24:03
|
On January 28, 2011 12:09:47 am D M German wrote: > here are some reasons I like git over mercurial (please keep in mind i > am not a hg expert, so I might be confusing/missing something). I really don't care which one it is between git and hg. DVCs are more or less interchangeable. I know of at least one dev on the Hugin team that used git for his personal repo while Hugin was still SVN; and interfacing between hg and git is even easier. I would prefer not to have to install all of them; but it is a weak preference and I can live with any of the envisioned tools. > - I like that there is a single end-node in git (the head) but I don't > like that hg allows multiple ones (heads) and one of them is the > tip (this might be an advantage of hg, but I am not > sure because I haven't used it). A hook can be configured to prevent multiple heads [0] > - I like that everything in git happens in one single directory, where > you move across branches with one command, and you can "stash" > changes. In mercurial, every branch is a subdirectory of the > repository. I am not sure I follow you here. With Hg, everything happens in one single directory as well. Within that directory, I can bring up any branch with hg up -C <YOUR_BRANCH> and I can copy any changeset from any other branch to that branch with hg export --git <REVISION_NUMBER> | hg import - note the --git flag which uses the git format for diff. I have not tried to move between Hg and git, but I would not be surprised if it was very easy and you and I could develop the same codebase in the two tools, pushing/pulling changes from each/other while you use git and I use Hg. > - Git has more traceability: I like how committer and author are both > recorded in git. In hg, committer info is lost. I can't really comment on this, I don't know Git well enough. Traceability is sure a weakness in hg, I can "spoof" the committer and author information all along the way. Then what is the point of differentiating committer and author if that difference is spoofable? > - Operations (important) my take on that is that functionality permeates across DVCS: enough users are smart and capable coders and will copy from each other: > - git-grep (which can search history), [1] > - git-bisect (binary search of the change that introduced a bug), hg bisect > - git-diff, which pinpoints the function where the change is > happening (I don't think hg does this). If it is "just" the diff format that is different, hg diff --git should do it. [2] > Other than because "hg is used by hugin", can anybody comment on why hg > rather than git? The reasons why I like Mercurial: * documentation * it is scripted and very easy to extend/customize/modify * if you have access to some basic webspace, you can do without central repo. > Now, libpano does not have many developers, so what I really want/need > is easier management of experimental (mostly personal) branches. In that case I would go back to the original argument (I think by Tom): why change for change sake? Gerry Patterson set up his own git repo to interface with Hugin's SVN back in the days when Hugin was still on SVN. Yuv [0] http://mercurial.selenic.com/wiki/TipsAndTricks#Prevent_a_push_that_would_create_multiple_heads [1] http://blog.axant.it/archives/283 [2] http://mercurial.selenic.com/wiki/GitExtendedDiffFormat |