Why do some open source projects not accept pull requests, but require contributors to email patch files only? e.g. Git Although they publish code in github or other distributed scm hosting. It is not interactive nor convenient to send patch files. Patch file is an old-fashioned way. Pull requests are interactive. Other people may also discuss.
It depends on who is in charge of accepting your pull request.
I don't do github pull requests.
github throws away all the relevant information, like having even a valid email address for the person asking me to pull.
The diffstat is also deficient and useless.
Git comes with a nice pull-request generation module, but github instead decided to replace it with their own totally inferior version.
As a result, I consider github useless for these kinds of things.
It's fine for hosting, but the pull requests and the online commit editing, are just pure garbage.
I've told github people about my concerns, they didn't think they mattered, so I gave up. Feel free to make a bugreport to github.
In order for me to pull from github, you need to:
- (a) make a real pull request, not the braindamaged crap that github does when you ask it to request a pull:
- real explanation,
- proper email addresses,
- proper shortlog, and
- proper diffstat.
- (b) since github identities are random, I expect the pull request to be a signed tag, so that I can verify the identity of the person in question.
I also refuse to pull commits that have been made with the github web interface.
Again, the reason for that is that the way the github web interface work, those commits are invariably pure crap.
Commits done on github invariably have totally unreadable descriptions, because the github commit making thing doesn't do any of the simplest things that the kernel people expect from a commit message:
- no "short one-line description in the first line"
- no sane word-wrap of the long description you type: github commit messages tend to be (if they have any description at all) one long unreadable line.
- no sign-offs etc that we require for kernel submissions.
github could make it easy to write good commit messages and enforce the proper "oneliner for shortlogs and
gitk, full explanation for full logs".
But github doesn't.
Instead, the github "commit on the web" interface is one single horrible text-entry field with absolutely no sane way to write a good-looking message.
When challenged on the text area for commit messages:
@torvalds The GitHub commit UI provides a text area for commit messages.
This supports new lines and makes it easy to do nicely formatted commit messages :)
No it doesn't.
What it supports is writing long lines that you have not a f*cking clue how long they are.
The text area does not do line breaks for you, and you have no way to judge where the line breaks would go.
In other words, it makes it very hard indeed to do "nicely formatted commit messages".
It also doesn't enforce the trivial "oneliner for shortlog" model, so the commit messages often end up looking like total crap in shortlogs and in gitk.
So the github commit UI should have
- separate "shortlog" one-liner text window, so that people cannot screw that up.
- some way to actually do sane word-wrap at the standard 72-column mark.
- reminders about sign-offs etc that some projects need for project-specific or even legal reasons.
It just takes time for developers to adapt to new possibilities.
Since this question was asked, github has gained acceptance by major open source project.
github/gitlab has made working together with pull requests a lot easier.
- saves time
- to learn
gindividual contribution guidelines
- for millions of developers/users (
- who invest time (
i) to improve, find bugs and fix them
- and this repeatedly (
The actual productive contribution for projects (independent from github) is
The non-productive bureaucracy time saved through github is
The total effort by the contributors is
contributors can concentrate on the productive work, i.e. on
If one invests some effort to set up one's machine according the git guidelines (see links below), one can contribute as efficiently using email as with github.
But then others don't see the issues and the pull requests of a project. It is important for developers to get an idea about the state of a project and current problems. This information avoids that different developers fix the same issue.
Github's value is also that it has become a meeting point for developers. It connects developers via their code. Else it would be harder to find solutions and thus not reinvent the wheel.
One cannot link to issues and arguments sent via emails.
github was and is a factor to make people adopt git as SCM. If more use the same SCM, that alone reduces the overall effort.
PS: Some links to do pull requests without the web UI of github: