James Moger
2011-05-19 00afd77a2182ece3d9522d41b86b4ddd7e132288
docs/00_overview.mkd
@@ -1,6 +1,6 @@
## Overview
Git:Blit is an open-source, integrated pure-Java stack for managing, viewing, and serving [Git](http://git-scm.com) repositories.
Its designed primarily as a tool for small workgroups who want to host Git repositories on a Windows machine.
Its designed primarily as a tool for small workgroups who want to host [Git](http://git-scm.com) 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](https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools) for non-Windows environments.
 
@@ -10,46 +10,53 @@
### Features
- Out-of-the-box integrated stack requiring minimal configuration
- JGit SmartHTTP Servlet
- Web and Git Servlet authentication
- JGit SmartHTTP servlet
- Browser and git client authentication
- Four repository access control configurations
    - *Anonymous View, Clone & Push*
    - *Authenticated Push*
    - *Authenticated Clone & Push*
    - *Authenticated View, Clone & Push*    
- Gitweb inspired UI (mostly plain html)
- Repository administration through web UI
- User administration through web UI
- Repositories may also be frozen (deny push) temporarily or permanently
- 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 browser's reported timezone
- Author and Committer email address display can be controlled
- Syntax highlighting
- Customizable regular expression handling for commit messages
- Single text file for server configuration
- Single text file for users configuration
- Simple repository stats
- Simple text file for server configuration
- Simple text file for users configuration
- Optional integrated Ticgit
- Optional integrated Markdown
- Optional read-only Docs page which enumerates all Markdown files within a repository
- Optional read-only 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 admin users can create repositories
- Only Administrators can create, rename or delete repositories
- Git:Blit is a full-stack solution, its not just a webapp so at this time there is no WAR build
### Todo List
- Review spots where Git:Blit can cache data instead of abusing the disk
- Unit testing
- Ticgit activity/timeline
- Ticgit query feature with paging support
- Ticgit ticket change history
- Implement Markdown editing
- View images on Blob page
- View other binary files Blob page
- View other binary files on Blob page
### License
TBD
### Architecture
### Inspirations
- [Gitweb](http://www.git-scm.com)
- [Fossil](http://www.fossil-scm.org)
## Architecture
![block diagram](architecture.png "Git Blit Architecture")
@@ -73,8 +80,8 @@
- [JCommander](http://jcommander.org)
- [BouncyCastle](http://www.bouncycastle.org)
### Building
Eclipse is recommended for development as the project settings are preconfigured.
## Building
[Eclipse](http://eclipse.org) is recommended for development as the project settings are preconfigured.
1. Clone the git repository from here.
2. Import the gitblit project into your Eclipse workspace.<br/>