# Default on JGit is 8 KiB on all platforms.\r
#\r
# Common unit suffixes of k, m, or g are supported.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
# Default on JGit is 10 MiB on all platforms.\r
#\r
# Common unit suffixes of k, m, or g are supported.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
# this value.\r
#\r
# Common unit suffixes of k, m, or g are supported.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
# available for network sockets and other repository data manipulation.\r
#\r
# Default on JGit is 128 file descriptors on all platforms.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
# Default is 50 MiB on all platforms.\r
#\r
# Common unit suffixes of k, m, or g are supported.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
#\r
# Default on JGit is false. Although potentially slower, it yields much more\r
# predictable behavior.\r
+# Documentation courtesy of the Gerrit project.\r
#\r
# SINCE 1.0.0\r
# RESTART REQUIRED\r
- RSS/JSON RPC interface\r
- Java/Swing Gitblit Manager tool \r
- Gitweb inspired web UI\r
+- Responsive web UI that subtracts elements to be usable on phones, tablets, and desktop browsers\r
- Groovy pre- and post- push hook scripts, per-repository or globally for all repositories\r
- Email push notifications *(via sendmail.groovy push script)*\r
- Lucene indexing of specified repository branches\r
Open `web.xml` in your favorite text editor and make sure to review and set:\r
- <context-parameter> *git.repositoryFolder* (set the full path to your repositories folder)\r
- <context-parameter> *groovy.scriptsFolder* (set the full path to your Groovy hook scripts folder)\r
+ - <context-parameter> *groovy.grapeFolder* (set the full path to your Groovy Grape artifact cache)\r
- <context-parameter> *realm.userService* (set the full path to `users.conf`)\r
+ - <context-parameter> *git.packedGitLimit* (set larger than the size of your largest repository)\r
+ - <context-parameter> *git.streamFileThreshold* (set larger than the size of your largest committed file)\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. Enter the default administrator credentials: **admin / admin** and click the *Login* button \r
Open `gitblit.properties` in your favorite text editor and make sure to review and set:\r
- *git.repositoryFolder* (path may be relative or absolute)\r
- *groovy.scriptsFolder* (path may be relative or absolute)\r
+ - *groovy.grapeFolder* (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* \r
**https** is strongly recommended because passwords are insecurely transmitted form your browser/git client using Basic authentication!\r
+ - *git.packedGitLimit* (set larger than the size of your largest repository)\r
+ - *git.streamFileThreshold* (set larger than the size of your largest committed file)\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. \r
Please see the section titled **Creating your own Self-Signed Certificate** to generate a certificate for *your hostname*.\r
\r
[Grape](http://groovy.codehaus.org/Grape) lets you quickly add maven repository dependencies to your Groovy hook script. \r
\r
-<blockquote>Grape (The Groovy Adaptable Packaging Engine or Groovy Advanced Packaging Engine) is the infrastructure enabling the grab() calls in Groovy, a set of classes leveraging [Ivy](http://ant.apache.org/ivy) to allow for a repository driven module system for Groovy. This allows a developer to write a script with an essentially arbitrary library requirement, and ship just the script. Grape will, at runtime, download as needed and link the named libraries and all dependencies forming a transitive closure when the script is run from existing repositories such as Ibiblio, Codehaus, and java.net.</blockquote>\r
+<blockquote>Grape (The Groovy Adaptable Packaging Engine or Groovy Advanced Packaging Engine) is the infrastructure enabling the grab() calls in Groovy, a set of classes leveraging <a href="http://ant.apache.org/ivy">Ivy</a> to allow for a repository driven module system for Groovy. This allows a developer to write a script with an essentially arbitrary library requirement, and ship just the script. Grape will, at runtime, download as needed and link the named libraries and all dependencies forming a transitive closure when the script is run from existing repositories such as Ibiblio, Codehaus, and java.net.</blockquote>\r
\r
%BEGINCODE%\r
// create and use a primitive array\r
<tr><th>Release</th><th>Protocol Version</th></tr>\r
<tr><td>Gitblit v0.7.0</td><td>1 (inferred version)</td></tr>\r
<tr><td>Gitblit v0.8.0</td><td>2</td></tr>\r
-<tr><td>Gitblit v0.9.0</td><td>3</td></tr>\r
+<tr><td>Gitblit v0.9.0+</td><td>3</td></tr>\r
</tbody>\r
</table>\r
\r
You might consider running [Gerrit](http://gerrit.googlecode.org) which does integrate [Apache Mina][mina] and supports SSH or you might consider serving [Git][git] on Linux which would offer real SSH support and also allow use of [many other compelling Git solutions](https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools).\r
\r
### What types of Search does Gitblit support?\r
-Gitblit supports case-insensitive searches of *commit message* (default), *author*, and *committer*.<br/>\r
+\r
+As of 0.9.0, Gitblit supports Lucene-based searching.\r
+\r
+If Lucene indexing is disabled, Gitblit falls back to brute-force commit-traversal search. Commit-traversal search supports case-insensitive searching of *commit message* (default), *author*, and *committer*.<br/>\r
\r
To search by *author* or *committer* use the following syntax in the search box:\r
\r
- [Groovy](http://groovy.codehaus.org) (Apache 2.0)\r
- [Lucene](http://lucene.apache.org) (Apache 2.0)\r
- [UnboundID](http://www.unboundid.com) (LGPL 2.1)\r
+- [Ivy](http://ant.apache.org/ivy) (Apache 2.0)\r
\r
### Other Build Dependencies\r
- [Fancybox image viewer](http://fancybox.net) (MIT and GPL dual-licensed)\r
- **Updated Lucene index version which will force a rebuild of ALL your Lucene indexes** \r
Make sure to properly set *web.blobEncodings* before starting Gitblit if you are updating! (issue 97)\r
- Changed default layout for web ui from fixed-width layout to responsive (issue 101) \r
-- IUserService interface has changed to better accomodate custom authentication and/or custom authorization\r
+- IUserService interface has changed to better accomodate custom authentication and/or custom authorization \r
+ The default `users.conf` now supports persisting display names and email addresses. \r
- Updated Japanese translation (Github/zakki)\r
\r
#### additions\r
\r
- Added setting to allow specification of a robots.txt file (issue 99) \r
- **New:** *web.robots.txt = * \r
-- Added setting to control responsive or fixed-width layout (issue 101) \r
+ **New:** *web.robots.txt =* \r
+- Added setting to control Responsive or Fixed-Width layout (issue 101) \r
+ Responsive layout is now the default. This layout gracefully scales the web ui from desktop browser form-factors to phone browser form-factors by hiding page components. \r
**New:** *web.useResponsiveLayout = true* \r
- Added setting to control charsets for blob string decoding. Default encodings are UTF-8, ISO-8859-1, and server's default charset. (issue 97) \r
**New:** *web.blobEncodings = UTF-8 ISO-8859-1* \r
**New:** *git.packedGitMmap = false* \r
- Added default access restriction. Applies to new repositories and repositories that have not been configured with Gitblit. (issue 88) \r
**New:** *git.defaultAccessRestriction = NONE* \r
-- Added setting to control Groovy Grape root folder. [Grape](http://groovy.codehaus.org/Grape) allows you to add Maven dependencies to your pre-/post-receive hook script classpath. \r
+- Added setting to control Groovy Grape root folder. \r
+ [Grape](http://groovy.codehaus.org/Grape) allows you to add Maven dependencies to your pre-/post-receive hook script classpath. \r
**New:** *groovy.grapeFolder = groovy/grape* \r
- Added LDAP User Service with many new *realm.ldap* keys (Github/jcrygier)\r
- Added support for custom repository properties for Groovy hooks (Github/jcrygier)\r
#### dependency changes\r
\r
- updated to Bootstrap 2.0.4\r
-- added Ivy 2.2.0 (for Grape support in Groovy hook scripts)\r
+- updated to JGit 2.0.0.201206130900-r\r
+- updated to Groovy 1.8.6\r
+- updated to Gson 1.7.2\r
+- updated to Log4J 1.2.17\r
+- updated to SLF4J 1.6.6\r
+- updated to JCommander 1.27\r
- updated to Apache Commons Daemon 1.0.10\r
+- added Ivy 2.2.0\r
+\r
+<hr/>\r
+\r
+### Older Releases\r
\r
**0.9.3** *released 2012-04-11*\r
\r
- Fixed bug where you could not remove all selections from a RepositoryModel list (permitted users, permitted teams, hook scripts, federation sets, etc) (issue 81)\r
- Automatically set *java.awt.headless=true* for Gitblit GO\r
\r
+<hr/>\r
+\r
**0.9.2** *released 2012-04-04*\r
\r
#### changes\r
- Fixed Centos service script (Github/mohamedmansour)\r
- Fixed EditRepositoryPage for IE8; missing save button (issue 80, Github/jonnybbb)\r
\r
+<hr/>\r
+\r
**0.9.1** *released 2012-03-27*\r
\r
#### fixes\r
\r
- Lucene folder was stored in working copy instead of in .git folder\r
\r
+<hr/>\r
+\r
**0.9.0** *released 2012-03-27*\r
\r
#### security\r
\r
<hr/>\r
\r
-### Older Releases\r
-\r
**0.8.2** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.war) | [express](http://code.google.com/p/gitblit/downloads/detail?name=express-0.8.2.zip) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.8.2.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.8.2.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.8.2.zip)) based on [JGit 1.2.0 (201112221803-r)][jgit] *released 2012-01-13*\r
\r
#### fixes\r
* optional automatic push to origin/remotes?\r
* optional manual push to origin/remotes?\r
* Gitblit: Repository regex substitutions should be stored in .git/.config, not gitblit.properties\r
-* Gitblit: Consider allowing git:// protocol using JGit\r
- * new setting *git.allowGitProtocol* to enable/disable git:// protocol\r
- * unrestricted repositories would have anonymous RW git:// access\r
- * push-restricted repositories would have anonymous R git:// access\r
- * clone-restricted repositories would prohibit git:// access\r
- * view-restricted repositories would prohibit git:// access\r
\r
### IDEAS\r
\r