James Moger
2014-10-28 5e0491c607e53cf9c9161df52c895d85c85f6782
README.markdown
@@ -1,33 +1,81 @@
Gitblit
=================
Gitblit is an open source, pure Java Git solution for managing, viewing, and serving [Git](http://git-scm.com) repositories.<br/>
Gitblit is an open source, pure Java Git solution for managing, viewing, and serving [Git](http://git-scm.com) repositories.  It can serve repositories over the GIT, HTTP, and SSH transports; it can authenticate against multiple providers; and it allows you to get up-and-running with an attractive, capable Git server in less than 5 minutes.
More information about Gitblit can be found [here](http://gitblit.com).
<a href='https://bintray.com/gitblit/releases/gitblit/_latestVersion'><img src='https://api.bintray.com/packages/gitblit/releases/gitblit/images/download.png'></a>
License
-------
Gitblit is distributed under the terms of the Apache Software Foundation license, version 2.0. The text of the license is included in the file LICENSE in the root of the project.
Gitblit is distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
The text of the license is included in the file LICENSE in the root of the project.
Java Runtime Requirement
------------------------------------
Gitblit requires at Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK).
Gitblit requires at Java 7 Runtime Environment (JRE) or a Java 7 Development Kit (JDK).
Getting help
------------
Read the online documentation available at the [Gitblit website](http://gitblit.com)
| Source        | Location                                               |
| ------------- |--------------------------------------------------------|
| Documentation | [Gitblit website](http://gitblit.com)                  |
| Issues        | [Google Code](http://code.google.com/p/gitblit)        |
| Forums        | [Google Groups](https://groups.google.com/forum/#!forum/gitblit) |
| Twitter       | @gitblit or @jamesmoger                                |
| Google+       | +gitblit or +jamesmoger                                |
Contributing
------------
GitHub pull requests or Gitblit Tickets are preferred.  Any contributions must be distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
**Workflow**
Gitblit practices the [git-flow][1] branching model.
- **master** is the current stable release + fixes accumulated since release.
- **develop** is the integration branch for the next major release.
- **ticket/N** are feature or hotfix branches to be merged to **master** or **develop**, as appropriate.
**Feature Development**
Development of new features is mostly done using [Gitblit Tickets][2] hosted at [dev.gitblit.com][3].  This allows continuous dogfooding and improvement of Gitbit's own issue-tracker and pull-request mechanism.
**Release Planning**
Release planning is mostly done using Gitblit Milestones and Gitblit Tickets hosted at [dev.gitblit.com][3].
**Releasing**
When Gitblit is preparing for a release, a **release-{milestone}** branch will be created, tested, & fixed until it is ready to be merged to **master** and tagged as the next major release.  After the release is tagged, the **release-{milestone}** branch will also be merged back into **develop** and then the release branch will be removed.
Building Gitblit
----------------
Gitblit uses submodules.
Make sure to clone using `--recursive` OR to execute `git submodule update --init --recursive`.
[Eclipse](http://eclipse.org) is recommended for development as the project settings are preconfigured.
1. Import the gitblit project into your Eclipse workspace.<br/>
1. Import the gitblit project into your Eclipse workspace.
*There will be lots of build errors.*
2. Using Ant, execute the `build.xml` script in the project root.<br/>
2. Using Ant, execute the `build.xml` script in the project root.
*This will download all necessary build dependencies and will also generate the Keys class for accessing settings.*
3. Select your gitblit project root and **Refresh** the project, this should correct all build problems.
4. Using JUnit, execute the `com.gitblit.tests.GitBlitSuite` test suite.<br/>
4. Using JUnit, execute the `com.gitblit.tests.GitBlitSuite` test suite.
*This will clone some repositories from the web and run through the unit tests.*
5. Execute the *com.gitblit.Launcher* class to start Gitblit.
5. Execute the *com.gitblit.GitBlitServer* class to start Gitblit GO.
Building Tips & Tricks
----------------------
1. If you are running Ant from an ANSI-capable console, consider setting the `MX_COLOR` environment variable before executing Ant.<pre>set MX_COLOR=true</pre>
2. The build script will honor your Maven proxy settings.  If you need to fine-tune this, please review the [settings.moxie](http://gitblit.github.io/moxie/settings.html) documentation.
[1]: http://nvie.com/posts/a-successful-git-branching-model
[2]: http://gitblit.com/tickets_overview.html
[3]: https://dev.gitblit.com