annotate examples/trac/contrib/trac-post-commit-hook @ 92:01d36818bb3d trunk

More performance improvements... this time for whitespace normalization and template loops.
author cmlenz
date Thu, 20 Jul 2006 23:06:36 +0000
parents 93b4dcbafd7b
children
rev   line source
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
1 #!/usr/bin/env python
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3 # trac-post-commit-hook
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 # ----------------------------------------------------------------------------
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5 # Copyright (c) 2004 Stephen Hansen
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7 # Permission is hereby granted, free of charge, to any person obtaining a copy
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 # of this software and associated documentation files (the "Software"), to
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9 # deal in the Software without restriction, including without limitation the
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11 # sell copies of the Software, and to permit persons to whom the Software is
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 # furnished to do so, subject to the following conditions:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14 # The above copyright notice and this permission notice shall be included in
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15 # all copies or substantial portions of the Software.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 # IN THE SOFTWARE.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 # ----------------------------------------------------------------------------
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 # This Subversion post-commit hook script is meant to interface to the
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27 # Trac (http://www.edgewall.com/products/trac/) issue tracking/wiki/etc
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28 # system.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30 # It should be called from the 'post-commit' script in Subversion, such as
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31 # via:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 # REPOS="$1"
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34 # REV="$2"
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 # LOG=`/usr/bin/svnlook log -r $REV $REPOS`
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36 # AUTHOR=`/usr/bin/svnlook author -r $REV $REPOS`
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 # TRAC_ENV='/somewhere/trac/project/'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 # TRAC_URL='http://trac.mysite.com/project/'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40 # /usr/bin/python /usr/local/src/trac/contrib/trac-post-commit-hook \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41 # -p "$TRAC_ENV" \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42 # -r "$REV" \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43 # -u "$AUTHOR" \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44 # -m "$LOG" \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45 # -s "$TRAC_URL"
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
47 # It searches commit messages for text in the form of:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
48 # command #1
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
49 # command #1, #2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
50 # command #1 & #2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
51 # command #1 and #2
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
52 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
53 # You can have more then one command in a message. The following commands
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
54 # are supported. There is more then one spelling for each command, to make
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
55 # this as user-friendly as possible.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
56 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
57 # closes, fixes
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
58 # The specified issue numbers are closed with the contents of this
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
59 # commit message being added to it.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
60 # references, refs, addresses, re
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
61 # The specified issue numbers are left in their current status, but
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
62 # the contents of this commit message are added to their notes.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
63 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
64 # A fairly complicated example of what you can do is with a commit message
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
65 # of:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
66 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
67 # Changed blah and foo to do this or that. Fixes #10 and #12, and refs #12.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
68 #
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
69 # This will close #10 and #12, and add a note to #12.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
70
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
71 import re
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
72 import os
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
73 import sys
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
74 import time
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
75
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
76 from trac.env import open_environment
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
77 from trac.ticket.notification import TicketNotifyEmail
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
78 from trac.ticket import Ticket
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
79 from trac.ticket.web_ui import TicketModule
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
80 # TODO: move grouped_changelog_entries to model.py
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
81 from trac.web.href import Href
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
82
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
83 try:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
84 from optparse import OptionParser
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
85 except ImportError:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
86 try:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
87 from optik import OptionParser
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
88 except ImportError:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
89 raise ImportError, 'Requires Python 2.3 or the Optik option parsing library.'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
90
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
91 parser = OptionParser()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
92 parser.add_option('-e', '--require-envelope', dest='env', default='',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
93 help='Require commands to be enclosed in an envelope. If -e[], '
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
94 'then commands must be in the form of [closes #4]. Must '
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
95 'be two characters.')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
96 parser.add_option('-p', '--project', dest='project',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
97 help='Path to the Trac project.')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
98 parser.add_option('-r', '--revision', dest='rev',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
99 help='Repository revision number.')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
100 parser.add_option('-u', '--user', dest='user',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
101 help='The user who is responsible for this action')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
102 parser.add_option('-m', '--msg', dest='msg',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
103 help='The log message to search.')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
104 parser.add_option('-s', '--siteurl', dest='url',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
105 help='The base URL to the project\'s trac website (to which '
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
106 '/ticket/## is appended). If this is not specified, '
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
107 'the project URL from trac.ini will be used.')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
108
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
109 (options, args) = parser.parse_args(sys.argv[1:])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
110
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
111 if options.env:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
112 leftEnv = '\\' + options.env[0]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
113 rghtEnv = '\\' + options.env[1]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
114 else:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
115 leftEnv = ''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
116 rghtEnv = ''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
117
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
118 commandPattern = re.compile(leftEnv + r'(?P<action>[A-Za-z]*).?(?P<ticket>#[0-9]+(?:(?:[, &]*|[ ]?and[ ]?)#[0-9]+)*)' + rghtEnv)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
119 ticketPattern = re.compile(r'#([0-9]*)')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
120
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
121 class CommitHook:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
122 _supported_cmds = {'close': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
123 'closed': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
124 'closes': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
125 'fix': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
126 'fixed': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
127 'fixes': '_cmdClose',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
128 'addresses': '_cmdRefs',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
129 're': '_cmdRefs',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
130 'references': '_cmdRefs',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
131 'refs': '_cmdRefs',
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
132 'see': '_cmdRefs'}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
133
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
134 def __init__(self, project=options.project, author=options.user,
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
135 rev=options.rev, msg=options.msg, url=options.url):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
136 self.author = author
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
137 self.rev = rev
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
138 self.msg = "(In [%s]) %s" % (rev, msg)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
139 self.now = int(time.time())
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
140 self.env = open_environment(project)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
141 if url is None:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
142 url = self.env.config.get('project', 'url')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
143 class Request(object):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
144 def __init__(self):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
145 self.href = self.abs_href = Href(url)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
146
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
147 cmdGroups = commandPattern.findall(msg)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
148
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
149 tickets = {}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
150 for cmd, tkts in cmdGroups:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
151 funcname = CommitHook._supported_cmds.get(cmd.lower(), '')
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
152 if funcname:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
153 for tkt_id in ticketPattern.findall(tkts):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
154 func = getattr(self, funcname)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
155 tickets.setdefault(tkt_id, []).append(func)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
156
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
157 for tkt_id, cmds in tickets.iteritems():
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
158 try:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
159 db = self.env.get_db_cnx()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
160
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
161 ticket = Ticket(self.env, int(tkt_id), db)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
162 for cmd in cmds:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
163 cmd(ticket)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
164
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
165 # determine sequence number...
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
166 cnum = 0
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
167 tm = TicketModule(self.env)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
168 for change in tm.grouped_changelog_entries(ticket, db):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
169 if change['permanent']:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
170 cnum += 1
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
171
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
172 ticket.save_changes(self.author, self.msg, self.now, db, cnum+1)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
173 db.commit()
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
174
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
175 tn = TicketNotifyEmail(self.env)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
176 tn.notify(ticket, Request(), newticket=0, modtime=self.now)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
177 except Exception, e:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
178 # import traceback
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
179 # traceback.print_exc(file=sys.stderr)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
180 print>>sys.stderr, 'Unexpected error while processing ticket ' \
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
181 'ID %s: %s' % (tkt_id, e)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
182
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
183
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
184 def _cmdClose(self, ticket):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
185 ticket['status'] = 'closed'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
186 ticket['resolution'] = 'fixed'
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
187
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
188 def _cmdRefs(self, ticket):
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
189 pass
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
190
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
191
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
192 if __name__ == "__main__":
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
193 if len(sys.argv) < 5:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
194 print "For usage: %s --help" % (sys.argv[0])
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
195 else:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
196 CommitHook()
Copyright (C) 2012-2017 Edgewall Software