Project

General

Profile

Actions

PRs/MRs on CiviCRM

PR stands for "pull request" while MR means "merge request".

Basic PR Process

  1. Fork the repository in question (usually either on GitHub or GitLab)
  2. Clone the repo by copying the ssh key from the repo and running the git clone (*ssh key*) on the command line
  3. Add a remote repo with git remote add (*name of remote*) (*branch name*)
  4. Push the remote repo with git push (*name of remote*) (*branch name*)
  5. Add changed files (git add (*name of files*)
  6. Commit staged files (git commit -m "") with a message to describe the commit within the quotes
  7. Push the committed files (git push)
  8. open the link given in the terminal after the last command is run to create a pull request
  9. fill out the info to on the browser page to make the PR

Cherry-picked PR

Use this when you want to cherry-pick a specific commit for a PR

  1. git branch
  2. git checkout (*name of branch with desired commit*)
  3. git log
  4. copy the commit id of the desired commit
  5. git branch
  6. git checkout master
  7. git checkout -b (*new branch name*)
  8. git cherry-pick (*commit id*)
  9. git log
  10. `git push (name of remote) (new branch name)
  11. open the link given in the terminal after the last command is run to create a pull request
  12. fill out the info to on the browser page to make the PR

PRs on CiviCRM Release Canidates (RC)

  1. git check out (*name of RC branch*)
  2. git check out (*the new branch that you made edits in*)
  3. git add the changed files
  4. git push branch to upstream
  5. open the link given in the terminal after the last command is run to create a pull request
  6. change the base of the repo you are merging into to be release candidate for CiviCRM

Updated by Brienne Kordis about 2 months ago · 2 revisions