Mercurial > hg
annotate hgext/hooklib/changeset_published.py @ 52152:de4b9ea2fa34 default tip
branching: merge stable into default
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 29 Oct 2024 09:38:48 +0100 |
parents | f4733654f144 |
children |
rev | line source |
---|---|
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
1 # Copyright 2020 Joerg Sonnenberger <joerg@bec.de> |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
2 # |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
3 # This software may be used and distributed according to the terms of the |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
4 # GNU General Public License version 2 or any later version. |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
5 """changeset_published is a hook to send a mail when an |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
6 existing draft changeset is moved to the public phase. |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
7 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
8 Correct message threading requires the same messageidseed to be used for both |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
9 the original notification and the new mail. |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
10 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
11 Usage: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
12 [notify] |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
13 messageidseed = myseed |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
14 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
15 [hooks] |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
16 txnclose-phase.changeset_published = \ |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
17 python:hgext.hooklib.changeset_published.hook |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
18 """ |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
19 |
51863
f4733654f144
typing: add `from __future__ import annotations` to most files
Matt Harbison <matt_harbison@yahoo.com>
parents:
49865
diff
changeset
|
20 from __future__ import annotations |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
21 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
22 import email.errors as emailerrors |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
23 import email.utils as emailutils |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
24 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
25 from mercurial.i18n import _ |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
26 from mercurial import ( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
27 encoding, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
28 error, |
45268
3c2fae87bd5a
templatespec: use new factory functions in hooklib
Martin von Zweigbergk <martinvonz@google.com>
parents:
44413
diff
changeset
|
29 formatter, |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
30 logcmdutil, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
31 mail, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
32 pycompat, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
33 registrar, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
34 ) |
49865
5392bf258049
hooklib: force an exception wrapped by errors.Abort to bytestr
Matt Harbison <matt_harbison@yahoo.com>
parents:
49288
diff
changeset
|
35 from mercurial.utils import ( |
5392bf258049
hooklib: force an exception wrapped by errors.Abort to bytestr
Matt Harbison <matt_harbison@yahoo.com>
parents:
49288
diff
changeset
|
36 dateutil, |
5392bf258049
hooklib: force an exception wrapped by errors.Abort to bytestr
Matt Harbison <matt_harbison@yahoo.com>
parents:
49288
diff
changeset
|
37 stringutil, |
5392bf258049
hooklib: force an exception wrapped by errors.Abort to bytestr
Matt Harbison <matt_harbison@yahoo.com>
parents:
49288
diff
changeset
|
38 ) |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
39 from .. import notify |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
40 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
41 configtable = {} |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
42 configitem = registrar.configitem(configtable) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
43 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
44 configitem( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
45 b'notify_published', |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
46 b'domain', |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
47 default=None, |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
48 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
49 configitem( |
45942
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
50 b'notify_published', |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
51 b'messageidseed', |
89a2afe31e82
formating: upgrade to black 20.8b1
Augie Fackler <raf@durin42.com>
parents:
45268
diff
changeset
|
52 default=None, |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
53 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
54 configitem( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
55 b'notify_published', |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
56 b'template', |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
57 default=b'''Subject: changeset published |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
58 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
59 This changeset has been published. |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
60 ''', |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
61 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
62 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
63 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
64 def _report_commit(ui, repo, ctx): |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
65 domain = ui.config(b'notify_published', b'domain') or ui.config( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
66 b'notify', b'domain' |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
67 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
68 messageidseed = ui.config( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
69 b'notify_published', b'messageidseed' |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
70 ) or ui.config(b'notify', b'messageidseed') |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
71 template = ui.config(b'notify_published', b'template') |
45268
3c2fae87bd5a
templatespec: use new factory functions in hooklib
Martin von Zweigbergk <martinvonz@google.com>
parents:
44413
diff
changeset
|
72 spec = formatter.literal_templatespec(template) |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
73 templater = logcmdutil.changesettemplater(ui, repo, spec) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
74 ui.pushbuffer() |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
75 n = notify.notifier(ui, repo, b'incoming') |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
76 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
77 subs = set() |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
78 for sub, spec in n.subs: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
79 if spec is None: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
80 subs.add(sub) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
81 continue |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
82 revs = repo.revs(b'%r and %d:', spec, ctx.rev()) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
83 if len(revs): |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
84 subs.add(sub) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
85 continue |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
86 if len(subs) == 0: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
87 ui.debug( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
88 b'notify_published: no subscribers to selected repo and revset\n' |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
89 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
90 return |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
91 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
92 templater.show( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
93 ctx, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
94 changes=ctx.changeset(), |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
95 baseurl=ui.config(b'web', b'baseurl'), |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
96 root=repo.root, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
97 webroot=n.root, |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
98 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
99 data = ui.popbuffer() |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
100 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
101 try: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
102 msg = mail.parsebytes(data) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
103 except emailerrors.MessageParseError as inst: |
49865
5392bf258049
hooklib: force an exception wrapped by errors.Abort to bytestr
Matt Harbison <matt_harbison@yahoo.com>
parents:
49288
diff
changeset
|
104 raise error.Abort(stringutil.forcebytestr(inst)) |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
105 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
106 msg['In-reply-to'] = notify.messageid(ctx, domain, messageidseed) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
107 msg['Message-Id'] = notify.messageid( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
108 ctx, domain, messageidseed + b'-published' |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
109 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
110 msg['Date'] = encoding.strfromlocal( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
111 dateutil.datestr(format=b"%a, %d %b %Y %H:%M:%S %1%2") |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
112 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
113 if not msg['From']: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
114 sender = ui.config(b'email', b'from') or ui.username() |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
115 if b'@' not in sender or b'@localhost' in sender: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
116 sender = n.fixmail(sender) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
117 msg['From'] = mail.addressencode(ui, sender, n.charsets, n.test) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
118 msg['To'] = ', '.join(sorted(subs)) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
119 |
49288
ef5f5f1cbd90
py3: constant-fold some `pycompat.ispy3`
Manuel Jacob <me@manueljacob.de>
parents:
48875
diff
changeset
|
120 msgtext = msg.as_bytes() |
44413
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
121 if ui.configbool(b'notify', b'test'): |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
122 ui.write(msgtext) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
123 if not msgtext.endswith(b'\n'): |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
124 ui.write(b'\n') |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
125 else: |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
126 ui.status(_(b'notify_published: sending mail for %d\n') % ctx.rev()) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
127 mail.sendmail( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
128 ui, emailutils.parseaddr(msg['From'])[1], subs, msgtext, mbox=n.mbox |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
129 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
130 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
131 |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
132 def hook(ui, repo, hooktype, node=None, **kwargs): |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
133 if hooktype != b"txnclose-phase": |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
134 raise error.Abort( |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
135 _(b'Unsupported hook type %r') % pycompat.bytestr(hooktype) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
136 ) |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
137 ctx = repo.unfiltered()[node] |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
138 if kwargs['oldphase'] == b'draft' and kwargs['phase'] == b'public': |
4cabeea6d214
hgext: start building a library for simple hooks
Joerg Sonnenberger <joerg@bec.de>
parents:
diff
changeset
|
139 _report_commit(ui, repo, ctx) |