James Moger
2011-06-14 8c9a2037b5c0fed881a3ad6dd9cff364eed603d9
docs/00_index.mkd
@@ -30,15 +30,19 @@
- 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
- Git-notes support
- Branch metrics (uses Google Charts)
- HEAD and branch RSS feeds
- Blame annotations view
- Dates can optionally be displayed using the browser's reported timezone
- Author and Committer email address display can be controlled
- Display of Author and Committer email addresses can be disabled
- Case-insensitive searching of commit messages, authors, or committers
- Dynamic zip downloads feature
- Markdown view support
- Syntax highlighting
- Customizable regular expression handling for commit messages
- Markdown file view support
- Syntax highlighting for popular source code types
- Customizable regular expression substitution for commit messages (i.e. bug or code review link integration)
- Single text file for server configuration
- Single text file for users configuration
- Simple repository stats and activity graph (uses Google Charts)
- Optional utility pages
    <ul class='noBullets'>
    <li>![docs](book_16x16.png) Docs page which enumerates all Markdown files within a repository</li>
@@ -46,31 +50,36 @@
    </ul>
### Limitations
- [%JGIT%][jgit] does not currently [garbage collect or repack](http://www.kernel.org/pub/software/scm/git/docs/git-gc.html)
- 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
- Gitblit is an integrated, full-stack solution.  There is no WAR build at this time.
### Caveats
- Gitblit may eat your data.  Use at your own risk.
- Gitblit may have security holes.  Patches welcome.  :)
### Todo List
- Review spots where Gitblit can cache data instead of abusing the disk
    - stats
    - users.properties access
    - available repositories
    - etc
- Code documentation
- Unit testing
- Update Build.java to JGit 1.0.0, when its released
- WAR solution
### 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
- Consider clone remote repository feature
- Stronger Ticgit read-only integration
    - activity/timeline
    - query feature with paging support
    - change history
- Ticgit write integration
- Blob page improvements
    - view images
    - view other binary files (pdf, doc, etc)
- Markdown editing feature
- Blame (waiting for the [JGit][jgit] team to do the hard part)
### License
Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
Gitblit is distributed under the terms of the [Apache Software Foundation license, version 2.0][apachelicense]
### Inspirations
- [Gitweb](http://www.git-scm.com)
@@ -78,7 +87,7 @@
## Architecture
![block diagram](architecture.png "Git Blit Architecture")
![block diagram](architecture.png "Gitblit Architecture")
### Bundled Dependencies
The following dependencies are bundled with the Gitblit zip distribution file.
@@ -102,10 +111,13 @@
- [JCommander](http://jcommander.org) (Apache 2.0)
- [BouncyCastle](http://www.bouncycastle.org) (MIT/X11)
- [JSch - Java Secure Channel](http://www.jcraft.com/jsch) (BSD)
- [Rome](http://rome.dev.java.net) (Apache 1.1)
- [jdom](http://www.jdom.org) (Apache-style JDOM license)
### Other Build Dependencies
- [Fancybox image viewer](http://fancybox.net) (MIT and GPL dual-licensed)
- [JUnit](http://junit.org) (Common Public License)
- [commons-net](http://commons.apache.org/net) (Apache 2.0)
## Building from Source
[Eclipse](http://eclipse.org) is recommended for development as the project settings are preconfigured.
@@ -125,6 +137,13 @@
    - If running on Linux you may have to change the served port(s) to > 1024 unless you are developing as the root user. 
6. Execute the *com.gitblit.Launcher* class to start Gitblit.
## Contributing
Patches welcome in any form.
Contributions must be your own original work and must licensed under the [Apache License, Version 2.0][apachelicense], the same license used by Gitblit.
[jgit]: http://eclipse.org/jgit "Eclipse JGit Site"
[git]: http://git-scm.com "Official Git Site"
[gitbltsrc]: http://somewhere.com "gitblit git repository"
[gitbltsrc]: http://somewhere.com "gitblit git repository"
[apachelicense]: http://www.apache.org/licenses/LICENSE-2.0 "Apache License, Version 2.0"