James Moger
2011-05-27 1f9daef870a8c7a984955166a542628d69012ed5
docs/01_faq.mkd
@@ -1,10 +1,31 @@
## Frequently Asked Questions
## Troubleshooting
### Eclipse/Egit/Git complains that it "can't open upload pack"?
There are a few ways this can occur:
1. You are using https with a self-signed certificate and you **did not** configure *http.sslVerify=false*
    1. Window->Preferences->Team->Git->Configuration
    2. Click the *New Entry* button
    3. <pre>Key = *http.sslVerify*
       Value = *false*</pre>
2. The repository is clone-restricted and you don't have access.
3. The repository is clone-restricted and your password changed.
4. A regression in Gitblit.  :(
### Why can't I access Gitblit from another machine?
Please check *server.httpBindInterface* and *server.httpsBindInterface* in `gitblit.properties`.
### How do I run Gitblit on port 80 or 443 in Linux?
Linux requires root permissions to serve on ports < 1024.<br/>
Run the server as *root* (security concern) or change the ports you are serving to 8080 (http) and/or 8443 (https).
## General Interest Questions
### Gitblit?  What kind of name is that?
Its a phonetic play on [bitblt][bitblt] which is an image processing operation meaning *bit-block transfer*.
It's a phonetic play on [bitblt][bitblt] which is an image processing operation meaning *bit-block transfer*.
### Why use Gitblit?
Its small.  Its portable.  Its easy to manage.
It's a small tool that allows you to easily manage shared repositories and doesn't require alot of setup or git kung-foo.
### Do I need real Git?
No.  Gitblit is based on [JGit][jgit] which is a pure Java implementation of the [Git version control system][git].<br/>
@@ -13,11 +34,16 @@
### Do I need a JDK or can I use a JRE?
Gitblit will run just fine with a JRE.  Gitblit can optionally use `keytool` from the JDK to generate self-signed certificates, but normally Gitblit uses [BouncyCastle][bouncycastle] for that need.
### I want to deploy Gitblit into my own servlet container.  Where is the WAR?
At this time there is no WAR build available.
### Does Gitblit use a database to store its data?
No.  Gitblit stores its repository configuration information within the `.git/config` file and its user information in `users.properties` or whatever filename is configured in `gitblit.properties`.
### I want to deploy Gitblit into my own servlet container.  Where is the WAR?
At this time there is no WAR build available.
### Can I manually edit users.properties, gitblit.properties, or .git/config?
Yes.  You can manually manipulate all of them and (most) changes will be immediately available to Gitblit.<br/>Exceptions to this are noted in `gitblit.properties`.
*NOTE:* Care must be taken to preserve the relationship between user roles and repository names.<br/>Please see the [setup](/setup.html) page for details.
### Can I restrict access to paths within a repository?
No.  Access restrictions apply to the repository as a whole.
@@ -26,7 +52,7 @@
### Why doesn't Gitblit support SSH?
Gitblit could integrate [Apache Mina][mina] to provide SSH access.  However, doing so violates Gitblit's first design principle: [KISS](http://en.wikipedia.org/wiki/KISS_principle).<br/>
SSH support requires creating, exchanging, and managing SSH keys.  While this is possible, JGit's SmartHTTP implementation is a simpler and cleaner transport mechanism.
SSH support requires creating, exchanging, and managing SSH keys.  While this is possible, JGit's SmartHTTP implementation is a simpler and universal transport mechanism.
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).
@@ -40,9 +66,8 @@
    
Alternatively, you could enable the search type dropdown list in your `gitblit.properties` file.
### How do I run Gitblit on port 80 or 443 in Linux?
Linux requires root permissions to serve on ports < 1024.<br/>
Run the server as *root* (security concern) or change the ports you are serving to 8080 (http) and/or 8443 (https).
### I see a disabled "blame" link. How do I enable it?
Currently blame is not implemented.  Those links are placeholders to remind me where Gitweb offers blame.
[bitblt]: http://en.wikipedia.org/wiki/Bit_blit "Wikipedia Bitblt"
[jgit]: http://eclipse.org/jgit "Eclipse JGit Site"