From 4b26f913da2f87ebc1cf70a08f9de90828e9a7a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Thu, 23 Jul 2020 19:44:57 -0300 Subject: [PATCH] Manual: some git info to CONTRIB, explain how to use different branch in PR. --- CONTRIBUTING.md | 23 +++++++++++++++++++++-- Manual.md | 13 ++++--------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a38751f55ec..6e5dcfb9c6d 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: @@ -48,6 +57,8 @@ Once you have built your template file or files, the commit message should have If you want to describe your changes in more detail, add an empty line followed by those details ([example](https://github.com/void-linux/void-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)). +Once you've made changes to your forked repository, you can [submit a pull request](#starting-a-pull-request). + Pull requests are automatically submitted for Continuous Integration (CI) testing to ensure packages build on various combinations of libc and architecture. Packages that take longer than 50 minutes to build (for example, Firefox or the Linux kernel) will fail CI and should include `[ci skip]` in the last line of the last commit message in the PR to avoid wasting CI builder time. Use your best judgment on build times based on your local building experience. If you skip CI when submitting a PR, please build and cross-build for a variety of architectures locally, with both glibc and musl, and note your local results in PR comments. @@ -76,14 +87,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 [start 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 @@ -101,6 +112,14 @@ We recommend having only a single commit for pull request, so if you need to mak $ git add $ 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 diff --git a/Manual.md b/Manual.md index 5b49dc5ddd4..6c58c70709b 100644 --- a/Manual.md +++ b/Manual.md @@ -1991,22 +1991,17 @@ 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. - -To keep your forked repository always up to date, setup the `upstream` remote -to pull in new changes: +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 +See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information on how to contribute to `void-packages`. + ## Help