add a contributing document

text is pulled out of the wiki.  This will enable github to show a link when
a contributor creates an issue or opens a Pull Request
list-memberships and perms changes:

  - list-memberships now requires a '-r' or '-u'; i.e., you have to
    explicitly state whether you are passing a reponame or a username

    see the new '-h' message for details.

  - Easy.pm now has a new 'in_role()' test that is, at present, only
    used by 'owns()', which uses that instead of checking that he is the
    creator.

    The role name used (I recommend "OWNER") must be set in the rc file
    like so

        OWNER_ROLENAME => 'OWNER',

    and if it is not set, defaults to 'CREATOR', which makes it behave
    as things currently do.

  - perms now uses this new 'owns()' function to authorise the user,
    instead of checking that she is the *creator*
new command 'owns' (thanks to Kevin Pulo)

(See 'owns2' in
https://groups.google.com/d/msg/gitolite/InJDugkXY0s/Lxa_gsd_WbUJ)
DEFAULT_ROLE_PERMS replaced by per repo 'default.roles' option
overwrite projects.list atomically

avoids any potential race conditions between triggers being run
concurrently, and probably avoids gitweb picking up a half-done file too
v3.5
(bugfix) (v3.5.1) fix permissions of projects.list file

update-gitweb-access-list had a change recently (289b19d) that had a
side-effect of making projects.list unreadable by other userids (like
'apache' or whatever).

This makes 3.5 unusable for anyone using gitweb.  (Hence the new tag,
too, though 3.5 is only the previous commit and this is a very small
change).
set-default-roles should not kick in always...

should only do its thing when called from someone creating a new wild
repo, and not just changing its perms.  (Because, don't forget, the
POST_CREATE trigger list is invoked from perms also).
'info' should show wild patterns hiding in groups also

(thanks to Sebastian Koslowski for catching this)
set-default-roles: fix bug and add test script
add simple migration instructions to README
partial-copy: remove unused refs

Remove all refs from partial-copy that not longer exists in main.
Also remove all refs from partial-copy that are not longer accessible, due to
changed rights.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
fork command should add hooks from LOCAL_CODE if defined
create command should think of default roles also...

Some code is duplicated from 'set-default-roles' trigger but it's the
cleanest way to fix the problem.
check file/dir existence before locking

check for existence of the object across all branches before creating
the lock.  Helps catch silent typos which may make people think they
locked the file but actually did not.

[code and commit message somewhat edited by committer]
help: include SITE_INFO in output
setup some ENV vars from gitolite.conf options...

makes things much easier in hooks and triggers
v3.5.2
smart http mode in git 1.8.2 and above...

...needs a specific header at a certain point

see 4656bf47fca857df51b5d6f4b7b052192b3b2317 in git.git for an
explanation.

People who use the old gitolite with newer gits will probably see error
messages that don't spell out the user, the repo, the operation, etc
clearly.

Of course, this only applies to the case where the "first check", where
the user has NO access to the repo and is being kicked out even before
control passes to git-*-pack.  Any errors after that should work fine
anyway, since they come direct from git-http-backend, not gitolite.
(minor) git version change necessitated some test changes