summaryrefslogtreecommitdiff
blob: 356bc9ae264f20fef718fbd0a3402b33a882cbdc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
From a5fca5ebbede155329e44fd4b4a4268c0c86ff3f Mon Sep 17 00:00:00 2001
From: Bertrand Jacquin <bertrand@jacquin.bzh>
Date: Mon, 7 Oct 2013 13:33:30 +0200
Subject: [PATCH 2/2] irkerhook: Remove file listing

---
 irkerhook.py | 28 +++-------------------------
 1 file changed, 3 insertions(+), 25 deletions(-)

diff --git a/irkerhook.py b/irkerhook.py
index 18c9b01..0ba6834 100755
--- a/irkerhook.py
+++ b/irkerhook.py
@@ -66,7 +66,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
@@ -237,7 +236,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"
@@ -286,9 +285,6 @@ class GitExtractor(GenericExtractor):
             if self.urlprefix in ('gitweb', 'cgit'):
                 # Also truncate the commit used for the announced urls
                 commit.commit = commit.rev
-        # 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.
@@ -309,7 +305,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()
@@ -323,7 +319,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):
@@ -367,7 +362,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
@@ -397,9 +392,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):
@@ -440,17 +432,6 @@ 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
@@ -458,9 +439,6 @@ def ship(extractor, commit, debug):
     # 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