| | |
| | | ## Gitblit Features
|
| | | ## Why Gitblit?
|
| | |
|
| | | ### Single-Stack Solution
|
| | |
|
| | | *Gitblit GO* is an integrated, single-stack solution for serving and browsing Git repositories with a per-repository authentication and authorization mechanism. |
| | | You do not need Apache httpd, Perl, Git, Gitweb, or Gitolite. Should you want to use some or all of those, you still can; Gitblit plays nice with the other kids on the block. It should be noted that Gitblit does not currently offer fine-grained access controls like [Gitolite](http://sitaramc.github.com/gitolite).
|
| | |
|
| | | *Gitblit WAR = Gitblit GO - integrated Jetty* |
| | | You provide the servlet container (e.g. Tomcat, Resin, etc) and deploy the WAR like any other webapp. Gitblit WAR offers all the same capabilities as the GO integrated stack except as noted below. |
| | |
|
| | | ### You decide how to use Gitblit
|
| | |
|
| | | Gitblit can be used as a dumb repository viewer with no administrative controls or user accounts. |
| | | Gitblit can be used as a complete Git stack for cloning, pushing, and repository access control.
|
| | |
|
| | | ### Easy Web Management
|
| | |
|
| | | Administrators can create and manage all repositories & user accounts from the *web UI*. |
| | | Administrators can create and manage all repositories & user accounts from the *JSON RPC interface* using the [Gitblit Manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) or your own custom tooling. |
| | |
|
| | | ### Integration
|
| | |
|
| | | Gitblit has a pluggable user service mechanism which allows you to implement your own authentication, authorization, and user management.
|
| | |
|
| | | Gitblit offers RSS feeds, a JSON-based RPC mechanism, and a [Java Client API library](http://code.google.com/p/gitblit/downloads/detail?name=%API%) which allows you to integrate Gitblit into your systems.
|
| | |
|
| | | ### Backup Strategy
|
| | |
|
| | | Gitblit includes a backup mechanism (*federation*) which can be used to backup repositories and, optionally, user accounts & server settings from your Gitblit instance to another Gitblit instance or to a [Gitblit Federation Client](http://code.google.com/p/gitblit/downloads/detail?name=%FEDCLIENT%). Similarly, you can use the federation mechanism to aggregate individual workspace Gitblit instances to a common, centralized server.
|
| | |
|
| | |
|
| | | ## Standard Features (GO/WAR)
|
| | | - JGit SmartHTTP servlet
|
| | | - Browser and git client authentication
|
| | | - Four repository access control configurations with a Read-Only control flag
|
| | | <ul class='noBullets'>
|
| | | <li> *Anonymous View, Clone & Push*</li>
|
| | | <li> *Authenticated Push*</li>
|
| | | <li> *Authenticated Clone & Push*</li>
|
| | | <li> *Authenticated View, Clone & Push*</li>
|
| | | <li> Freeze repository (i.e. deny push, make read-only)
|
| | | </ul>
|
| | | - Four *per-repository* access control configurations with a Read-Only control flag
|
| | | -  *Anonymous View, Clone & Push*
|
| | | -  *Authenticated Push*
|
| | | -  *Authenticated Clone & Push*
|
| | | -  *Authenticated View, Clone & Push*
|
| | | -  Freeze repository (i.e. deny push, make read-only)
|
| | | - Ability to federate with one or more other Gitblit instances
|
| | | - RSS/JSON RPC interface
|
| | | - Java/Swing Gitblit Manager tool |
| | | - Gitweb inspired web 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
|
| | | - Administrators may create, edit, rename, or delete repositories through the web UI or RPC interface
|
| | | - Administrators may create, edit, rename, or delete users through the web UI or RPC interface
|
| | | - Repository Owners may edit repositories through the web UI
|
| | | - Git-notes support
|
| | | - Git-notes display support
|
| | | - Branch metrics (uses Google Charts)
|
| | | - HEAD and Branch RSS feeds
|
| | | - Blame annotations view
|
| | |
| | | - Customizable regular expression substitution for commit messages (i.e. bug or code review link integration)
|
| | | - Single text file for users configuration
|
| | | - Optional utility pages
|
| | | <ul class='noBullets'>
|
| | | <li> Docs page which enumerates all Markdown files within a repository</li>
|
| | | <li> Ticgit ticket pages *(based on last MIT release bf57b032 2009-01-27)*</li>
|
| | | </ul>
|
| | | -  Docs page which enumerates all Markdown files within a repository
|
| | | -  Ticgit ticket pages *(based on last MIT release bf57b032 2009-01-27)*
|
| | |
|
| | | ## Gitblit GO Features
|
| | | - Out-of-the-box integrated stack requiring minimal configuration
|
| | | - Automatically generates a self-signed certificate for *localhost* https communications<br/>(includes script to generate a self-signed certificate for *your hostname*, see [setup](/setup.html) for details)
|
| | | - Automatically generates a self-signed certificate for *localhost* https communications |
| | | (includes script to generate a self-signed certificate for *your hostname*, see [setup](/setup.html) for details)
|
| | | - Single text file for configuring server and gitblit
|
| | | - A Windows service installation script and configuration tool
|
| | |
|
| | | ## Limitations
|
| | | - HTTP/HTTPS are the only supported protocols
|
| | | - HTTP/HTTPS are the only supported Git protocols
|
| | | - Access controls are not path-based, they are repository-based
|
| | | - Only Administrators can create, rename or delete repositories
|
| | | - Only Administrators can create, modify or delete users
|
| | | - Commit hooks are not supported
|
| | | - Native Git may be needed to periodically run git-gc as [JGit][jgit] does not fully support the git-gc featureset.
|
| | |
|
| | | ### Caveats
|
| | | - Gitblit may eat your data. Use at your own risk.
|
| | | - Gitblit may have security holes. Patches welcome. :)
|
| | |
|
| | | ## Todo List
|
| | | - Code documentation
|
| | | - Unit testing
|
| | |
|
| | | ### Under Consideration
|
| | | - Clone remote repository feature
|
| | | - Blob page improvements
|
| | | - view images
|
| | | - view other binary files (pdf, doc, etc)
|
| | | - Markdown editing feature
|
| | | - Stronger Ticgit read-only integration
|
| | | - activity/timeline
|
| | | - query feature with paging support
|
| | | - change history
|
| | | - Ticgit write integration
|
| | |
|
| | | [jgit]: http://eclipse.org/jgit "Eclipse JGit Site" |