James Moger
2014-06-16 14353c12bfc35f82441993ddeff0ecd36bcfee86
commit | author | age
f13c4c 1 Gitblit
JM 2 =================
3
74029c 4 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.
JM 5
1f9dae 6 More information about Gitblit can be found [here](http://gitblit.com).
f13c4c 7
b79824 8 <a href='https://bintray.com/gitblit/releases/gitblit/_latestVersion'><img src='https://api.bintray.com/packages/gitblit/releases/gitblit/images/download.png'></a>
69eeaa 9
f13c4c 10 License
JM 11 -------
12
6c4be1 13 Gitblit is distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
233eb0 14 The text of the license is included in the file LICENSE in the root of the project.
b79824 15
JM 16 Contributing
17 ------------
18
74029c 19 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).
JM 20
21 **Workflow**
22
23 Gitblit practices the [git-flow][1] branching model.
24
25 - **master** is the current stable release + fixes accumulated since release.
26 - **develop** is the integration branch for the next major release.
27 - **ticket/N** are feature or hotfix branches to be merged to **master** or **develop**, as appropriate.
28
29 **Feature Development**
30
31 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.
32
33 **Release Planning**
34
35 Release planning is mostly done using Gitblit Milestones and Gitblit Tickets hosted at [dev.gitblit.com][3].
36
37 **Releasing**
38
39 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.
f13c4c 40
85c2e6 41 Java Runtime Requirement
f13c4c 42 ------------------------------------
JM 43
cff7cc 44 Gitblit requires at Java 7 Runtime Environment (JRE) or a Java 7 Development Kit (JDK).
f13c4c 45
JM 46 Getting help
47 ------------
48
74029c 49 | Source        | Location                                               |
JM 50 | ------------- |--------------------------------------------------------|
51 | Documentation | [Gitblit website](http://gitblit.com)                  |
52 | Issues        | [Google Code](http://code.google.com/p/gitblit)        |
53 | Forums        | [Google Groups](https://groups.google.com/forum/#!forum/gitblit) |
54 | Twitter       | @gitblit or @jamesmoger                                |
55 | Google+       | +gitblit or +jamesmoger                                |
f13c4c 56
JM 57 Building Gitblit
58 ----------------
b79824 59
JM 60 Gitblit uses submodules.
61 Make sure to clone using `--recursive` OR to execute `git submodule update --init --recursive`.
62
f13c4c 63 [Eclipse](http://eclipse.org) is recommended for development as the project settings are preconfigured.
JM 64
6c4be1 65 1. Import the gitblit project into your Eclipse workspace.
f13c4c 66 *There will be lots of build errors.*
6c4be1 67 2. Using Ant, execute the `build.xml` script in the project root.
f13c4c 68 *This will download all necessary build dependencies and will also generate the Keys class for accessing settings.*
JM 69 3. Select your gitblit project root and **Refresh** the project, this should correct all build problems.
6c4be1 70 4. Using JUnit, execute the `com.gitblit.tests.GitBlitSuite` test suite.
1f9dae 71 *This will clone some repositories from the web and run through the unit tests.*
ea2c2a 72 5. Execute the *com.gitblit.GitBlitServer* class to start Gitblit GO.
JM 73
74 Building Tips & Tricks
75 ----------------------
6c4be1 76 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>
b79824 77 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.
74029c 78
JM 79 [1]: http://nvie.com/posts/a-successful-git-branching-model
80 [2]: http://gitblit.com/tickets_overview.html
81 [3]: https://dev.gitblit.com