This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository maintenancescripts. commit cac733b1d98e02f19d947a999da9f36a388f4ab1 Author: Mihai Moldovan <ionic@ionic.de> Date: Sun May 30 11:06:05 2021 +0200 git/hooks/update-script._irkerhook.py_: merge in upstream changes. --- git/hooks/update-script._irkerhook.py_ | 58 +++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/git/hooks/update-script._irkerhook.py_ b/git/hooks/update-script._irkerhook.py_ index 0760647..b8a104a 100755 --- a/git/hooks/update-script._irkerhook.py_ +++ b/git/hooks/update-script._irkerhook.py_ @@ -1,9 +1,10 @@ #!/usr/bin/env python3 # Copyright (c) 2012 Eric S. Raymond <esr@thyrsus.com> -# Distributed under BSD terms. +# SPDX-License-Identifier: BSD-2-Clause # # This script contains git porcelain and porcelain byproducts. -# Requires Python 2.6, or 2.5 with the simplejson library installed. +# Requires either Python 2.6, or 2.5 with the simplejson library installed +# or Python 3.x. # # usage: irkerhook.py [-V] [-n] [--variable=value...] [commit_id...] # @@ -41,7 +42,7 @@ default_channels = u"irc://irc.libera.chat/#x2go" # No user-serviceable parts below this line: # -version = "2.17" +version = "2.19" import os, sys, socket, subprocess, locale, datetime, re from pipes import quote as shellquote @@ -423,6 +424,7 @@ class HgExtractor(GenericExtractor): def is_repository(directory): return has(directory, [".hg"]) def __init__(self, arguments): + from mercurial.encoding import unifromlocal # This fiddling with arguments is necessary since the Mercurial hook can # be run in two different ways: either directly via Python (in which # case hg should be pointed to the hg_hook function below) or as a @@ -449,24 +451,27 @@ class HgExtractor(GenericExtractor): GenericExtractor.__init__(self, arguments) # Extract global values from the hg configuration file(s) - self.project = ui.config('irker', 'project') - self.repo = ui.config('irker', 'repo') - self.server = ui.config('irker', 'server') - self.channels = ui.config('irker', 'channels') - self.email = ui.config('irker', 'email') - self.tcp = str(ui.configbool('irker', 'tcp')) # converted to bool again in do_overrides - self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' - self.tinyifier = ui.config('irker', 'tinyifier') or default_tinyifier - self.color = ui.config('irker', 'color') - self.urlprefix = (ui.config('irker', 'urlprefix') or - ui.config('web', 'baseurl') or '') + self.project = unifromlocal(ui.config(b'irker', b'project') or b'') + self.repo = unifromlocal(ui.config(b'irker', b'repo') or b'') + self.server = unifromlocal(ui.config(b'irker', b'server') or b'') + self.channels = unifromlocal(ui.config(b'irker', b'channels') or b'') + self.email = unifromlocal(ui.config(b'irker', b'email') or b'') + self.tcp = str(ui.configbool(b'irker', b'tcp')) # converted to bool again in do_overrides + self.template = unifromlocal(ui.config(b'irker', b'template') or b'') + if not self.template: + self.template = '%(bold)s%(project)s:%(reset)s %(green)s%(author)s%(reset)s %(repo)s:%(yellow)s%(branch)s%(reset)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s' + self.tinyifier = unifromlocal(ui.config(b'irker', b'tinyifier') + or default_tinyifier.encode('utf-8')) + self.color = unifromlocal(ui.config(b'irker', b'color') or b'') + self.urlprefix = unifromlocal((ui.config(b'irker', b'urlprefix') or + ui.config(b'web', b'baseurl') or b'')) if self.urlprefix: # self.commit is appended to this by do_overrides self.urlprefix = self.urlprefix.rstrip('/') + '/rev/' - self.cialike = ui.config('irker', 'cialike') - self.filtercmd = ui.config('irker', 'filtercmd') + self.cialike = unifromlocal(ui.config(b'irker', b'cialike') or b'') + self.filtercmd = unifromlocal(ui.config(b'irker', b'filtercmd') or b'') if not self.project: - self.project = os.path.basename(self.repository.root.rstrip('/')) + self.project = os.path.basename(unifromlocal(self.repository.root).rstrip('/')) self.do_overrides() def head(self): "Return a symbolic reference to the tip commit of the current branch." @@ -475,19 +480,19 @@ class HgExtractor(GenericExtractor): "Make a Commit object holding data for a specified commit ID." from mercurial.node import short from mercurial.templatefilters import person - node = self.repository.lookup(commit_id) - commit = Commit(self, short(node)) + from mercurial.encoding import unifromlocal + ctx = self.repository[commit_id] + commit = Commit(self, unifromlocal(short(ctx.hex()))) # Extract commit-specific values from a "context" object - ctx = self.repository.changectx(node) commit.rev = '%d:%s' % (ctx.rev(), commit.commit) - commit.branch = ctx.branch() - commit.author = person(ctx.user()) + commit.branch = unifromlocal(ctx.branch()) + commit.author = unifromlocal(person(ctx.user())) commit.author_date = \ datetime.datetime.fromtimestamp(ctx.date()[0]).strftime('%Y-%m-%d %H:%M:%S') - commit.logmsg = ctx.description() + commit.logmsg = unifromlocal(ctx.description()) # Extract changed files from status against first parent st = self.repository.status(ctx.p1().node(), ctx.node()) - commit.files = ' '.join(st[0] + st[1] + st[2]) + commit.files = unifromlocal(b' '.join(st.modified + st.added + st.removed)) return commit def hg_hook(ui, repo, **kwds): @@ -629,4 +634,7 @@ if __name__ == "__main__": for commit in commits: ship(extractor, commit, not notify) -#End +# The following sets edit modes for GNU EMACS +# Local Variables: +# mode:python +# End: -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/maintenancescripts.git