Index: sitescripts/hg/README.md |
=================================================================== |
--- a/sitescripts/hg/README.md |
+++ b/sitescripts/hg/README.md |
@@ -1,88 +1,44 @@ |
# Mercurial hooks |
`sitescripts/hg` contains Mercurial hooks for integration with other components |
of our infrastructure. |
## IRC integration |
`irchook.py` contains a commit hook that posts the information about new pushed |
-commits to an IRC channel. |
+commits to an IRC channel. |
## Trac integration |
-`update_issues.py` contains two hooks: `changegroup_hook` and `pushkey_hook`. |
-They will recognise issue references in commit messages and update referenced |
-issues in the Adblock Plus issue tracker. |
+`update_issues.py` contains a commit hook that recognises issue references in |
+commit messages and updates referenced issues in the Adblock Plus issue |
+tracker. |
-The format of the commit messages is "ISSUE-REFERENCE - MESSAGE" |
-where ISSUE-REFERENCE is one of "Noissue", "Issue NUMBER" or "Fixes NUMBER". |
-Several "Issue" and "Fixes" references separated by commas can be present |
-in the same commit message (for example: "Issue 1, Fixes 2 - Two issues"). |
-Such commit will affect all the referenced issues. |
- |
-* `changegroup_hook` will post a comment with the link to the commit into the |
- issue if the issue is referenced from the commit message. |
-* `pushkey_hook` will close the issues and assign milestones to them (based |
- on their module) when the `master` bookmark passes over the commits that fix |
- them. It will not assign a milestone if the issue already has one. |
+The format of the commit messages is "ISSUE-REFERENCE - MESSAGE" where |
+ISSUE-REFERENCE is one of "Noissue" or "Issue NUMBER". Several "Issue" |
+references separated by commas can be present in the same commit message (for |
+example: "Issue 1, Issue 2 - Two issues"). The hook will post a comment with |
+the link to the commit into all referenced issues. |
### Configuring the repository |
-`changegroup_hook` should be installed as `changegroup` or |
-`pretxnchangegroup` hook. `pushkey_hook` should be installed as |
-`pushkey` or `prepushkey` hook. For example (in `.hg/hgrc`): |
+The hook should be installed as `changegroup` or `pretxnchangegroup` hook. |
[hooks] |
- pretxnchangegroup = python:.../update_issues.py:changegroup_hook |
- pushkey = python:.../update_issues.py:pushkey_hook |
+ pretxnchangegroup = python:.../update_issues.py:hook |
### Configuring the hooks |
-The hooks are configured via `sitescripts.ini` in `hg` and |
-`hg_module_milestones` sections. For example: |
+The hooks are configured via `sitescripts.ini` in `hg` section. For example: |
[hg] |
trac_xmlrpc_url=https://abpbot:abpbot@issues.adblockplus.org/login/xmlrpc |
issue_url_template=https://issues.adblockplus.org/ticket/{id} |
- [hg_module_milestones] |
- platform=adblock-plus(-[\d\.]+)?-for-chrome-opera-safari(-next)? |
- Adblock-Plus-for-Firefox=adblock-plus(-[\d\.]+)?-for-firefox(-next)? |
- |
`hg.track_xmlrpc_url` key from is used to determine the address of XMLRPC |
interface of Trac and `hg.issue_url_template` as a template for producing links |
to the referenced issues that are displayed in the log. |
-The keys of the `hg_module_milestones` section are module names and the values |
-are corresponding milestone regular expressions (they are matched |
-case-insensitively). The first open milestone that matches the regular |
-expression of the issue's module will be assigned to the issue when the |
-`master` bookmark passes a commit that fixes it. |
- |
-### Master bookmark |
- |
-What exactly does it mean when we say _`master` bookmark is passing a commit_? |
-The idea is that if the `master` bookmark _passed_ a commit we will have |
-those changes in our working copy when we do `hg checkout master`. |
- |
-Let's first look at a simple case, linear commit history like this: |
- |
- one <- two <- three |
+### Python dependencies of the hook |
-Here `one` is a parent commit of `two` and `two` is a parent of `three`. If |
-the `master` bookmark was on `one` and then moved to `three`, we say that it |
-passed `two` and `three`. This would happen naturally if we clone the |
-repository that contains `one` with the `master` bookmark pointing to it, |
-check out `master`, author two commits and then push them. |
- |
-A somewhat similar thing happens when we have branches: |
- |
- one <---- two <---- three |
- \ / |
- \-- dos <--/ |
- |
-Here `one` is a parent commit of `two` and `dos` and they are both parents |
-of `three`. If the `master` bookmark was on `two` and now is on `three`, |
-we say that it passed `three` and `dos`. What happened here is that by `three` |
-we've merged a branch containing `dos` into the master branch that was going |
-through `one` and `two`. |
+The hook requires `Jinja2` to be importable by the Python that runs `hg`. |
mathias
2019/05/14 09:32:01
The "to be importable by the Python that runs `hg`
Vasily Kuznetsov
2019/05/14 10:28:59
Done.
|