Skip to content

Steps to create a patch

mokko edited this page Dec 16, 2010 · 15 revisions

How to create a patch for Rakudo via git if you aren’t a committer

1) make your own fork on github.com

  • go to github.com
  • create a new account for yourself
    – follow their instructions to add your SSH key
  • go to http://github.com/rakudo/rakudo/
  • click “fork”
  • at your command line, make a checkout:
    git clone [email protected]:[username]/rakudo.git
    and replace “[username]” with your github.com user name
  • cd rakudo
  • git remote add upstream git://github.com/rakudo/rakudo.git

2) make a branch of your fork

  • git checkout -b [branch-name]

3) do work and commit

  • hack, hack, hack
  • git status
  • git diff
  • git add [name-of-file(s) you changed]
  • git commit

4) run git rebase -i and squash into one commit

5) push the new branch to github.com

  • git push origin [branch-name]:[remote-branch-name]
    where you probably want the remote branch name to be the same
    as the local branch name
  • after that, you can just “git push” subsequent commits
  • On http://github.com/[username]/rakudo find “all branches” and select your branch name to see what you pushed up

6) format the patch and send it to RT

  • git format-patch -M b3a2ea5df54d0b6ec978b63892be8bfdbf749fd5
  • This creates a file like 0001-spectest-progress.csv-update-374-files-10467-passi.patch
  • mail that file as an attachment to [email protected]. Be sure to put “[PATCH]” in the subject line of the message.