-
Notifications
You must be signed in to change notification settings - Fork 0
Frew's Recommended Workflow
The first time you do this you should 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 - git remote add upstream git://github.com/rakudo/rakudo.git
Then after that you should use the following process for each feature that you implement.
First make a new branch for the feature
git co -b array_setting_pop_method
Do some coding
vi src/setting/Array.pm
Checkin code as often as you’d like
git status
git add [files]
git add [more files]
git ci -m "commit messages"
When you are done with the feature squash it all into one commit. This is really the most complicated part. You probably want to pick your first commit, squash your other commits, and remove the lines that are merges. As long as the merges did not require manual editing this should be fine. If they did require manual editing, and you made it through that, you know more than me :-)
git rebase -i origin
(or whatever you chose to name of rakudo's remote repo to be)
Push to your repo
git push frew_origin array_setting_pop_method
(again, change this to be your remote repo and your branch)
After squashing everything into one commit email a patch to rt.
git diff master > pop-perl6.patch
That will generate a single patch from the last commit you made (if you squashed that will be everything). Email that to [email protected] with “[PATCH]” in the subject.
Go to your branch on github and ask for a pull request (it should be a button near the top) from rakudo
http://github.com/frioux/rakudo/tree/array_pop_squash (frioux is your username, and the last part is the remote name of your branch, hopefully the same as the local branch name)
And that’s basically it. Feel free to do a pull whenever so that you have the latest code.
git pull origin master
git merge origin/master array_setting_pop_method
git push frew_origin master