You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-irc/irker/files/2.7-irkerhook-Remove-file-l...

106 lines
5.9 KiB

From 82376d74107035950ef4181fdc889ae9409378b6 Mon Sep 17 00:00:00 2001
From: Bertrand Jacquin <beber@meleeweb.net>
Date: Mon, 7 Oct 2013 13:33:30 +0200
Subject: [PATCH 2/3] irkerhook: Remove file listing
Signed-off-by: Bertrand Jacquin <beber@meleeweb.net>
---
irkerhook.py | 34 +++-------------------------------
1 file changed, 3 insertions(+), 31 deletions(-)
diff --git a/irkerhook.py b/irkerhook.py
index 36a875e..f2f82cf 100755
--- a/irkerhook.py
+++ b/irkerhook.py
@@ -57,7 +57,6 @@ class Commit:
self.rev = None
self.mail = None
self.author = None
- self.files = None
self.logmsg = None
self.url = None
self.author_date = None
@@ -224,7 +223,7 @@ class GitExtractor(GenericExtractor):
self.channels = do("git config --get irker.channels")
self.email = do("git config --get irker.email")
self.tcp = do("git config --bool --get irker.tcp")
- 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.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: %(logmsg)s %(brown)s%(url)s%(reset)s'
self.tinyifier = do("git config --get irker.tinyifier") or default_tinyifier
self.color = do("git config --get irker.color")
self.urlprefix = do("git config --get irker.urlprefix") or "gitweb"
@@ -269,9 +268,6 @@ class GitExtractor(GenericExtractor):
commit.rev = do("git describe %s 2>/dev/null" % shellquote(commit.commit))
if not commit.rev:
commit.rev = commit.commit[:12]
- # Extract the meta-information for the commit
- commit.files = do("git diff-tree -r --name-only " + shellquote(commit.commit))
- commit.files = " ".join(commit.files.strip().split("\n")[1:])
# Design choice: for git we ship only the first message line, which is
# conventionally supposed to be a summary of the commit. Under
# other VCSes a different choice may be appropriate.
@@ -292,7 +288,7 @@ class SvnExtractor(GenericExtractor):
if tok.startswith("--repository="):
self.repository = tok[13:]
self.project = os.path.basename(self.repository)
- self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s / %(bold)s%(files)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s'
+ self.template = '%(bold)s%(project)s%(reset)s: %(green)s%(author)s%(reset)s %(repo)s * %(bold)s%(rev)s%(reset)s: %(logmsg)s %(brown)s%(url)s%(reset)s'
self.urlprefix = "viewcvs"
self.load_preferences(os.path.join(self.repository, "irker.conf"))
self.do_overrides()
@@ -306,7 +302,6 @@ class SvnExtractor(GenericExtractor):
commit.rev = "r%s" % self.id
commit.author = self.svnlook("author")
commit.commit_date = self.svnlook("date").partition('(')[0]
- commit.files = self.svnlook("dirs-changed").strip().replace("\n", " ")
commit.logmsg = self.svnlook("log").strip()
return commit
def svnlook(self, info):
@@ -350,7 +345,7 @@ class HgExtractor(GenericExtractor):
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.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: %(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
@@ -380,9 +375,6 @@ class HgExtractor(GenericExtractor):
commit.author_date = \
datetime.datetime.fromtimestamp(ctx.date()[0]).strftime('%Y-%m-%d %H:%M:%S')
commit.logmsg = 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])
return commit
def hg_hook(ui, repo, **kwds):
@@ -423,27 +415,7 @@ def ship(extractor, commit, debug):
sys.stderr.write("irkerhook.py: could not decode JSON: %s\n" % data)
raise SystemExit, 1
- # Rewrite the file list if too long. The objective here is only
- # to be easier on the eyes.
- if extractor.cialike \
- and extractor.cialike.lower() != "none" \
- and len(metadata.files) > int(extractor.cialike):
- files = metadata.files.split()
- dirs = set([d.rpartition('/')[0] for d in files])
- if len(dirs) == 1:
- metadata.files = "(%s files)" % (len(files),)
- else:
- metadata.files = "(%s files in %s dirs)" % (len(files), len(dirs))
- # Message reduction. The assumption here is that IRC can't handle
- # lines more than 510 characters long. If we exceed that length, we
- # try knocking out the file list, on the theory that for notification
- # purposes the commit text is more important. If it's still too long
- # there's nothing much can be done other than ship it expecting the IRC
- # server to truncate.
privmsg = unicode(metadata)
- if len(privmsg) > 510:
- metadata.files = ""
- privmsg = unicode(metadata)
# Anti-spamming guard. It's deliberate that we get maxchannels not from
# the user-filtered metadata but from the extractor data - means repo