Fork me on GitHub

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

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!

Contributing with GitHub

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

Working with remote branches from GitHub

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

Further reading