Hash: SHA1

Hi again,

First, a few responses:

Many of the reasons I mentioned do extend to most DVCSs, and this is
the fault of my own (thinking that Git == DVCS).

I'll concede that Git has a fairly steep learning curve, although I'll
assert that it is harder to use a pneumatic drill than a hammer. I
learned Git after SVN and it was not a big problem for me.

I believe the most compelling reason to use a DVCS is that it makes
contributions easier. About a year ago a common complaint about my
patches were that too many changes were lumped together in one patch,
making it hard to review. While I could have used Git or Hg to make a
local repository, I did not think that was worth the trouble.

Next, an adventure:

I've taken the liberty to install and attempt to learn Mercurial.
Since I am brainwashed by the Git world, please correct me if I'm wrong.

My current workflow involves putting all non-trivial or multi-commit
projects in a separate branch. Then I "dangerously" reorder, squash,
and otherwise mutilate my local branch until it can be laid on top of
the SVN trunk, where I dump back the linear history.

If I used Hg, this would likely involve making many copies of the
repository (since each branch is an entire checkout) for minor
changes. Since I make extensive use of the Git staging area, I would
wind up using `hg record` (an extension) very often. I would also end
up maintaining patch sets using message queues (another extension), in
order to clean up my changes before committing. In addition, it would
be impossible for me to rebase my commits, which means that every
branch would require its own merge. If you take a look at my commits,
most have been squashed versions of local branch work.

I advocated Git because "we should use the VCS that I'm most familiar
with." It works with the workflow that I'm most comfortable with. I
welcome anyone familiar with Hg to reeducate my current workflow. If I
am the only developer that makes use of such a workflow, then I
apologize for being selfish and greedy.

Git has a good SVN bridge. Hg has a good Git bridge. Git does NOT have
a good Hg bridge (Git's fault). If I keep my current workflow, then
I'd much rather stick with SVN and play with local Git branches.

Kevin Zheng
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

crossfire mailing list

Reply via email to