Using Git with Struts
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
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
Please remember that
master branch cannot be modified directly from now on!
If you aren't a committer you must use this link below or mirror at GitHub
git clone git://git.apache.org/struts.git struts-copy
Contributing with GitHub
Using GitHub mirror is the simplest way to contribute to Apache Struts if you are not a member of Struts Committers group.
First you must have an account created at GitHub to be able perform the next step. If you don't, go ahead and create one just right now! Please remember to setup SSH keys and test them!
When ready go to https://github.com/apache/struts and click
in top right corner. This will fork Apache Struts repository and will create your private (but public) repository
with the source code.
Next step is to clone your repo locally, information how to do this you will find on right sidebar of your repo
SSH clone URL headline.
Now you are ready to work with Apache Struts code base. Perform your changes, commit them and next push to GitHub! Remember: commit in Git is different than commit in Subversion!
With your changes pushed to GitHub you can prepare a Pull Request (short: PR). Go to Apache Struts mirror - https://github.com/apache/struts - then to Pull request and hit New Pull Request button.
If not already selected, click on
compare across forks. Right now you must select from the dropdowns on right
your fork and branch to compare the differences with Apache Struts develop branch.
Create Pull Request button and you are done!
Unfortunately not yet. We (Apache Struts committers) can use PRs just for review, we cannot accept your work directly, so you must fill a JIRA ticket and assign a file with patch to it. But that bother about that right now - go and hack!