Its designed primarily as a tool for small workgroups who want to host centralized repositories.\r
\r
Gitblit is available in two variations:\r
- <ul class='noBullets'>\r
- <li>*Gitblit GO* - a complete & integrated pure Java stack<p>\r
- This is what you should download if you want to go from zero to Git in less than 5 mins.<br/>\r
- Gitblit GO is like a mashup of Apache httpd, [Git][git], and Gitweb with simplified configuration and maintenance.<br/>\r
- All dependencies are downloaded on first execution.<p>\r
- <li>*Gitblit WAR* - a traditional WAR distribution<p>\r
- This is what you should download if you want to deploy Gitblit into your own servlet container (e.g. Tomcat, Jetty, etc).<br/>\r
+ \r
+ 1. *Gitblit GO* - a complete & integrated pure Java stack\r
+ \r
+ This is what you should download if you want to go from zero to Git in less than 5 mins. \r
+ Gitblit GO is like a mashup of Apache httpd, [Git][git], and Gitweb with simplified configuration and maintenance. \r
+ All dependencies are downloaded on first execution.\r
+ 2. *Gitblit WAR* - a traditional WAR distribution\r
+ \r
+ This is what you should download if you want to deploy Gitblit into your own servlet container (e.g. Tomcat, Jetty, etc). \r
All dependencies are bundled.\r
- </ul>\r
\r
### Tools\r
- <ul class='noBullets'>\r
- <li>*Gitblit RPC Client* - a Java Swing tool to clone repositories and remotely administer a Gitblit server\r
- <li>*Gitblit Federation Client* - a command line tool to clone/pull groups of repositories and optionally users and settings\r
- </ul>\r
+ \r
++- *Gitblit RPC Client* - a Java Swing tool to clone repositories and remotely administer a Gitblit server\r
+ - *Gitblit Federation Client* - a command line tool to clone/pull groups of repositories and optionally users and settings\r
\r
### Java Runtime Requirement\r
\r
\r
### Current Release\r
\r
-**%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%)) based on [%JGIT%][jgit] *released %BUILDDATE%*\r
+**%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%)|[rpcclient](http://code.google.com/p/gitblit/downloads/detail?name=%RPCCLIENT%)) based on [%JGIT%][jgit] *released %BUILDDATE%*\r
\r
- - improved: overhauled web ui with Twitter's Bootstrap CSS toolkit\r
- <br/>**New:** *web.loginMessage = gitblit*\r
- - added: authenticated JSON RPC mechanism \r
- <br/>**New:** *web.enableRpcServlet = true*\r
- <br/>**New:** *web.enableRpcAdministration = false*\r
+ - improved: updated ui with Twitter's Bootstrap CSS toolkit \r
+ **New:** *web.loginMessage = gitblit*\r
++- added: authenticated JSON RPC mechanism \r
++ **New:** *web.enableRpcServlet = true* \r
++ **New:** *web.enableRpcAdministration = false*\r
+- added: reusable JSON RPC client class\r
- - added: Swing RPC Client application for cloning and administration of repositories, users, and federation proposals.\r
- - fixed/broke: federation protocol. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. This breaks 0.6.0 federation clients/servers.\r
++- added: Swing RPC Client application for cloning and administration of repositories, users, & federation proposals.\r
++- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. \r
++ **This breaks 0.6.0 federation clients/servers.**\r
- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8)\r
- fixed: Set the RSS content type for Firefox 4 (issue 22)\r
- fixed: Null pointer exception if did not set federation strategy (issue 20)\r
- JGit SmartHTTP servlet\r
- Browser and git client authentication\r
- Four *per-repository* access control configurations with a Read-Only control flag\r
- <ul class='noBullets'>\r
- <li>![anonymous](blank.png) *Anonymous View, Clone & Push*</li>\r
- <li>![push](lock_go_16x16.png) *Authenticated Push*</li>\r
- <li>![clone](lock_pull_16x16.png) *Authenticated Clone & Push*</li>\r
- <li>![view](shield_16x16.png) *Authenticated View, Clone & Push*</li>\r
- <li>![freeze](cold_16x16.png) Freeze repository (i.e. deny push, make read-only)\r
- </ul>\r
+ - ![anonymous](blank.png) *Anonymous View, Clone & Push*\r
+ - ![push](lock_go_16x16.png) *Authenticated Push*\r
+ - ![clone](lock_pull_16x16.png) *Authenticated Clone & Push*\r
+ - ![view](shield_16x16.png) *Authenticated View, Clone & Push*\r
+ - ![freeze](cold_16x16.png) Freeze repository (i.e. deny push, make read-only)\r
- Ability to federate with one or more other Gitblit instances\r
++- JSON RPC interface\r
- Gitweb inspired web UI\r
- Administrators may create, edit, rename, or delete repositories through the web UI\r
- Administrators may create, edit, rename, or delete users through the web UI\r
- <context-parameter> *realm.userService* (set the full path to `users.properties`)\r
5. You may have to restart your servlet container. \r
6. Open your browser to <http://localhost/gitblit> or whatever the url should be.\r
- 7. Click the *Login* link and enter the default administrator credentials: **admin / admin**<br/>\r
-7. Click the *Login* link and enter the default administrator credentials: **admin / admin** \r
++7. Enter the default administrator credentials: **admin / admin** and click the *Login* button \r
**NOTE:** Make sure to change the administrator username and/or password!! \r
\r
## Gitblit GO Setup\r
- *git.repositoryFolder* (path may be relative or absolute)\r
- *server.tempFolder* (path may be relative or absolute)\r
- *server.httpPort* and *server.httpsPort*\r
- - *server.httpBindInterface* and *server.httpsBindInterface*<br/>\r
+ - *server.httpBindInterface* and *server.httpsBindInterface* \r
**https** is strongly recommended because passwords are insecurely transmitted form your browser/git client using Basic authentication!\r
3. Execute `gitblit.cmd` or `java -jar gitblit.jar` from a command-line\r
- 4. Wait a minute or two while all dependencies are downloaded and your self-signed *localhost* certificate is generated.<br/>Please see the section titled **Creating your own Self-Signed Certificate** to generate a certificate for *your hostname*.\r
+ 4. Wait a minute or two while all dependencies are downloaded and your self-signed *localhost* certificate is generated. \r
+ Please see the section titled **Creating your own Self-Signed Certificate** to generate a certificate for *your hostname*.\r
5. Open your browser to <http://localhost:8080> or <https://localhost:8443> depending on your chosen configuration.\r
- 6. Click the *Login* link and enter the default administrator credentials: **admin / admin**<br/>\r
-6. Click the *Login* link and enter the default administrator credentials: **admin / admin** \r
++6. Enter the default administrator credentials: **admin / admin** and click the *Login* button \r
**NOTE:** Make sure to change the administrator username and/or password!! \r
\r
### Creating your own Self-Signed Certificate\r
\r
![block diagram](fed_aggregation.png "Gitblit Federation Aggregation")\r
\r
++### Important Changes to Note\r
++\r
++The Gitblit 0.7.0 federation protocol is incompatible with the 0.6.0 federation protocol because of a change in the way timestamps are formatted.\r
++\r
++Gitblit 0.6.0 uses the default [google-gson](http://google-gson.googlecode.com) timestamp serializer which generates locally formatted timestamps. Unfortunately, this creates problems for distributed repositories and distributed developers. Gitblit 0.7.0 corrects this error by serializing dates to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. As a result 0.7.0 is not compatible with 0.6.0. A partial backwards-compatibility fallback was considered but it would only work one direction and since the federation mechanism is bidirectional it was not implemented.\r
++\r
### Origin Gitblit Instance Requirements\r
\r
- *git.enableGitServlet* must be true, all Git clone and pull requests are handled through Gitblit's JGit servlet\r
## Release History\r
\r
### Current Release\r
-**%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%)) based on [%JGIT%][jgit] *released %BUILDDATE%*\r
+**%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%)|[rpcclient](http://code.google.com/p/gitblit/downloads/detail?name=%RPCCLIENT%)) based on [%JGIT%][jgit] *released %BUILDDATE%*\r
\r
- - improved: overhauled web ui with Twitter's Bootstrap CSS toolkit\r
- <br/>**New:** *web.loginMessage = gitblit*\r
- - added: authenticated JSON RPC mechanism \r
- <br/>**New:** *web.enableRpcServlet = true*\r
- <br/>**New:** *web.enableRpcAdministration = false*\r
+ - improved: updated ui with Twitter's Bootstrap CSS toolkit \r
+ **New:** *web.loginMessage = gitblit*\r
++- added: authenticated JSON RPC mechanism \r
++ **New:** *web.enableRpcServlet = true* \r
++ **New:** *web.enableRpcAdministration = false*\r
+- added: reusable JSON RPC client class\r
- - added: Swing RPC Client application for cloning and administration of repositories, users, and federation proposals.\r
- - fixed/broke: federation protocol. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. This breaks 0.6.0 federation clients/servers.\r
++- added: Swing RPC Client application for cloning and administration of repositories, users, & federation proposals.\r
++- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard. \r
++ **This breaks 0.6.0 federation clients/servers.**\r
- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8)\r
- - fixed: Set the RSS content type for Firefox 4 (issue 22)
+ - fixed: Set the RSS content type for Firefox 4 (issue 22)\r
- fixed: Null pointer exception if did not set federation strategy (issue 20)\r
- fixed: Gitblit GO allows SSL renegotiation if running on Java 1.6.0_22 or later\r
- added: IUserService.setup(IStoredSettings) for custom user service implementations\r
MarkdownUtils.transformMarkdown("**THIS ** is a test"));\r
assertEquals("<p>** THIS** is a test</p>",\r
MarkdownUtils.transformMarkdown("** THIS** is a test"));\r
++ \r
++ assertEquals("<table><tr><td>test</td></tr></table>", MarkdownUtils.transformMarkdown("<table><tr><td>test</td></tr></table>"));\r
++ assertEquals("<table><tr><td><test></td></tr></table>",\r
++ MarkdownUtils.transformMarkdown("<table><tr><td><test></td></tr></table>"));\r
++\r
try {\r
MarkdownUtils.transformMarkdown((String) null);\r
assertTrue(false);\r