On 06Apr2016 18:49, derek martin <inva...@pizzashack.org> wrote:
On Tue, Apr 05, 2016 at 11:04:59AM -0700, David Champion wrote:
OK - that's a good track to have. The thing that made me think otherwise
was the removal of hg-related components. Kevin has the final say now
but we've never discussed moving to git, and I don't see what doing
so would accomplish particularly other than allow/make people use one
hosting system instead of another.
The one thing I see is that git is far more popular than Mercurial,
which means that many more developers know it. Personally, I use
neither, but I'd be a lot more inclined to learn git as I can see
doing so would have far greater value to me. I say this to provide an
example, not because I think that what I think matters more than what
others do (though, clearly, it does). =8^)
Just to this: I'm a Mercurial person. I think git's command line sucks - it is
incredibly noisy (lots of goofy options, etc). They're pretty much feature
equivalent, but hg has a great deal builtin (or supplied as extensions, which
are shipped as standard but disabled until the user flips a config). Git seems
to have an unruly heap of extra commands on the side.
Disclaimer: my git experience is quite limited (because I run from it in pain
every time I go near it) but that will be changing quite soon - starting a job
where git is the tool.
I think choosing git vs hg should not be a "what is more popular" decision,
_especially_ for projects (versus users individually). IMO opinion hg is
superior. Also, there's a robust hg-git extension that will talk to git
repositories using hg.
IMO the reason git is more popular is that (a) the linux kernel uses it and
everybody is a Linus fan (myself less so) and (b) everybody thinks "git is more
popular, use git".
Summary: casting a vote against "git is far more popular than Mercurial" as a
good criterion for choosing or changing.
Having said all that, I _strongly_ recommend learning hg or git. A DVCS is
incredibly useful - you can work offline, you can branch/fork freely, merging
is easier etc etc. Just a superior way to manage code across the board.
For example, my public code is here (almost entirely):
https://bitbucket.org/cameron_simpson/css/commits/all
but I don't work off that - I publish to that. I can work offline - my primary
is on my laptop, and I can code and commit offline (such as on a train - I have
semiregular 4+ hour train trips and being able to work or read and reply to
email is excellent).
[ BTW, I'm a microcommitter - the merge lines are where you see the macro
commits, on the whole. ]
You can also see there that I have feature branches where I can hack on one
subproject or another without breaking the main tree.
Recommendation #2 is to learn _one_ of hg or git first, and then commit to
learning the other. Why? Because they have terminology differences (for which I
blame Linus, frankly). Pull vs fetch (swapped), branches vs bookmarks (a branch
in Mercurial is a permanent named thing, and bookmarks are ephemeral
conveniences - in git "branches" are emphemeral conveniences), etc. So get one
straight in your head before the other. (And you don't need to "name" a
branch/fork - you can just clone and work in the clone, it is trivial).
But I ramble.
Cheers,
Cameron Simpson <c...@zip.com.au>