Luon's Git Setup
Our Git setup is completely based on Gitolite.
Cloning/pulling access is granted anonymously/non-authenticated through the HTTP and Git protocol (see below).
When authenticated, pushing is additionally allowed for the repositories the user has access to; the user is also allowed to execute some commands to manipulate his/her accounts/repositories. Authenticated access means that your SSH public RSA key is known to Gitolite. If you want to request an account, or add a key, mail the Git admin your public RSA key.
Global note: except for in HTTP-access URIs the suffix .git
can be left out!
Repository access
Not-authenticated/anonymous:
Cloning from:
git://git.luon.net/path/to/project.git
or:
http://git.luon.net/path/to/project.git
This provides read-only access, no pushing or anything is allowed.
Web view available via Gitweb: this will only shows the public repositories and the repositories of all users.
Authenticated
Cloning from and pushing to:
ssh://gitolite@git.luon.net/path/to/project.git
Note that you can only push to existing repositories on the root, but are free to push to users/user/path/to/project which will be created if non-existent. A short version of the URI is:
git.luon.net:path/to/project.git
when the following is added to ~/.ssh/
Host git.luon.net
User gitolite
Note also the colon (:) instead of the slash (/) after git.luon.net in the short URI.
Web access is provided via Gitweb again, but authenticated and via HTTPS. All repositories for which you have read permissions for are shown. Note that authentication for Gitweb means logging in using the user name and configured web password (see commands below).
Repository administration
Normal repository administration, such as creating, renaming, fixing or deleting needs to be done by the Git admin.
Users can push to/clone from their own repositories via
ssh://gitolite@git.luon.net/users/user/path/to/project.git
to create a personal repository. This repository will be public, i.e. readable by everyone. Private user repositories are (not) yet supported. Also due to running a slightly old version of Gitolite, we lack support for commands to remove a user repository.
Shell commands
When using (this implies passwordless login using your RSA key)
ssh gitolite@git.luon.net command
the following commands can be executed:
- info [user]
- displays your (or optionally another user's) access to the repositories
- expand [user]
- displays your (or optionally another user's) expanded (i.e. tries to match against
- regexps) access to the repositories
- htpasswd
- raises a prompt to set the password used for Gitweb
- getdesc path/to/project.git
- displays the description of the project, used for example in the Gitweb interface
- setdesc path/to/project.git
- sets the description of the project via
stdin
The following commands are supported by Gitolite, but not (yet) by our repositories:
- getperm path/to/project.git
- displays the (sub)permissions of the project you have granted
- setperm path/to/project.git
- sets the (sub)permissions of the project