| ====================== |
| LLVM GitHub User Guide |
| ====================== |
| |
| Introduction |
| ============ |
| The LLVM Project uses `GitHub <https://github.com/>`_ for |
| `Source Code <https://github.com/llvm/llvm-project>`_, |
| `Releases <https://github.com/llvm/llvm-project/releases>`_, and |
| `Issue Tracking <https://github.com/llvm/llvm-project/issues>`_. |
| |
| This page describes how the LLVM Project users and developers can |
| participate in the project using GitHub. |
| |
| Branches |
| ======== |
| Do not create any branches in the llvm/llvm-project repository. This repository |
| is reserved for official project branches only. We may relax this rule in |
| the future if needed to support "stacked" pull request, but in that case only |
| branches being used for "stacked" pull requests will be allowed. |
| |
| Pull Requests |
| ============= |
| The LLVM Project does not currently accept pull requests for the llvm/llvm-project |
| repository. However, there is a |
| `plan <https://discourse.llvm.org/t/code-review-process-update/63964>`_ to move |
| to pull requests in the future. This section documents the pull request |
| policies LLVM will be adopting once the project starts using them. |
| |
| Creating Pull Requests |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| For pull requests, please push a branch to your fork of the llvm-project and |
| `create a pull request from the fork <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork>`_. |
| |
| Updating Pull Requests |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| When updating a pull request, you should push additional "fix up" commits to |
| your branch instead of force pushing. This makes it easier for GitHub to |
| track the context of previous review comments. |
| |
| If you do this, you must squash and merge before committing and |
| you must use the pull request title and description as the commit message. |
| The default commit message for a squashed pull request is the pull request |
| description, so this will allow reviewers to review the commit message before |
| approving the commit. |
| |
| Releases |
| ======== |
| |
| Backporting Fixes to the Release Branches |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| You can use special comments on issues to make backport requests for the |
| release branches. This is done by making a comment containing one of the |
| following commands on any issue that has been added to one of the "X.Y.Z Release" |
| milestones. |
| |
| :: |
| |
| /cherry-pick <commit> <commit> <...> |
| |
| This command takes one or more git commit hashes as arguments and will attempt |
| to cherry-pick the commit(s) to the release branch. If the commit(s) fail to |
| apply cleanly, then a comment with a link to the failing job will be added to |
| the issue. If the commit(s) do apply cleanly, then a pull request will |
| be created with the specified commits. |
| |
| :: |
| |
| /branch <owner>/<repo>/<branch> |
| |
| This command will create a pull request against the latest release branch using |
| the <branch> from the <owner>/<repo> repository. <branch> cannot contain any |
| forward slash '/' characters. |