Overview
Git:Blit is an open-source, integrated pure Java stack for managing, viewing, and serving Git repositories.
Its designed primarily as a tool for small workgroups who want to host Git repositories on a Windows machine.
Of course, since its pure Java it should run with any JVM on any platform, but there are already many compelling Git solutions for non-Windows environments.
Current Version
{0} based on {2} (*{3}*)
sources @ Github
Design Principles
- KISS
- Offer useful features for serving Git repositories. If feature is complex, refer to #1.
- All dependencies must be retrievable from a publicly accessible Maven repository.
This is to ensure authenticity of dependencies and to keep the Git:Blit distribution svelte.
Features
- Out-of-the-box integrated stack requiring minimal configuration
- JGit SmartHTTP servlet
- Browser and git client authentication
- Four repository access control configurations and a Read-Only flag
Anonymous View, Clone & Push
Authenticated Push
Authenticated Clone & Push
Authenticated View, Clone & Push
Freeze repository (i.e. deny push, make read-only)
- Gitweb inspired UI
- Administrators may create, edit, rename, or delete repositories through the web UI
- Administrators may create, edit, rename, or delete users through the web UI
- Repository Owners may edit repositories through the web UI
- Automatically generates a self-signed certificate for https communications
- Dates can optionally be displayed using the browser''s reported timezone
- Author and Committer email address display can be controlled
- Markdown view support
- Syntax highlighting
- Customizable regular expression handling for commit messages
- Single text file for server configuration
- Single text file for users configuration
- Simple repository stats and activity graph (uses Google Charts)
- Optional utility pages
Docs page which enumerates all Markdown files within a repository
Ticgit ticket pages (based on last MIT release bf57b032 2009-01-27)
Limitations
- HTTP/HTTPS are the only supported protocols
- Access controls are not path-based, they are repository-based
- Only Administrators can create, rename or delete repositories
- Git:Blit is an integrated, full-stack solution. There is no WAR build at this time.
Todo List
- Manual certificate generation with BouncyCastle
- User list with edit and delete links
- Review spots where Git:Blit can cache data instead of abusing the disk
- stats
- users.properties access
- available repositories
- etc
- Download zip feature
- Site documentation
- Code documentation
- Unit testing
Idea List
- Ticgit activity/timeline
- Ticgit query feature with paging support
- Ticgit ticket change history
- View images on Blob page
- View other binary files on Blob page
- Markdown editing feature
- Blame feature (waiting for the JGit team to do the hard part)
License
TBD
Inspirations
Architecture

Bundled Dependencies
The following dependencies are bundled with the Git:Blit zip distribution file.
Downloaded Dependencies
The following dependencies are automatically downloaded from the Apache Maven repository and from the Eclipse Maven repository when Git:Blit is launched for the first time.
Other Build Dependencies
Building
Eclipse is recommended for development as the project settings are preconfigured.
- Clone the git repository from Github.
- Import the gitblit project into your Eclipse workspace.
There will be lots of build errors.
- 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.
- Select your gitblit project root and Refresh the project, this should correct all build problems.
- Review the settings in
gitblit.properties
in your project root.
Make sure you set an appropriate value for git.repositoriesFolder.
- Execute the com.gitblit.Launcher class to start Git:Blit.