Rafael Cavazin
2012-12-18 34148fc36e5357525705d8ce1b4169fb8acf2103
docs/01_features.mkd
@@ -1,12 +1,23 @@
## Standard Features (GO/WAR)
- JGit SmartHTTP servlet
- Browser and git client authentication
- Four *per-repository* access control configurations with a Read-Only control flag
- Four *per-repository* access restriction configurations with a Read-Only control flag
    - ![anonymous](blank.png) *Anonymous View, Clone & Push*
    - ![push](lock_go_16x16.png) *Authenticated Push*
    - ![clone](lock_pull_16x16.png) *Authenticated Clone & Push*
    - ![view](shield_16x16.png) *Authenticated View, Clone & Push*
    - ![freeze](cold_16x16.png) Freeze repository (i.e. deny push, make read-only)
- Six *per-user/team* repository access permissions
    - **V** (view in web ui, RSS feeds, download zip)
    - **R** (clone)
    - **RW** (clone and push)
    - **RWC** (clone and push with ref creation)
    - **RWD** (clone and push with ref creation, deletion)
    - **RW+** (clone and push with ref creation, deletion, rewind)
- Optional feature to allow users to create personal repositories
- Optional feature to fork a repository to a personal repository
- Optional feature to create a repository on push
- *Experimental* built-in Garbage Collection
- Ability to federate with one or more other Gitblit instances
- RSS/JSON RPC interface
- Java/Swing Gitblit Manager tool 
@@ -38,31 +49,25 @@
- Single text file for users configuration
- Optional utility pages
    - ![docs](book_16x16.png) Docs page which enumerates all Markdown files within a repository
    - ![tickets](bug_16x16.png) Ticgit ticket pages *(based on last MIT release bf57b032 2009-01-27)*
    - ![tickets](bug_16x16.png) **readonly** Ticgit ticket pages *(based on last MIT release bf57b032 2009-01-27)*
- Translations
    - English
    - Japanese
    - Spanish
    - Polish
    - Korean
   - Brazilian Portuguese
## Gitblit GO Features
- Out-of-the-box integrated stack requiring minimal configuration
- 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)
- Automatic generation of ssl certificate for https communications
- Integrated GUI tool to facilitate x509 PKI including ssl and client certificate generation, client certificate revocation, and client certificate distribution
- Single text file for configuring server and gitblit
- A Windows service installation script and configuration tool
- Built-in AJP connector for Apache httpd 
## Limitations
- HTTP/HTTPS are the only supported Git protocols
- Built-in 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
- Only Administrators can create, modify or delete teams
- Native Git may be needed to periodically run git-gc as [JGit][jgit] does not fully support the git-gc featureset.
### Caveats
- Gitblit may have security holes.  Patches welcome.  :)
- Built-in access controls are not path-based, they are repository-based.
[jgit]: http://eclipse.org/jgit "Eclipse JGit Site"