Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 4 and Version 5 of UsingPidginMercurial


Ignore:
Timestamp:
Jun 12, 2012, 5:58:53 AM (12 years ago)
Author:
datallah
Comment:

Add information about hooks, extensions

Legend:

Unmodified
Added
Removed
Modified
  • UsingPidginMercurial

    v4 v5  
    9292
    9393Additionally, there is a safety net built into the mercurial-server configuration.  In `/etc/mercurial-server` on rock.pidgin.im is a default ACL (`access.conf`) and a `keys` directory structure.  This default ACL is what grants "root" users their privileges, and the `keys` directory structure contains two keys in the `keys/root` directory.  These two keys belong to rekkanoryo and lschiere.  These keys are located here in the server's filesystem instead of in the hgadmin repository as a safety net.  When building the files used by mercurial-server, the tools ''always'' read from `/etc/mercurial-server` ''before'' reading from `hgadmin`; this allows rekkanoryo and lschiere to always be able to access the hgadmin repo in the event that it is damaged either through accidental or intentional means.  This safety net means that at least two people will ''always'' have access to our repositories.
     94
     95== Hooks / Extensions ==
     96There are a number of hooks, extensions and other configuration in place for the various repositories:
     97
     98=== Hooks ===
     99 * [http://hg.pidgin.im/util/hg_hooks/file/tip/pushlog.py pushlog.py] tweaked version of a mozilla hook to keep track of who pushed a particular revision
     100  * This is registered globally as `'changelog.pushlog'` for both the `hg` user and mercurial-server
     101 * [http://hg.pidgin.im/util/hg_hooks/file/tip/author_email_hook.py author_email_hook.py] verify that incoming commit authors are in the form of an email address - `'user@domain.tld'` or `'User Name <user@domain.tld>'`
     102  * This is registered globally as `'pretxnchangegroup.authorcheck'` for both the `hg` user and mercurial-server
     103 * [http://hg.pidgin.im/util/hg_hooks/file/tip/notify_repo_sync.sh notify_repo_sync.sh] trigger a sync in the background with the notification repo to trigger email and cia notifications
     104  * This is registered globally as `'changegroup.notify_sync'` for both the `hg` user and mercurial-server
     105 * [http://hg.pidgin.im/util/hg_hooks/file/tip/notify.py notify.py] slightly tweaked version of the built-in hg hook to facilitate using a separate repo for driving the notifications
     106  * This is registered in the `/srv/mercurial-server/notification-repo/` (which isn't served anywhere)
     107  * Note: an initial manual pull may be necessary for new repos
     108 * [http://mercurial.selenic.com/wiki/HgciaExtension hgcia] CIA bot notification
     109  * This is registered in the `/srv/mercurial-server/notification-repo/` (which isn't served anywhere)
     110
     111=== hgweb stuff ===
     112 * [http://hg.pidgin.im/util/mozilla-pushlog/ pushlog extension] extension to expose pushlog information gathered by the hook to hgweb
     113 * [http://hg.pidgin.im/util/hg_templates/ hgweb templates] slightly tweaked vanilla templates to add pushlog
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!