Struts uses Git and to manage the repository the git-flow was adopted, to read more about that please follow the links below:
First step is to install git-flow locally on your box, please follow the steps from this link
https://github.com/nvie/gitflow/wiki/Installation
Now you can clone Struts repository locally
git clone https://git-wip-us.apache.org/repos/asf/struts.git
After cloning the repository locally you must initialize git-flow:
git flow init -d
and done!
Please remember that master branch cannot be modified directly from now on!
If you would like to contribute using the GitHub tools you need to know we can only accept your work if we have your ICLA on file. Please read the document carefully, sign and send it to us. Basically this document protects you and the end users for legal problems. It allows the Apache Software Foundation to use your code and distribute it. You should receive an email a few days after you submitted it and appear in the committer index in the section unlisted CLAs.
Once done, you can clone the Apache Struts mirror on GitHub:
git clone git@github.com:apache/struts.git struts-mirror.git
Please create an issue on our issue tracker. Youll receive an issue number which you should use to create a working branch (for example WW-4196).
If you are sending a pull request, please send it to the Apache Struts teams repo and not the official mirror. We cannot accept and close pull requests there which is the reason we have an own account. You can find it here:
[https://github.com/apachestruts/struts]
Please send the pull request to trunk.
It is of course possible to add us as upstream repo:
git remote add upstream git@github.com:apachestruts/struts
You can add a remote branch from GitHub like this:
git remote add opensourceio git@github.com:opensourceio/struts
Pull changes with:
git pull opensourceio anotherbranch
When merge conflicts happen, these can be resolved using:
git mergetool
After the merge, you need to commit the changes to Apache Git with:
git commit