[Pidgin] UsingPidginMercurial modified

Pidgin trac at pidgin.im
Tue Jun 12 01:58:55 EDT 2012

Changed page "UsingPidginMercurial" by datallah from*
Page URL: <http://developer.pidgin.im/wiki/UsingPidginMercurial>
Diff URL: <http://developer.pidgin.im/wiki/UsingPidginMercurial?action=diff&version=5>
Revision 5
Comment: Add information about hooks, extensions

Index: UsingPidginMercurial
--- UsingPidginMercurial (version: 4)
+++ UsingPidginMercurial (version: 5)
@@ -91,3 +91,23 @@
 As indicated above, people who have "root" access to mercurial-server have the ability to configure the server via the `hgadmin` repo.  They also have the ability to bypass all ACL's, and thus can write to any repository, including developers', CPWs', and SoC students' repositories.
 Additionally, 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.
+== Hooks / Extensions ==
+There are a number of hooks, extensions and other configuration in place for the various repositories:
+=== Hooks ===
+ * [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
+  * This is registered globally as `'changelog.pushlog'` for both the `hg` user and mercurial-server
+ * [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 at domain.tld'` or `'User Name <user at domain.tld>'`
+  * This is registered globally as `'pretxnchangegroup.authorcheck'` for both the `hg` user and mercurial-server
+ * [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
+  * This is registered globally as `'changegroup.notify_sync'` for both the `hg` user and mercurial-server
+ * [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
+  * This is registered in the `/srv/mercurial-server/notification-repo/` (which isn't served anywhere)
+  * Note: an initial manual pull may be necessary for new repos
+ * [http://mercurial.selenic.com/wiki/HgciaExtension hgcia] CIA bot notification
+  * This is registered in the `/srv/mercurial-server/notification-repo/` (which isn't served anywhere)
+=== hgweb stuff ===
+ * [http://hg.pidgin.im/util/mozilla-pushlog/ pushlog extension] extension to expose pushlog information gathered by the hook to hgweb
+ * [http://hg.pidgin.im/util/hg_templates/ hgweb templates] slightly tweaked vanilla templates to add pushlog


* The IP shown here might not mean anything if the user or the server is
behind a proxy.

Pidgin <http://pidgin.im>

This is an automated message. Someone at http://pidgin.im added your email
address to be notified of changes on UsingPidginMercurial. If it was not you, please
report to .

More information about the Wikiedit mailing list