You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
James Moger e6ae536d3a Documentation 9 years ago
src Documentation 9 years ago
.checkstyle Stop Checkstyle from complaining 10 years ago
.classpath Use forked guice-servlet jar rather than stock jar from Google 9 years ago
.gitbugtraq Process bugtraq configuration in markup document rendering 10 years ago
.gitignore Update .gitignore 10 years ago
.gitmodules Simplified repository creation with a NewRepositoryPage 10 years ago
.project Preliminary implementation of server-side forking (issue 137) 11 years ago
HOME.md Documentation 10 years ago
LICENSE Selected Apache License. Dropped : from name. Its simpler. 13 years ago
NOTICE Documentation 9 years ago
README.markdown Updated README 9 years ago
build.moxie Adjust builds for appropriate dependencies 9 years ago
build.xml Adjust builds for appropriate dependencies 9 years ago
gitblit.iml Use forked guice-servlet jar rather than stock jar from Google 9 years ago
release.template Merge non-fast-forward for release branch merges 9 years ago
releases.moxie Documentation 9 years ago

README.markdown

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.