#pragma section-numbers off This page describes the ways in which we use git at HCoop. [[TableOfContents]] = git packages = We try to keep up-to-date on the latest git releases, so that you don't have to compile your own binaries for git. The packages are stored at {{{/afs/hcoop.net/common/debian/git/}}}. = System-wide git = We have set up a gitweb repository at [http://git.hcoop.net/]. We also have a git daemon, which can be used to quickly retrieve a project. People can host projects there simply by adding bare repositories under their {{{~/.hcoop-git/}}} directory. This directory can be a hierarchy if you want to categorize your projects. == Getting started == First, you will want to make a {{{~/.hcoop-git}}} directory. When you do, the gitweb interface and the git daemon will pick it up automatically. {{{ mkdir ~/.hcoop-git fsr setacl ~/.hcoop-git system:anyuser read }}} == Making projects available == It is recommended that you put "bare git repositories" under {{{~/.hcoop-git}}}. Bare git repositories are the {{{.git}}} directories within a git project. If you want to keep a (pre-existing) copy of the working directory elsewhere, then do the following. '''PROJECT''' is the name of your project. '''WORKDIR''' is the location of your working directory. {{{ ln -s WORKDIR/.git ~/.hcoop-git/PROJECT.git fsr setacl ~/.hcoop-git/PROJECT.git system:anyuser read }}} Alternatively, you can copy the {{{.git}}} directory from elsewhere and then run the {{{fsr setacl}}} command mentioned above. When you have directories of bare git projects being served by gitweb, it is the convention to name them in this fashion: that is, the name of the project, followed by ".git". '''Be sure to execute the fsr line, otherwise the web interface will be messed up!''' It will take up to 15 minutes for any new projects to show up on the web interface, because we cache the front page. To change the description displayed on the web interface for the project, edit the file {{{~/.hcoop-git/PROJECT.git/description}}}.