Skip to content

jeremyh/gitblit

 
 

Repository files navigation

Gitblit

Gitblit is an open source, pure Java Git solution for managing, viewing, and serving Git 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.

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.

Java Runtime Requirement

Gitblit requires at Java 7 Runtime Environment (JRE) or a Java 7 Development Kit (JDK).

Getting help

Source Location
Documentation Gitblit website
Issues Google Code
Forums Google Groups
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.

Workflow

Gitblit practices the git-flow 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 hosted at dev.gitblit.com. 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.

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 is recommended for development as the project settings are preconfigured.

  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. 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. This will clone some repositories from the web and run through the unit tests.
  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.
    set MX_COLOR=true
  2. The build script will honor your Maven proxy settings. If you need to fine-tune this, please review the settings.moxie documentation.

Packages

No packages published

Languages

  • Java 89.4%
  • HTML 5.7%
  • Groovy 1.6%
  • CSS 1.3%
  • JavaScript 1.0%
  • Python 0.6%
  • Other 0.4%