view hgext/hooklib/__init__.py @ 49151:1b6e381521c5 stable

doc: use an absolute path in sys.path to work around a python DLL loading bug This bug[1] was causing the zstd entry under "Available Compression Engines" to be omitted from the documentation for some versions of python3. I could upgrade, but past upgrades have broken venvs and clobbered installed packages. It's a trivial workaround, so there's no sense in leaving this subtle issue. It was flushed out by changing the module policy here from 'allow' to 'c', and seeing this error: ImportError: DLL load failed while importing parsers: The parameter is incorrect. [1] https://github.com/python/cpython/issues/87271 Differential Revision: https://phab.mercurial-scm.org/D12599
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 02 May 2022 22:04:59 -0400
parents 4cabeea6d214
children 6000f5b25c9b
line wrap: on
line source

"""collection of simple hooks for common tasks (EXPERIMENTAL)

This extension provides a number of simple hooks to handle issues
commonly found in repositories with many contributors:
- email notification when changesets move from draft to public phase
- email notification when changesets are obsoleted
- enforcement of draft phase for all incoming changesets
- enforcement of a no-branch-merge policy
- enforcement of a no-multiple-heads policy

The implementation of the hooks is subject to change, e.g. whether to
implement them as individual hooks or merge them into the notify
extension as option. The functionality itself is planned to be supported
long-term.
"""
from __future__ import absolute_import
from . import (
    changeset_obsoleted,
    changeset_published,
)

# configtable is only picked up from the "top-level" module of the extension,
# so expand it here to ensure all items are properly loaded
configtable = {}
configtable.update(changeset_published.configtable)
configtable.update(changeset_obsoleted.configtable)