Welcome Guest, you are in: Login
Search the documentation: »

Castle Project


Search the wiki


How to submit a fix to any Castle Project

Modified on 2012/12/05 12:04 by Jonathon Rossi Categorized as Contributing
Now that all Castle projects are hosted on GitHub, it's even easier to start contributing fixes to the project.

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.

Step 1: Sign up for GitHub (jump on it)
Step 2: Fork the MonoRail project repository (become a committer of your very own copy of MonoRail!)
Step 3: Setup your local dev environment (one time only)
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 and "done" criteria of the project you're contributing to. 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
  • Type: git commit -am "my commit message"
    • The commit message should include a reference to an issue if applicable
  • Type: git push origin master

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
  • Leave the default recipients ticked
  • Click "Send Pull Request"

Step 7: Add a link to your commit to the issue on the Issue Tracker if applicable (tell everyone you're on the case)
Step 8: Eat a cookie (yum)
  • You're done!

Now if you need to change multiple files as part of one commit, the web interface will not be the way to go. In that case you'll want to learn a little more about GitHub and git. You can start here:

ScrewTurn Wiki version Some of the icons created by FamFamFam.