Why do you not accept pull requests?
Pull requests can change while being reviewed. This makes it impossible to ensure that the code being merged is the same code that has been reviewed and discussed, which compromises integrity of the codebase.
If only Git had some sort of cryptographically secure token that would uniquely identify commits, and make tampering evident.
So in that sense, he is correct. There's no way to ensure that clicking the merge button is indeed merging what I think it's merging. Now that I type that, we could easily just include the latest SHA in the form and check that. Problem solved!
Alternatives to this are:
* Merge manually from the command line. This is typically what we do at GitHub. * Request that people file pull requests with a SHA as the pull request head. This makes it impossible to update the pull request with future commits. * Don't use pull requests.
Please do! I've accidentally merged the wrong code on a few occasions.
While we're making feature requests:
* The order of commits on the "Commits" tab sometimes shuffle around, especially when a history contains a merge.
* Would be nice to let me annotate code (with comments) before "Send Pull Request". Sometimes I want to make some comments to guide a reviewer.
* Browser-push updates of comment threads!
* Let me comment on a file, not just a particular line, particularly empty ones.
* Discussions are often hard to follow via email because insufficient or misleading context is included.
* 100 other things I can't think of at the moment :-)
I love GitHub; it's critical to the way we work. Thanks!
That leaves another major problem for us (the XS developers) which is that we actively encourage all development discussion and code review to be done on the mailing list where everyone involved sees it.
With GH pull requests this discussion gets fragmented into separate threads on the various pull requests.
Further, in my workflow, pulling in new changes to be committed into a pull request makes that pull request a new (version of) the original. See for example how Linux patches are discussed; you post an initial version, it gets discussed, you rework it, post a v2, and so on. At each point in time it is clear what exactly is being discussed.
Personally I have some other philosophical issues with GH that might be fun to discuss, get in touch by email if you're interested.
Another option is to make pull requests for signed tags, which build on GPG trust; or to GPG-sign a pull request email containing a sha1.
- https://lwn.net/Articles/473220/
- http://git-blame.blogspot.com/2012/01/using-signed-tag-in-pu...
```Why was Crossroads I/O forked from ZeroMQ?
The contribution and trademark policies of the ZeroMQ project were, as of March 2012, incompatible with our long-term goals.
Who is behind the fork?
The main work on the fork was done by two of the original developers of ZeroMQ, Martin Sustrik and Martin Lucina, with help and advice from other members of the ZeroMQ community.'''
1) Trademark issues - the original developers of ZMQ have been prohibited from using the ZeroMQ trademark and, thus, from making official releases.
2) The new ZeroMQ contribution policy[1], in which pull requests are merged without review and then later reverted/enhanced if necessary, is seen as incompatible with the goals of some of the lead developers. These developers prefer a more rigorous review policy.
There are more reasons, but from what I can tell, those are the main ones that haven't fully been covered here.
[1]: http://www.zeromq.org/docs:contributing (see "Philosophy").
This seems to imply there are API differences, rather than just the same code with different development policies going forward.
Giving an example of a problem solved by the fork would help, though I'm not sure a solid example of a goal not possible within 0mq can be found based on the project goals.
I had assumed that zmq was BSD licensed to begin with - so I've learned something.
ØMQ is free software licensed under the LGPL
And in every source file: 0MQ is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
As I have some investment in the 0mq ecosystem, it would be nice to know what this means in the long run for that project.On a related note, developers can be mean
zeromq is looser about what ends up in master. They view master as sort of a global staging area, and what ends up in release branches is viewed as stable/vetted code. As a result, master can be quite unstable.
The people that forked wanted a more stable master, with lots of code reviews before patches end up in master.