Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 2.37 KB

external.mkd

File metadata and controls

71 lines (48 loc) · 2.37 KB

interfacing with external tools


Note: The old gitolite (v1.x, v2.x) used to tie itself into knots dealing with gitweb and daemon. One of the goals of g3 was to get out of that game, which your author does not play anyway. This means statements like "...special user called 'gitweb'..." really apply to the [non-core][] programs that gitolite ships with, not to "core" gitolite, and any or all of this functionality can be disabled by commenting out certain lines in the [rc][] file.


Also, note that gitolite does not install or configure gitweb/git-daemon -- that is a one-time setup you must do separately.


gitweb

The following repos are deemed to be readable by gitweb:

  • any repos readable by the special user gitweb

  • any repos containing one or more of the following types of lines:

    config gitweb.owner         =   owner name
    config gitweb.description   =   some description
    config gitweb.category      =   some category
    

    Side note: the following shorter forms are available as [syntactic sugar][sugar] for the above longer forms:

    owner       =   owner name
    desc        =   some description
    category    =   some category
    

The list of gitweb-readable repos is written to a file whose name is given by the [rc][] file variable GITWEB_PROJECTS_LIST. The default value of this variable, if it is not specified or empty, is $HOME/projects.list.

In addition, each of the config variables described above is written to the repo to which it pertains, so that gitweb can use them.

#umask changing the UMASK

Gitweb typically runs under a different userid, and the default permissions that gitolite sets make them unreadable.

See the section on the UMASK variable in the documentation for the [rc file][rc].

git-daemon

Any repo readable by the special user daemon is deemed to be readable by git-daemon. For each of these repos, an empty file called git-daemon-export-ok is created in the repository (i.e., the repo.git directory inside $HOME/repositories).

tips

Setting descriptions en-masse usually does not make sense, but you can certainly do things like

repo @all
    R       =   gitweb daemon

assuming you have other means of setting 'gitweb.description' and 'gitweb.owner'.

Also see [this][deny-rules] for a twist on that.