From 767eb537d28dccf73c78796b7d6dd27fe7073d66 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 18 Jun 2011 09:24:34 -0400 Subject: [PATCH] Don't show all credentials in debug log, only failures. --- docs/01_faq.mkd | 36 ++++++++++++++++++++++++++++-------- 1 files changed, 28 insertions(+), 8 deletions(-) diff --git a/docs/01_faq.mkd b/docs/01_faq.mkd index 5068e79..552c89d 100644 --- a/docs/01_faq.mkd +++ b/docs/01_faq.mkd @@ -12,10 +12,10 @@ 3. The repository is clone-restricted and your password changed. 4. A regression in Gitblit. :( -### Why can't I access Gitblit from another machine? +### Why can't I access Gitblit-Go 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? +### How do I run Gitblit-Go 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). @@ -27,15 +27,31 @@ ### Why use Gitblit? It's a small tool that allows you to easily manage shared repositories and doesn't require alot of setup or git kung-foo. +### Who is the target user for Gitblit? +Small workgroups that require centralized repositories. + +Gitblit is not meant to be a social coding resource like [Github](http://github.com) or [Bitbucket](http://bitbucket.com) with 100s or 1000s of users. Gitblit is designed to fulfill the same function as your centralized Subversion or CVS server. + +### Why does Gitblit exist? +As a Java developer I prefer that as much of my tooling as possible is Java.<br/> +Originally, I was going to use [Mercurial](http://mercurial.selenic.com) but... + +- MercurialEclipse [shells to Python, writes to System.out, and captures System.in](http://mercurial.808500.n3.nabble.com/Hg4J-Mercurial-pure-Java-library-tp2693090p2694555.html)<br/> +Parsing command-line output is fragile and suboptimal.<br/>Unfortunately this is necessary because Mercurial is an application, not a library. +- Mercurial HTTP/HTTPS needs to run as CGI through Apache/IIS/etc, as mod_python through Apache, or served with a built-in http server.<br/> +This requires setup and maintenance of multiple, mixed 3rd party components. + +Gitblit eliminates all that complication with its 100% Java stack and simple single configuration file. + ### 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/> Everything you need for Gitblit is either in the zip distribution file or automatically downloaded on execution. +### Can I run Gitblit in conjunction with my existing Git tooling? +Yes. + ### 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`. @@ -50,9 +66,12 @@ Gitblit's simple authentication and authorization mechanism can be used to facilitate one or more of the [workflows outlined here](http://progit.org/book/ch5-1.html). Should you require more fine-grained access controls you might consider using [gitolite](https://github.com/sitaramc/gitolite). +### Can I authenticate users against XYZ? +Yes. The login service is pluggable. You may write your own authentication module by implementing the *ILoginService* interface. Set the fully qualified classname as the *realm.realmFile* property. + ### 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 universal transport mechanism. +SSH support requires creating, exchanging, and managing SSH keys (arguably not more complicated than managing users). 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). @@ -66,8 +85,9 @@ Alternatively, you could enable the search type dropdown list in your `gitblit.properties` file. -### 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. +### Can Gitblit be translated? + +Yes. Most messages are localized to a standard Java properties file. [bitblt]: http://en.wikipedia.org/wiki/Bit_blit "Wikipedia Bitblt" [jgit]: http://eclipse.org/jgit "Eclipse JGit Site" -- Gitblit v1.9.1