Ayende @ Rahien

It's a girl

What where they THINKING? The github merge button is STUPID

I just love git pull requests, but the new behavior from GitHub is beyond moronic. Take a look at a typical pull request:

image

The problem is that clicking on this button would actually merge the changes to the public repository. I don’t know about you, but there are very few cases where this is what I want to do.

In 99.9999% of the cases, I want to merge this locally to see what the bloody changes are, run some tests, maybe modify the changes before I am taking them.  In this case, this particular pull request contains a failing test. I never want to commit that to the public repo automatically.

What is worse is that I now need to manually construct the pull command in the command line, whereas GitHub previously offered the option to generate that for me, which I liked much more.

Comments

tobi
05/06/2011 08:26 AM by
tobi

Looks like somebody not using their own product.

Ayende Rahien
05/06/2011 08:32 AM by
Ayende Rahien

Tobi,

Actually, it is likely that they do.

But they are working within a trusted team, most probably, not within an open source community where you need to verify those changes.

fampinheiro
05/06/2011 08:47 AM by
fampinheiro

I can sugest in the admin of your repository that you define a new branch as the default branch. I think (untested, not at home) that you will merge the pull with that new branch.

This is a workaround not a solution. Just an ideia.

Masklinn
05/06/2011 10:10 AM by
Masklinn

The merge button is pretty nice for merging stuff which doesn't really break, such as documentation fixes or typos.

It's definitely a bad idea for code changes, and a shame they removed the command-line help if the pull request can be automatically merged.

Simon
05/06/2011 10:12 AM by
Simon

Ditch git and join the mercurial revolution :P

Steve
05/06/2011 11:10 AM by
Steve

A tonne of people were asking for this and were incredibly excited when it was announced. So are they all morons too?

Christian Schlichtherle
05/06/2011 12:16 PM by
Christian Schlichtherle

I wonder what all the git fuzz is about. Since I've changed from CVS and SVN to Mercurial, I've never looked back.

Rik
05/06/2011 01:27 PM by
Rik

@Christian git's just like hg - nothing sticks out as being particularly different AFAICT. I use hg because it works better on Windows which is where I do most work these days.

Jimmy Bogard
05/06/2011 02:29 PM by
Jimmy Bogard

Agreed. I wouldn't care if they also hadn't taken away the auto-generated version. It now takes a lot of clicks to even get to the other person's repo they're wanting me to pull from.

Rob Ashton
05/06/2011 02:30 PM by
Rob Ashton

Git vs Hg blah blah blah, come on people - do something more constructive with your time.

This is actually an annoyance, I also just want to copy the git instructions for merging in people's changes, and having the helpful messages removed is a step in a bad direction #nerdrage

Tim Clem
05/06/2011 02:54 PM by
Tim Clem

The old instructions for doing a local merge are still available from that same page. Just click the little i on the left hand side.

I agree that the majority of the time it would be foolish to blindly click the merge button. However, just knowing that changes will merge cleanly is very helpful to me. It also works really well for those 'I found a spelling mistake in your documentation or readme' patches.

Rob Ashton
05/06/2011 03:15 PM by
Rob Ashton

Ooh, I hadn't seen that - rejoice as my nerd rage subsides

John Bender
05/07/2011 06:02 AM by
John Bender

I help manage pull requests for a large opensource project on Github and in short experience the "merge button" is nice for typos, documentation updates, and style compliance changes.

Dmytrii Nagirniak
05/15/2011 11:41 PM by
Dmytrii Nagirniak

Ayende,

I think I haven't read the help topic on Pull Requests (Merging Pull Requests section): http://help.github.com/pull-requests/

This is what you can do:

$ git remote add kneath git://github.com/kneath/jobs.git $ git fetch kneath $ git merge kneath/error-page $ git push origin master

Comments have been closed on this topic.