Commits on Jun 27, 2012
  1. v3.04

    committed Jun 27, 2012
Commits on Jun 26, 2012
  1. doc split :(

      * I needed to have the documentation under CC-BY-NC-SA (something
        happened to force me to choose)
      * Distros don't like the NC part.  They'd rather drop the
        documentation entirely instead
      * I don't like that; it bothers me that even a clueful guy won't be
        able to do a basic install with what comes in the package.
      * Meanwhile, I have always had the occasional "TL;DR" complaint about
        my docs
    Taking all this into account, it seemed like the best way was:
      * Create a brand new README.txt that is crisp enough for someone to
        glance through and quickly get started.  At more then 300 lines, it
        covers enough ground that probably 60% of sites don't need more.
        Put this under the CC-BY-SA license, which is on the "good" list for
        Fedora (and also Debian, I am told).
      * Move the current documents to a new "gitolite-doc" repo that distros
        can simply ignore, but anyone who has trouble can go to.
        Make sure the online pages have the same content at the same URLs as
        they do now, getting it instead from this new repo.
        Link to the main URL in the new README.txt
    committed Jun 25, 2012
Commits on Jun 25, 2012
  1. accumulated docfixes...

      - non-core documentation reduced to be easier to maintain
      - much reduced progit section submitted to scott chacon, necessitating
        some changes to this copy
      - other minor stuff
      - the "idiot-proof setup" :)
    (plus get rid of that silly ""; it's not needed any more, if it
    ever was!)
    committed Jun 21, 2012
Commits on Jun 23, 2012
Commits on Jun 22, 2012
  1. Fixed url decoding in http gitolite command bypass.

    Only '+' sign was unescaped in `http_simulate_ssh_connection()`.
    When user translates `ssh git@host perms <repo> + <role> <user>` to
    `curl https://host/git/perms?<repo>+%2b+<role>+<user>` nothing happens.
    This commit fixes it modifying url unescaping.
    committer notes: changed the regex per 'man URI::Escape'
    grossws committed with Jun 20, 2012
Commits on Jun 21, 2012
  1. (duh!) report rc file syntax errors

    the "duh!" is because I should have done this long ago...
    committed Jun 21, 2012
  2. repo-specific umask

    manually smoke tested but should be fine
    committed Jun 20, 2012
Commits on Jun 20, 2012
Commits on Jun 19, 2012
  1. (accumulated docfixes)

    committed Jun 13, 2012
Commits on Jun 17, 2012
Commits on Jun 16, 2012
Commits on Jun 14, 2012
  1. PRE_ and POST_CREATE triggers get an extra argument...

    ...when invoked by single-repo operations like auto-creating a wild
    repo, or running perms or fork.
    committed Jun 14, 2012
  2. GL_BINDIR2 becomes LOCAL_CODE, allows hook propagation also...

    plus a bunch of doc changes
    committed Jun 13, 2012
Commits on Jun 9, 2012
  1. Allow user-specified programs to override system-installed ones

    (manually tested)
      - new rc var: GL_BINDIR2; see doc update in this commit
      - added _which() function to search both $GL_BINDIR and $GL_BINDIR2
      - 'gitolite <command>', non-perl triggers, VREFs, and sugar, use this
      - unshifted $GL_BINDIR2/lib into @INC upfront in
      - perl triggers use this
    committed Jun 9, 2012
Commits on Jun 8, 2012
  1. (test suite) changes in test suite due to upgrading to F17

      - git version bumps up, causes minor change in t/merge-check.t
      - for some strange reason apache cannot see /tmp/gitolite-http-authuserfile
        (I thought private /tmp was only if you enabled selinux...)
    committed Jun 8, 2012
Commits on Jun 7, 2012
Commits on Jun 6, 2012
  1. fix D perm reference

    milki committed Jun 6, 2012
  2. 'upstream' trigger can now be used as a server command also

    i.e., a client fetch will invoke the push, (subject to 'nice' setting),
    but you can also force a fetch regardless of last fetch time by running
    this command directly on the server:
        gitolite ../triggers/upstream fetch <reponame>
    Also, use FETCH_HEAD instead of own sentinel file (idea courtesy Luke Lu)
    committed Jun 6, 2012
Commits on Jun 5, 2012
  1. 'upstream' -- script to maintain local copies of external repos

    instructions and notes in the source
    committed Jun 5, 2012
Commits on Jun 3, 2012
  1. new 'sudo' command

    committed Jun 3, 2012
  2. minor backward incompat breakage in 'gitolite query-rc'

    'gitolite query-rc' now only queries one variable at a time.  That is,
    you cannot do something like this:
        gitolite query-rc UMASK GL_ADMIN_BASE
    to query both variables.  I think this is rarely used, plus it is easy
    to work-around (just run two separate commands), so it was sacrificed
    for the ability to do this:
        gitolite query-rc -q COMMANDS fork
    which tells you whether $rc{COMMANDS}{fork} exists or not.
    committed Jun 2, 2012
  3. Grant shell access to all keys for shell users

    If a user has multiple keys, ssh-authkeys-shell-users will only add the
    "-s" flag to the first key it finds.  Change the substitution to apply
    to all matching lines and hence grant shell access to all of the user's
    Signed-off-by: John Keeping <>
    johnkeeping committed with Jun 2, 2012
  4. fixup to pushing wild repos permissions...

      - fix docs to explicitly state that mirroring wild repos is a bad idea
        if the authentication data is not the same on the peers.
      - an important check against a malicious peer was missed out.  If
        people heed the warning above this check is not really needed but it
        is good for completeness.
      - warning about redirected pushes removed, thanks to Ronald Ip having
        tested it and reported it working.
    committed Jun 3, 2012
Commits on Jun 1, 2012
  1. (experimental code) push wild repos across a master slave connection

    It creates the repo on the remote side (getting the creator name from
    the gl-creator file and sending it across), as well as sending gl-perms
    on subsequent connections.
    This has only been minimally tested.  E.g., complex setups or asymmetric
    configs on master and slave, etc. have NOT been tested.
    This has also not been tested with redirected pushes.
    committed Jun 1, 2012
  2. allow getting config settings for non-existant repos also

    It's reasonable to want to see config items (for example, mirror
    settings) that *would* apply if the repo existed.
    committed May 31, 2012
Commits on May 30, 2012
Commits on May 29, 2012
  1. fix minor bug in handling 'desc = "some description"'

        repo foo
            desc = "foo"
            RW  =   u1
    The order of the clauses was parsing this like the old 'reponame = "some
    description"' and end up creating a repo called 'desc'!
    It would also, as a side-effect, change the repo so what you thought
    were access rules for 'foo' would become access rules for 'desc'.
    committed May 29, 2012
Commits on May 27, 2012
  1. lock binary files... (manually tested)

    Remember that true locking is not possible in a DVCS; see
    doc/locking.mkd for details and limitations of what is offered here.
    committed May 27, 2012