James Moger
2011-11-11 ed99536abe326110de50d4c150b7b386c6e59707
docs/00_index.mkd
@@ -1,42 +1,89 @@
## Overview
## Why use Gitblit?
<a href="screenshots.html" title="Screenshots"><img class="overview" src="thumbs/00.png" alt="Screenshots" /></a>
Gitblit is an open-source, pure Java stack for managing, viewing, and serving [Git][git] repositories.<br/>
Its designed primarily as a tool for small workgroups who want to host centralized repositories.
Gitblit is an open-source, pure Java stack for managing, viewing, and serving [Git][git] repositories.
It's designed primarily as a tool for small workgroups who want to host centralized repositories.
Gitblit is available in two variations:
<ul class='noBullets'>
<li>*Gitblit GO* - a complete & integrated pure Java stack<p>
    This is what you should download if you want to go from zero to Git in less than 5 mins.<br/>
    Gitblit GO is like a mashup of Apache httpd, [Git][git], and Gitweb with simplified configuration and maintenance.<br/>
    All dependencies are downloaded on first execution.<p>
<li>*Gitblit WAR* - a traditional WAR distribution<p>
    This is what you should download if you want to deploy Gitblit into your own servlet container (e.g. Tomcat, Jetty, etc).<br/>
    All dependencies are bundled.
</ul>
### GO: Single-Stack Solution
*Gitblit GO* is an integrated, single-stack solution based on Jetty.
You do not need Apache httpd, Perl, Git, or Gitweb.  Should you want to use some or all of those, you still can; Gitblit plays nice with the other kids on the block.
This is what you should download if you want to go from zero to Git in less than 5 mins.
All dependencies are downloaded on first execution.
### WAR: For Your Servlet Container
*Gitblit WAR* is what you should download if you already have a servlet container available that you wish to use.
Jetty 6/7/8 and Tomcat 6/7 are known to work.  Generally, any Servlet 2.5 or Servlet 3.0 container should work.
All dependencies are bundled.
### 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.
Gitblit can be used without any other Git tooling (including actual Git) or it can cooperate with your established tools.
### 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 and Mining
- Pluggable user service mechanism for custom authentication, authorization, and user management
- Rich RSS feeds
- JSON-based RPC mechanism
- [Java Client API library](http://code.google.com/p/gitblit/downloads/detail?name=%API%) for custom integration
### 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.
### Current Release
**%VERSION%** ([go](http://code.google.com/p/gitblit/downloads/detail?name=%GO%) | [war](http://code.google.com/p/gitblit/downloads/detail?name=%WAR%) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=%FEDCLIENT%) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) | [api](http://code.google.com/p/gitblit/downloads/detail?name=%API%)) based on [%JGIT%][jgit] &nbsp; *released %BUILDDATE%*
- **security**: fixed security hole when cloning clone-restricted repository with TortoiseGit (issue 28)
- improved: updated ui with Twitter's Bootstrap CSS toolkit
    **New:** *web.loginMessage = gitblit*
- improved: repositories list performance by caching repository sizes (issue 27)
- improved: summary page performance by caching metric calculations (issue 25)
- added: authenticated JSON RPC mechanism
    **New:** *web.enableRpcServlet = true*
    **New:** *web.enableRpcManagement = false*
    **New:** *web.enableRpcAdministration = false*
- added: Gitblit API RSS/JSON RPC library
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
- added: per-repository setting to skip size calculation (faster repositories page loading)
- added: per-repository setting to skip summary metrics calculation (faster summary page loading)
- added: IUserService.setup(IStoredSettings) for custom user service implementations
- added: setting to control Gitblit GO context path for proxy setups *(Github/trygvis)*
    **New:** *server.contextPath = /*
- added: *combined-md5* password storage option which stores the hash of username+password as the password *(Github/alyandon)*
- added: repository owners are automatically granted access for git, feeds, and zip downloads without explicitly selecting them *(Github/dadalar)*
- added: RSS feeds now include regex substitutions on commit messages for bug trackers, etc
- fixed: federation protocol timestamps.  dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.
    **This breaks 0.6.0 federation clients/servers.**
- fixed: collision on rename for repositories and users
- fixed: Gitblit can now browse the Linux kernel repository (issue 25)
- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
- fixed: Set the RSS content type of syndication feeds for Firefox 4 (issue 22)
- fixed: RSS feeds are now properly encoded to UTF-8
- fixed: RSS feeds now properly generate parameterized links if *web.mountParameters=false*
- fixed: Null pointer exception if did not set federation strategy (issue 20)
- fixed: Gitblit GO allows SSL renegotiation if running on Java 1.6.0_22 or later
- updated: MarkdownPapers 1.2.5
- updated: Wicket 1.4.19
issues, binaries, and sources @ [Google Code][googlecode]<br/>
sources @ [Github][gitbltsrc]
### Java Runtime Requirement
Gitblit requires a Java 6 Runtime Environment (JRE) or a Java 6 Development Kit (JDK).
### Current Release
**%VERSION%** ([go](http://code.google.com/p/gitblit/downloads/detail?name=%GO%)|[war](http://code.google.com/p/gitblit/downloads/detail?name=%WAR%)) based on [%JGIT%][jgit] &nbsp; *released %BUILDDATE%*
- fixed: repositories with a HEAD that pointed to an empty branch caused internal errors (issue 14)
- fixed: bare-cloned repositories were listed as (empty) and were not clickable (issue 13)
- fixed: default port for Gitblit GO is now 8443 to be more linux/os x friendly (issue 12)
- fixed: forward-slashes ('/', %2F) can be encoded using a custom character to workaround some servlet container default security measures for proxy servers (issue 11)<br/>**New:** *web.forwardSlashCharacter = /*
- fixed: repositories can now be reliably deleted and renamed (issue 10)
- fixed: users can now change their passwords (issue 1)
- fixed: always show root repository group first, i.e. don't sort root group with other groups
- fixed: tone-down repository group header color
- added: optionally display repository on-disk size on repositories page<br/>**New:** *web.showRepositorySizes = true*
- updated: MarkdownPapers 1.1.0
- updated: Jetty 7.4.3
issues, binaries, and sources @ [Google Code][googlecode]<br/>
sources @ [Github][gitbltsrc]
### License
Gitblit is distributed under the terms of the [Apache Software Foundation license, version 2.0][apachelicense]
@@ -45,4 +92,4 @@
[git]: http://git-scm.com "Official Git Site"
[gitbltsrc]: http://github.com/gitblit "gitblit git repository"
[googlecode]: http://code.google.com/p/gitblit "gitblit project management"
[apachelicense]: http://www.apache.org/licenses/LICENSE-2.0 "Apache License, Version 2.0"
[apachelicense]: http://www.apache.org/licenses/LICENSE-2.0 "Apache License, Version 2.0"