gitolite/doc/report-output.mkd
Sitaram Chamarty d6704d052a doc cleanup on info and expand command
jefferai pointed out that some of the links about this were broken, and
a quick look showed that it was described in multiple places too.
Brought it all together...
2010-08-21 17:02:12 +05:30

3.4 KiB

output of the "info" and "expand" commands

Running "ssh git@server info" or "ssh git@server expand" gives you certain output. This doclet describes the output; you're welcome to help me make it clearer :)

(Side note: if you installed using the "from-client" method, and you're the administrator, please replace ssh git@server with ssh gitolite, all through this document).


the "info" command

Usage:

ssh git@server info [optional_pattern [list of users]]

The "info" command shows you all the repos (and repo patterns) in the config file that you have been given any kind of access to. If you supply an optional pattern the output will be limited to repos matching that pattern. If you're an admin you can append a list of users to see their permissions instead of your own; in this mode the pattern is mandatory, even if you just use . to cheat.

Here is a sample output of the info command. There are 3 columns of permissions (create, read, and write) in the output, although the first column is often blank.

$ ssh git@server info
hello sitaram, the gitolite version here is v1.5.4-19-ga3397d4
the gitolite config gives you the following access:
    #R  W       SecureBrowse
    #R  W       anu-wsd
    #R  W       entrans
    @R  W       git-notes
    @R  W       gitolite
    #R  W       gitolite-admin
    #R  W       indic_web_input
 @C #R          private/CREATOR/[\w.-]+
    #R  W       proxy
 @C @R  W       public/CREATOR/[\w.-]+
    @R @W       testing
    #R  W       vkc

The meaning of C, R, and W are self-explanatory, but they might sometimes be prefixed by a symbol. For example, @R means that @all users have been given this access, and #R means that this user is a "superuser" (think root's shell prompt) and so has access to @all repos.

Here are a couple of samples with optional patterns:

$ ssh git@server info git
hello sitaram, the gitolite version here is v1.5.4-19-ga3397d4
the gitolite config gives you the following access:
    @R  W       git-notes
    @R  W       gitolite
    #R  W       gitolite-admin

$ ssh git@server info admin
hello sitaram, the gitolite version here is v1.5.4-19-ga3397d4
the gitolite config gives you the following access:
    #R  W       gitolite-admin

In "big-config" mode (i.e., when GL_BIG_CONFIG is set) the pattern is mandatory. You can try and cheat the system by passing in a "." but gitolite truncates the output after 20 results to prevent a DOS.

The pattern is also mandatory when an admin wants to find out what access some other user has, which you may have guessed from the syntax in the "usage" line above.

the "expand" command

Usage:

ssh git@server expand [optional_pattern]

The "expand" command trawls through all the repositories on the server, limiting to repos matching the pattern you provide (default is all repos found).

For each repo found, it searches for it in the config -- either the actual repo entry (when the repo is not a wildcard repo), or an entry for the wildcard that matches it -- and reports permissions. It also takes into account extra permissions enabled by the setperms command (see doc/4-wildcard-repositories.mkd). It shows you the "creator" of the repo as an additional column, defaulting to <gitolite> if it was not a wildcard repo.