| 1 | = Getting Started with Patches and Pull Requests = |
| 2 | [[PageOutline]] |
| 3 | |
| 4 | == Introduction == |
| 5 | |
| 6 | If you would like to see some change in a Boost library, one approach is to submit a patch. There are two ways to accomplish that - submitting a traditional patch file, or submitting a pull request. |
| 7 | |
| 8 | == Traditional Patches == |
| 9 | |
| 10 | Traditional patches are submitted in the usual ways: |
| 11 | |
| 12 | * Attach a diff to Boost developers list message explaining the patch. Easy to do, but least effective. |
| 13 | * Attach a diff to a patch ticket. Less likely to get lost in the shuffle than a mailing list attachment, but many developers prefer to get pull requests (see below). |
| 14 | |
| 15 | == Pull Requests == |
| 16 | |
| 17 | The preferred GitHub patch approach for open source projects is to fork the library involved, develop your patch, and then submit a pull request to the library maintainer. Here is what GitHub says about what they call the "Fork and Pull" approach: |
| 18 | |
| 19 | The Fork & Pull Model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination. |
| 20 | |
| 21 | [https://help.github.com/articles/using-pull-requests Read the entire article] for more information on pull requests. |
| 22 | |
| 23 | === Boost Library Pull Request Example=== |
| 24 | |
| 25 | Here is how a pull request works for a Boost library: |
| 26 | |
| 27 | == Acknowledgements == |
| 28 | |
| 29 | Sohail Somani suggested the topic, Nathan Crookston worked out the steps given in the example. |