summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-05-19 17:13:50 -0400
committerJames Moger <james.moger@gitblit.com>2011-05-19 17:13:50 -0400
commit00afd77a2182ece3d9522d41b86b4ddd7e132288 (patch)
treedbff3de74c43d4bdb7c31f6c0acb83cd8045a631 /docs
parentdd7961bc443c732d0bbdd6bda47d6c2cfda5b290 (diff)
downloadgitblit-00afd77a2182ece3d9522d41b86b4ddd7e132288.tar.gz
gitblit-00afd77a2182ece3d9522d41b86b4ddd7e132288.zip
Owner editing. Frozen status. Grouped repositories. Documentation.
Diffstat (limited to 'docs')
-rw-r--r--docs/00_overview.mkd37
-rw-r--r--docs/01_configuration.mkd24
-rw-r--r--docs/01_eclipse.mkd17
-rw-r--r--docs/architecture.odgbin13340 -> 15758 bytes
-rw-r--r--docs/architecture.pngbin16892 -> 28259 bytes
-rw-r--r--docs/sslverify.pngbin0 -> 48728 bytes
-rw-r--r--docs/sslverify2.pngbin0 -> 21758 bytes
7 files changed, 51 insertions, 27 deletions
diff --git a/docs/00_overview.mkd b/docs/00_overview.mkd
index 63898f6c..7e286c5b 100644
--- a/docs/00_overview.mkd
+++ b/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 @@ Of course, since its pure-Java it should run with any JVM on any platform, but t
### 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 @@ The following dependencies are automatically downloaded from the Apache Maven re
- [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/>
diff --git a/docs/01_configuration.mkd b/docs/01_configuration.mkd
index 9e8a9f06..415ad474 100644
--- a/docs/01_configuration.mkd
+++ b/docs/01_configuration.mkd
@@ -6,36 +6,39 @@
Open `gitblit.properties` in your favorite text editor and make sure to review and set:
- *git.repositoryFolder*
- *server.tempFolder*
- - *server.httpBindInterface* and *server.httpsBindInterface*
+ - *server.httpBindInterface* and *server.httpsBindInterface*<br/>
+**NOTE:** Consider using **https** exclusively because passwords for authentication are transmitted as clear text!
- *server.storePassword*<br/>
-**NOTE:**<br/>
-Its recommended to use **https** wherever possible instead of http because passwords are transmitted as clear text!
+**NOTE:** The certificate password AND the keystore password must match!
3. Execute `gitblit.cmd` or `java -jar gitblit.jar` from a command-line
4. Wait a minute or two while all dependencies are downloaded and your self-signed certificate is generated.
5. Open your browser to <http://localhost> or <https://localhost> depending on your chosen configuration.
6. Click the *Login* link and enter the default administrator credentials: **admin / admin**<br/>
-**NOTE:**<br/>
-Make sure to change the administrator username and/or password!!
+**NOTE:** Make sure to change the administrator username and/or password!!
### Administering Repositories
-Repositories can be created, edited, and deleted through the web UI. They may also be created, edited, and deleted from the command-line using real Git or your favorite file manager and text editor.
+Repositories can be created, edited, renamed, and deleted through the web UI. They may also be created, edited, and deleted from the command-line using real [Git](http://git-scm.com) or your favorite file manager and text editor.
All repository settings are stored within the repository `.git/config` file under the *gitblit* section.
[gitblit]
description = master repository
- owner = Joe Owner
+ owner = james
useTickets = false
useDocs = true
showRemoteBranches = false
accessRestriction = clone
+ isFrozen = false
#### Repository Names
Repository names must be unique and are case-insensitive. The name must be composed of letters, digits, or `/ _ - .`<br/>
Whitespace is illegal.
+#### Repository Owner
+The *Repository Owner* has the special permission of being able to edit a repository through the web UI. The Repository Owner is not permitted to rename the repository, delete the repository, or reassign ownership to another user.
+
### Administering Users
-In contrast, all users are stored in the `users.properties` file or in the file your specified in `gitblit.properties`.<br/>
+All users are stored in the `users.properties` file or in the file you specified in `gitblit.properties`.<br/>
The format of `users.properties` follows Jetty's convention for HashRealms:
username,password,role1,role2,role3...
@@ -48,11 +51,12 @@ Whitespace is illegal.
User passwords are CASE-SENSITIVE and may be *plain*, *md5*, or *crypt* formatted (see `gitblit.properties` -> *realm.passwordStorage*).
#### User Roles
-There is only one actual *role* in Git:Blit and that is *#admin* which grants administrative powers to that user. Administrators automatically have access to all repositories. All other *roles* are actually repository names. If a repository is access-restricted, the user must have the repository's name within his/her roles to bypass the access restriction. This is how users are granted access to a restricted repository.
+There is only one actual *role* in Git:Blit and that is *#admin* which grants administrative powers to that user. Administrators automatically have access to all repositories. All other *roles* are repository names. If a repository is access-restricted, the user must have the repository's name within his/her roles to bypass the access restriction. This is how users are granted access to a restricted repository.
### Creating your own Self-Signed Certificate
-Review the contents of the `makekeystore.cmd` or `makekeystore_jdk.cmd`script and execute it. Voila.
+Review the contents of the `makekeystore.cmd` or `makekeystore_jdk.cmd` script and execute it.<br/>
+**NOTE:** The certificate password AND the keystore password must match!
### Running as a Service
Review the contents of the `installService.cmd` or `installService64.cmd`, as appropriate for your JVM.<br/>
diff --git a/docs/01_eclipse.mkd b/docs/01_eclipse.mkd
index 93fd5315..c04834c5 100644
--- a/docs/01_eclipse.mkd
+++ b/docs/01_eclipse.mkd
@@ -1,5 +1,18 @@
## Eclipse Tips
-verifySsl
+### Do Not Verify Self-Signed Certificates
+If you are using a self-signed certificate, like the one that is automatically generated by Git:Blit, you have to tell Eclipse/EGit to ignore certificate verification errors.
+
+![sslverify](sslverify.png "http.sslVerify setting")
+
+![sslverify2](sslverify2.png "Adding http.sslVerify setting")
+
+### Pushing a New Project to a New Git:Blit Repository
+1. Project Root->Team->Share->Git
+Create a Git repository inside the project
+
+### Pushing a Git-Controlled Project to another Git:Blit Repository
+1. Project Root->Team->Remote->Push
+2. Enter the URL information of the repository
+3. In the Refspec dialog click the buttons named "All all branches spec" and "All all tags spec"
-how to push new unshared project to new repository \ No newline at end of file
diff --git a/docs/architecture.odg b/docs/architecture.odg
index fc4ea7b7..c2fc25c0 100644
--- a/docs/architecture.odg
+++ b/docs/architecture.odg
Binary files differ
diff --git a/docs/architecture.png b/docs/architecture.png
index d2f3e0c7..0dd7ddc2 100644
--- a/docs/architecture.png
+++ b/docs/architecture.png
Binary files differ
diff --git a/docs/sslverify.png b/docs/sslverify.png
new file mode 100644
index 00000000..e987b9f0
--- /dev/null
+++ b/docs/sslverify.png
Binary files differ
diff --git a/docs/sslverify2.png b/docs/sslverify2.png
new file mode 100644
index 00000000..94db9776
--- /dev/null
+++ b/docs/sslverify2.png
Binary files differ