Commits on May 20, 2012
  1. v3.02

    committed May 20, 2012
Commits on May 19, 2012
  1. allow aliasing a repo to another name

    all documentation is inside
    committed May 9, 2012
Commits on May 16, 2012
  1. simulate POST_CREATE for newly created "normal" repos

    See "background" in new program src/triggers/new-normal-repos
    committed May 14, 2012
  2. (collected docfixes)

    committed Apr 26, 2012
Commits on May 10, 2012
  1. just for kicks, a VREF that allows voting on changes to a branch

    (manually smoke tested; no test script)
    I've been meaning to do this for a while, since someone told me that is
    one of gerrit's features they like.
    Of course, gitolite can't/won't do the whole "code review" thing (nor
    the workflow enforcement that follows).
    But voting is simple -- literally 2-3 lines of code in a VREF.  (The
    rest is inline documentation).
    committed May 10, 2012
Commits on May 7, 2012
  1. the dupkeys function was already in ssh-authkeys... there's no need for the VREF.
    Ironically, while I was arguing with Eli that I wouldn't do it and why,
    the code was *already* there, and had been for over a month!  (It must
    have been there for much longer for me to have forgotten!)
    TODO: convert from using fingerprint compute to actual key strings when
    the complaints about speed start appearing.
    My own personal speed up loop [1] I guess :)
    committed May 6, 2012
Commits on May 6, 2012
  1. (minor fixup to t/info.t)

    committed May 6, 2012
  2. move repo/user validity check deeper

    (but change repo check to allow repoPATT instead of just repoNAME)
    This is because there are/will be some situations where access() is
    called without those two checks being done (i.e., it is not only from
    src/commands/access that it is called).
    committed May 6, 2012
Commits on May 5, 2012
  1. bugfix: smart http mode wasn't running pre_ and post_ git triggers

    (while we're about it, we also steal Michael Brown's idea (patch #2 in
    [1] and get rid of GIT_HTTP_BACKEND).
    committed May 5, 2012
Commits on May 4, 2012
  1. git-config bugfix + backward compat breakage in usage of 'config'

    (1) the backward compat breakage: you can't create empty-valued config
        keys anymore.  That is, you can't do the eqvt of the following shell
        command using gitolite
            git config ""
    (2) fixed a bug where this:
            repo foo
                config =
        when queried using
            gitolite git-config -r foo .
        would return even the empty valued ones, which -- remember! -- are
        not supposed to exist anymore.
        Fixing this bug allows situations like this to not show the admin
        repo in gitweb:
            repo [a-z].*
                config gitweb.owner = P-h B
            repo gitolite-admin
                config gitweb.owner =
    Somewhere in g3 (well actually in 057506b), we lost the ability to
        config  =   ""
        config =
    I decided that conflating them is more intuitive for most people,
    because a survey [1] revealed that no one seemed to want the equivalent
    of the following shell command:
    [1] ...of a (small prime greater than 1) number of people on #git
    committed May 4, 2012
Commits on May 3, 2012
  1. migrated htpasswd command from g2.

    (with some fixups by committer)
    kaos committed with May 2, 2012
Commits on May 1, 2012
  1. minor fix to info command output under httpd...

    when running under httpd, $ENV{USER} is not set, so we use a (hopefully
    informative) default to print.
    Thanks to Thomas Hager (duke at sigsegv dot at) for catching this.
    committed May 1, 2012
  2. (minor typo fix)

    committed May 1, 2012
Commits on Apr 30, 2012
  1. allow VREF code to print to STDOUT...

    Using a g2-style "chained update hook" as a VREF doesn't *quite* work:
      - all STDOUT from the hook is lost
      - worse, all lines get parsed as a ref followed by a message, and if
        the ref doesn't look like a ref it dies
    So now we do all this only if the message starts with 'VREF/'.  Any
    other output is just printed out as is.
    committed Apr 30, 2012
Commits on Apr 29, 2012
  1. v3.01

    committed Apr 29, 2012
Commits on Apr 28, 2012
  1. Added instructions to make repositories available via http and ssh

    This patch adds instructions for configuring Gitolite and Apache 2.x
    to make repositories available to both ssh and http clients.
    [minor fixups by committer]
    Thomas Hager committed with Apr 20, 2012
  2. BSD compat changes

    thanks to milki for all the efforts!
      - partial-copy fell afoul of BSD not having $RANDOM
      - test suite: fix bad GNU sort with good perl sort
      - test suite: fix md5sum dependency (which BSD doesn't have or can't
        easily have or requires extra options or whatever...), by doing it
        in perl.  (Requires Digest::MD5, which is probably available
        anyway, but since this is only for the test suite, meh!)
    committed Apr 28, 2012
  3. solaris doesn't like 'hostname -s'...

    (luckily, unlike linux, it doesn't spew a usage message to STDOUT!)
    committed Apr 28, 2012
Commits on Apr 27, 2012
  1. fix test suite's dependency on time zone

    I had not remembered that the 'tc' subcommand in tsh adds *text* that
    contains the current time, so commit SHAs were changing.
    Thanks to milki for catching this, and in fact being the only person who
    ever appears to have attempted to run the test suite at all!
    committed Apr 27, 2012
Commits on Apr 26, 2012
  1. add COPYING file

    thanks to Jon Ciesla for catching this omission...
    committed Apr 26, 2012
Commits on Apr 24, 2012
  1. (some docfixes)

    committed Apr 22, 2012
Commits on Apr 23, 2012
Commits on Apr 22, 2012
  1. POST_CREATE efficiency... (please read below if you care)

    The POST_CREATE trigger is called when
      * a user creates a new "wild" repo,
      * a user uses the "perms" command, and
      * a user uses the "fork" command.
    The trigger calls 3 programs (see rc file):
    (They are also called by the POST_COMPILE trigger, by the way.)
    However, the 3 programs shown are a bit wasteful -- they run through
    *all* the repos when really only *one* repo has been affected.
    This patch
      * passes the repo name to the 3 programs (duh!)
      * adds the optimisation to the first of the 3 programs listed above
        (the one dealing with 'git config').
    For the other two programs (gitweb and git-daemon), you have 3 choices:
      * if you don't have too many repos, ignore the problem.
      * take out the 2nd and 3rd lines from the POST_CREATE list in the rc
        file, so they don't run.
        Then run 'gitolite trigger POST_COMPILE' from cron at regular
        intervals.  (Note that is POST_COMPILE not POST_CREATE!)  However,
        this means that gitweb and daemon permissions won't be current
        immediately after someone adds a new repo or sets perms etc.; they
        get updated only on the next cron run.
      * patch the programs to add this optimisation (and send me the
        patches).  The optimisation would check if arg-1 ($1 in shell,
        $ARGV[0] in perl) is 'POST_CREATE', and if it is, take the *next*
        argument as a repo name that may have changed.
    committed Apr 22, 2012
  2. install should fail more gracefully if the '-ln' directory does not e…

    thanks to EugeneKay for catching this
    committed Apr 22, 2012
  3. fork command, and some core changes to make it work...

      - access command allows checking ^C
      - ^C check will fail when the repo exists
    committed Apr 22, 2012
Commits on Apr 21, 2012
  1. (some docfixes)

    committed Apr 19, 2012