Changes between Initial Version and Version 1 of GitRepositoryDetails


Ignore:
Timestamp:
09/05/13 11:58:56 (8 years ago)
Author:
jdreed
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GitRepositoryDetails

    v1 v1  
     1= Technical Information about the Git Repository = 
     2 
     3== Hosting == 
     4 
     5The canonical repository is on `drugstore.mit.edu` (a/k/a `git.mit.edu`), accessibly via git+ssh://.  Each package has its own repository in the path /git/athena. 
     6 
     7Members of athena-commiters [sic] have smrsh shells which allow access to both git and svn. 
     8 
     9=== Other Accounts === 
     10 
     11* `athenasnap`: Used by debathena-root for things requiring shell access, such as fixing hooks, etc. 
     12* `debuildsvn`: Used by the build server to "svn up" checkouts and things like that.  Consider switching to `builder`. 
     13 
     14== Hooks == 
     15 
     16Currently, each repository has its `hooks` directory renamed to `hooks.orig` and a `hooks` symlink pointing at `/git/athena/krbdev-services/githooks`.  This is a fork of the krbdev-services repository from the krb5 team, as we stole most of their hooks, and workflow. 
     17 
     18=== Hooks directory === 
     19 
     20The contents of the directory, and what they are for: 
     21 
     22* `authors`: Maps usernames to real people.  Used by `update` hook. 
     23* `hookutils.py`: Used by various hooks 
     24* `krb5-rt-id`: Currently unused. 
     25* `post-receive`: The master post-receive hook.  It runs the notify, push, and rt hooks in turn. 
     26* `post-receive-notify`: Sends mail upon a new commit.  (And possibly zephyrs?) 
     27* `post-receive-push`: Pushes to a mirror (in this case, github) 
     28* `post-receive-rt`: Does operations in RT as appropriate (currently unused) 
     29* `ssh-as-krbsnap`: Unused. 
     30* `update`: The master update hook.  Prevents fast-forwards, enforces style guidelines, etc. 
     31 
     32=== Hook configuration === 
     33 
     34Much of the hooks are configured by git configuration in the repository.  Values we care about: 
     35 
     36* `receive.denynonfastforwards=true` 
     37* `hooks.push-to=github` 
     38* `hooks.mailinglist=source-commits@mit.edu` 
     39* `hooks.verbose=true` 
     40* `hooks.reponame=` (repository name) 
     41* `hooks.commit-url-prefix=https://github.com/mit-athena/`(repository name)`/commit/` 
     42** TODO: Why doesn't this use hooks.reponame? 
     43 
     44 
     45 
     46