[Maildev] Obligatory GitHub vs Mercurial (Mozilla-hosted) Question

Ben Bucksch ben.bucksch at beonex.com
Fri Dec 8 02:40:17 EST 2017


Tom Prince wrote on 07.12.17 22:50:
> One fact that mitigates this somewhat is that git integration is 
> planned for phabricator, so that contributors will be able to use git 
> to interact with the new code review tools.


In Phab, the process is:

 1. arc branch foo -- creates git branch "foo"
 2. git commit - commits changes locally
 3. arc diff - sends your change to the Phab server and creates a
    "diff", with a web page
 4. the reviewer sees the new diff and can comment on it, the review
    process goes. You get emailed about it, can reply etc..
 5. You make code changes based on the reviewer's request
 6. git commit and arc diff again -- it automatically finds and updates
    the existing diff.
 7. The reviewer approves
 8. You do "arc land" -- refreshes the local branch to master, merges
    the branch to master, and closes the "diff"

There's no need to upload files manually.

>     Somehow I don't buy that hg. vs git would actually be a major
>     barrier to contribute.
>
> This is definitely false. I know several prominent, skilled 
> open-source developers who have not bothered to make contributions 
> (even easy ones) because they can't be bothered to figure out or 
> install a new version control system.

Agreed. hg *is* a major barrier. git is a very familiar tool for 
everybody these days.

Between hg and git, the concepts are similar, but all the rest is 
different. hg commands often do the inverse to what git does. E.g. "hg 
revert" == "git reset HEAD^", "git revert" == "hg backout". "hg pull -u" 
== "git pull", but "hg pull" == "git fetch". Once you know, it's simple, 
but until you do, you are highly frustrated. The worst is when you try 
to push your hg commit, but somebody else pushed right before you. Good 
luck getting out of the "multiple heads" thing when you're new to hg. 
It's a nightmare.

Why bother?

Everybody else uses git today.

Ben




More information about the Maildev mailing list