diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6efdf4817e0..985647ebe86 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,6 +16,15 @@ For this guide, we assume you have basic knowledge about [git](http://git-scm.or Please note that we do not accept any packages containing non-release versions, such as specific git- or svn-revisions anymore. +To get started, [fork](https://help.github.com/articles/fork-a-repo) the void-linux `void-packages` git repository on GitHub and clone it: + + $ git clone git@github.com:/void-packages.git + +To keep your forked repository up to date, setup the `upstream` remote to pull in new changes: + + $ git remote add upstream git://github.com/void-linux/void-packages.git + $ git pull --rebase upstream master + ### Creating a new template You can use the helper tool `xnew`, from the [xtools](https://github.com/chneukirchen/xtools) package, to create new templates: @@ -76,14 +85,14 @@ For further details, see the output of `./xbps-src -h`. ### Starting a pull request -Once you have successfully built the package, you can start a pull request. +Once you have successfully built the package, you can [create a pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). Most pull requests should only contain a single package and dependencies which are not part of void-packages yet. If you make updates to packages containing a soname bump, you also need to update `common/shlibs` and revbump all packages that are dependant. There should be a commit for each package revbump, and those commits should be part of the same pull request. -When you make changes to your pull request, please *do not close and reopen your pull request*. Instead, just forcibly git push, overwriting any old commits. Closing and opening your pull requests repeatedly spams the Void maintainers. +When you make changes to your pull request, please *do not close and reopen your pull request*. Instead, just [forcibly git push](#review), overwriting any old commits. Closing and opening your pull requests repeatedly spams the Void maintainers. #### Travis @@ -102,6 +111,14 @@ We recommend having only a single commit for pull request, so if you need to mak $ git commit --amend $ git push -f +A more powerful way of modifying commits than using `git commit --amend` is with [git-rebase](https://git-scm.com/docs/git-rebase#_interactive_mode), which allows you to join, reorder, change description of past commits and more. + +Alternatively, if there are issues with your git history, you can make another branch and push it to the existing PR: + + $ git checkout master -b + $ # do changes anew + $ git push -f : + #### Closing the pull request Once you have applied all requested changes, the reviewers will merge your request. diff --git a/Manual.md b/Manual.md index 922cbd30f45..6481bb4ee50 100644 --- a/Manual.md +++ b/Manual.md @@ -2045,15 +2045,15 @@ otherwise the `debug` packages won't have debugging symbols. ### Contributing via git -Fork the voidlinux `void-packages` git repository on github and clone it: +To get started, [fork](https://help.github.com/articles/fork-a-repo) the void-linux `void-packages` git repository on GitHub and clone it: $ git clone git@github.com:/void-packages.git See [CONTRIBUTING.md](./CONTRIBUTING.md) for information on how to format your commits and other tips for contributing. -Once you've made changes to your `forked` repository you can submit -a github pull request; see https://help.github.com/articles/fork-a-repo for more information. +Once you've made changes to your `forked` repository, submit +a github pull request. To keep your forked repository always up to date, setup the `upstream` remote to pull in new changes: