welcome: please sign in

The following 164 words could not be found in the dictionary of 7 words (including 7 LocalSpellingWords) and are highlighted below:
above   account   adding   also   Alternatively   and   any   anyuser   are   at   automatically   available   bare   Bare   be   because   being   better   but   by   cache   can   categorize   Category   change   clone   command   Contents   convention   Coop   copy   correct   create   cron   daemon   describes   description   directories   directory   displayed   do   edit   elsewhere   enough   existing   fashion   file   followed   following   for   forget   from   front   fs   fsr   Getting   git   gitweb   have   hcoop   hierarchy   host   hosted   http   if   If   in   interface   into   is   it   It   job   Just   keep   ll   ln   location   Making   Manual   manually   may   Member   mentioned   method   minutes   mirror   mkdir   name   named   need   Needs   net   new   none   not   Note   Of   of   old   on   or   page   People   permissions   pick   pre   project   projects   pull   put   quickly   read   recommended   repositories   repository   retrieve   run   served   set   setacl   should   show   simply   so   started   stored   subdirectories   System   system   Table   take   that   The   the   their   them   then   there   This   this   to   To   under   up   use   used   viewer   want   ways   We   we   web   When   which   wide   will   within   Work   working   write   You   you   your  

Clear message

MemberManual / VersionControl / git

This page describes the ways in which we use git at HCoop.

System-wide git

We have set up a gitweb repository viewer 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 git repositories under their ~/.hcoop-git/ directory. This directory can be a hierarchy if you want to categorize your projects.

Getting started

You should have a directory named ~/.hcoop-git, but if your account is old enough you may have to create it manually:

mkdir ~/.hcoop-git
fsr setacl ~/.hcoop-git system:anyuser read

The gitweb interface and the git daemon will pick it up any repositories stored in the directory automatically.

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

Note that the above command is "fsr", not "fs"!

If you forget to run this command on any subdirectories in ~/.hcoop-git, none of your projects will show up in the gitweb interface!

A better method is to mirror the repository into ~/.hcoop-git. This should Just Work and pick up the correct permissions from the ~/.hcoop-git ACL. You can also use this method to mirror repositories hosted elsewhere (but you'll need to manually pull, or write a cron job to do so):

git clone --mirror $PATH-TO-YOUR-PROJECT $PROJECT-NAME.git

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".

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.

CategoryMemberManual CategoryNeedsWork

MemberManual/VersionControl/git (last edited 2014-04-30 06:42:47 by ClintonEbadi)