Permalink
Browse files

Update how to submit a fix

This document still needs heaps of work, but removing content that out of date.
  • Loading branch information...
jonorossi committed Jun 14, 2017
1 parent 78e443d commit 78820bfba4c8a4f4da07f322293e34e6c0006578
Showing with 12 additions and 15 deletions.
  1. +12 −15 how-to-submit-a-fix.md
View
@@ -4,48 +4,45 @@ Now that all [Castle projects are hosted on GitHub](http://github.com/castleproj
Let's walk through the steps to make it easy for all of us!
Let's say you want to submit a patch for the [MonoRail project](https://github.com/castleproject/MonoRail).
Let's say you want to submit a patch for the [Windsor project](https://github.com/castleproject/Windsor).
**Step 1: Sign up for GitHub** (jump on it)
* [https://github.com/signup/free](https://github.com/signup/free)
* Enter Username, Email Address, Password, (ignore the SSH Public Key field)
* Click "I agree, sign me up!"
**Step 2: Fork the MonoRail project repository** (become a committer of your very own copy of MonoRail!)
**Step 2: Fork the Windsor project repository** (become a committer of your very own copy of Windsor!)
* [http://github.com/castleproject/MonoRail](https://github.com/castleproject/MonoRail)
* [http://github.com/castleproject/Windsor](https://github.com/castleproject/Windsor)
* Click "Fork"
**Step 3: Setup your local dev environment** (one time only)
* [First install git](http://help.github.com/git-installation-redirect)
* [Then generate an SSH keypair](http://help.github.com/msysgit-key-setup)
* [Finally set your local git config](http://help.github.com/git-email-settings)
* You also want to set the following git settings:
* `git config --global core.autocrlf false`
* `git config --system core.autocrlf false`
* You are now ready to clone the repository you forked in the previous step
**Step 4: Clone and modify your fork locally**
* Open a command-line and CD to your code folder (where you keep all your other projects)
* Type: `git clone YourPrivateGitAddress` (you can find your private git address on your main github page, it should look something like git@github.com:YourGithubUsername/MonoRail.git)
* It should now start pulling down your repository. It was most likely named 'MonoRail', so it'll create a 'MonoRail' folder under your code folder.
* CD to the MonoRail folder. Do a 'dir' and you should see the Visual Studio solution file for the MonoRail project.
* Open the MonoRail solution and do the fixes in Visual Studio! Remember the code has to comply with our [coding standards](coding-standards.md). Also, we strongly encourage that you include test cases.
* Open a command-line and `cd` to your code folder (where you keep all your other projects)
* Type: `git clone YourPrivateGitAddress` (you can find your private git address on your main github page, it should look something like git@github.com:YourGithubUsername/Windsor.git)
* It should now start pulling down your repository. It was most likely named 'Windsor', so it'll create a 'Windsor' folder under your code folder.
* `cd` to the Windsor folder. Do a 'dir' and you should see the Visual Studio solution file for the Windsor project.
* Open the Windsor solution and do the fixes in Visual Studio! Remember the code has to comply with our [coding standards](coding-standards.md). Also, we strongly encourage that you include test cases.
**Step 5: When you're ready it's time to commit your changes to github**
* Open a command-line and CD to the MonoRail folder
* Open a command-line and `cd` to the Windsor folder
* Type: `git commit -am "my commit message"`
* The commit message should include a reference to an issue if applicable
* Type: `git push origin master`
* Type: `git push origin HEAD`
**Step 6: Submit a Pull Request** (tell the Castle team why your change rocks)
* Click "Pull Request"
* Enter a Message that will go with your commit to be reviewed by core committers
* Enter a message that will go with your commit to be reviewed by core committers
* Leave the default recipients ticked
* Click "Send Pull Request"
@@ -64,4 +61,4 @@ Now if you need to change multiple files as part of one commit, the web interfac
* Learn Git:
* [http://progit.org/book/](http://progit.org/book/)
* [http://gitscm.org/](http://gitscm.org/)
* [Git Magic](http://www-cs-students.stanford.edu/%7Eblynn/gitmagic/)
* [Git Magic](http://www-cs-students.stanford.edu/%7Eblynn/gitmagic/)

0 comments on commit 78820bf

Please sign in to comment.