empty
very basic, usable, first cut done

  - sausage making hidden
  - lots of important features missing
chdirs moved from load() to load_common() and load_1()
'gitolite list-groups' added
'gitolite list-users' added (but see warnings)

this is pretty slow if you have thousands of repos, since it has to read
and parse a 'gl-conf' file for every repo.  (For example, on a Lenovo
X201 thinkpad with 11170 repos and a cold cache, it took 288 seconds).

(With a hot cache -- like if you run the command again -- it took 2.1
seconds!  So if you have a fast disk this may not be an issue for you
even if you have 10,000+ repos).
'gitolite list-repos' added, plus some usage message changes
'gitolite list-memberships' added
'gitolite list-members' added
list_phy_repos() moved from store.pm to common.pm

but you need to chdir() to the right place before calling it
'gitolite list-phy-repos' added
(lotsa files affected) rc file format changed; see below

The rc file used to be a bunch of variables, each one requiring to be
declared before being used.  While this was nice and all, it was a
little cumbersome to add a new flag or option.

If you disregard the "catch typos" aspect of having to predeclare
variables, it's a lot more useful to have all of rc be in a hash and use
any hash keys you want.

There could be other uses; for instance it could hold arbitrary data
that you would currently put in %ENV, without having to pollute %ENV if
you don't need child tasks to inherit it.

----

NOTE: I also ran perltidy, which I don't always remember to :)
queryrc.pm rolled into rc.pm, removed
deny message change; t01 also changed accordingly
t01-basic completed, some change to test.pm as well
gitolite/commands/setup -> gitolite/setup
sugar high!

make it easy to handle syntactic sugar.  In summary, compile now calls
parse(sugar('gitolite.conf')).

Details:

  - cleanup_conf_line went from subar.pm to common.pm
  - explode() and minions went from conf.pm to the new explode.pm
  - the callback went away; everyone just passes whole arrays around now
  - the new sugar() takes a filename and returns a listref
  - all sugar scripts take and return a listref

  - the first "built-in" sugar is written (setting gitweb.owner and
    gitweb.description)

the new RC file format (of being a hash called %rc) is getting a nice
workout :-)
install/test made easy (WARNING: read below)

(1) testing is very easy, just run this from a clone

        t/g3-clean-install-setup-test

    BUT BE WARNED THIS IS DESTRUCTIVE; details in t/WARNING

(2) install is equally simple; see 'INSTALL' in the main directory
sugar 'option'; see below

    option foo = bar
      ->  config gitolite-options.foo = bar
(tests) added a module test for explode

plus a helper function to Test.pm (helps while developing tests)
example sugar script 'continuation-lines' added