annotate mozillatry.py @ 1:0f8e4a3b4e1c

split add_options to its own method for consumption
author Jeff Hammel <jhammel@mozilla.com>
date Sat, 01 Dec 2012 19:42:38 -0800
parents df6a8049e9a4
children 3eaee0d10880
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 push patches to try
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5 """
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 import optparse
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 import os
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
9 import sys
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
10
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
11 from subprocess import check_call as call
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
13 def config(filename):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 """read .mozutils.ini config file"""
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 # XXX stub; this should really use
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16 # e.g. http://k0s.org/mozilla/hg/configuration/
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 from ConfigParser import ConfigParser
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 parser = ConfigParser()
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 parser.read(filename)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 return os.path.expanduser(parser.get('hg', 'mozilla-central'))
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 def reset(directory):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 """reset an hg directory to a good state"""
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 assert os.path.exists(directory) and os.path.isdir(directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 hg_dir = os.path.join(directory, '.hg')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 assert os.path.exists(hg_dir) and os.path.isdir(hg_dir)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
27 call(['hg', 'revert', '--no-backup', '--all'], cwd=directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
28 call(['hg', 'qpop', '--all'], cwd=directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 try:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30 shutil.rmtree(os.path.join(hg_dir, 'patches')) # remove patches
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
31 except:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
32 pass
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
33
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
34 def update(directory):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
35 """update a mozilla-central checkout"""
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
36 assert os.path.exists(directory) and os.path.isdir(directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
37 reset(directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
38 call(['hg', 'pull'], cwd=directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
39 call(['hg', 'update'], cwd=directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
40 call(['hg', 'qinit'], cwd=directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
41
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
42 def push_to_try(patches, repo, commit, _try='ssh://hg.mozilla.org/try/'):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
43 """push a series of patches to try repository"""
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
44
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
45 # ensure the repo is in a good state
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
46 update(repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
47
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
48 try:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
49 # apply patches
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
50 for patch in patches:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
51 call(['hg', 'qimport', patch], cwd=repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
52 call(['hg', 'qpush', '--all'], cwd=repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
53 call(['hg', 'qseries', '-v'], cwd=repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
54
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
55 # push to try
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
56 call(['hg', 'qref', '--message', commit], cwd=repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
57 call(['hg', 'push', '-f', _try], cwd=repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
58 finally:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
59 reset(repo)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
60
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
61 def try_syntax(opt=True, debug=True, unittests=('all'), talos=('all'), bug=None):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
62 """
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
63 return try syntax; see also:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
64 - https://github.com/pbiggar/trychooser
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
65 - http://trychooser.pub.build.mozilla.org/
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
66 """
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
67
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
68 assert opt or debug
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
69 message = ['try:']
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
70 message += ['-b', '%s%s' % (('d' if debug else ''), ('o' if opt else ''))]
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
71 message += ['-u', (','.join(unittests) if unittests else 'none')]
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
72 message += ['-t', (','.join(talos) if talos else 'none')]
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
73 if bug:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
74 message += ['--post-to-bugzilla', str(bug)]
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
75 return ' '.join(message)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
76
1
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
77 def add_options(parser):
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
78 """add options for mozilla try to an OptionParser instance"""
0
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
79
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
80 parser.add_option('--no-opt', dest='opt',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
81 action='store_false', default=True,
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
82 help='no opt builds')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
83 parser.add_option('--no-debug', dest='debug',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
84 action='store_false', default=True,
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
85 help='no debug builds')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
86 parser.add_option('-u', dest='unittests', action='append',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
87 help='unittests')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
88 parser.add_option('-t', dest='talos', action='append',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
89 help='talos tests')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
90 parser.add_option('--bug', dest='bug', type='int',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
91 help='post to bugzilla bug #')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
92 parser.add_option('-c', '--config', dest='config',
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
93 default=os.path.join(os.environ['HOME'], '.mozutils.ini'),
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
94 help='location of config file')
1
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
95
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
96
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
97 def main(args=sys.argv[1:]):
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
98
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
99 # parse command line arguments
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
100 usage = '%prog [options] patch <patch2> <...>'
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
101 class PlainDescriptionFormatter(optparse.IndentedHelpFormatter):
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
102 """description formatter"""
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
103 def format_description(self, description):
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
104 description = description.strip()
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
105 if description:
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
106 return description + '\n'
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
107 else:
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
108 return ''
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
109 parser = optparse.OptionParser(usage=usage, description=__doc__, formatter=PlainDescriptionFormatter())
0f8e4a3b4e1c split add_options to its own method for consumption
Jeff Hammel <jhammel@mozilla.com>
parents: 0
diff changeset
110 add_options(parser)
0
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
111 options, args = parser.parse_args(args)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
112 if not args:
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
113 parser.print_help()
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
114 parser.exit()
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
115 if (not options.opt) and (not options.debug):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
116 parser.error("Must enable opt or debug builds")
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
117
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
118 # get mozilla-central repository directory
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
119 config_file = options.__dict__.pop('config')
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
120 if not os.path.exists(config_file):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
121 parser.error("You need a config file at ~/.mozutils.ini")
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
122 try_directory = config(config_file) # XXX temporary hack
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
123 if not os.path.exists(try_directory):
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
124 parser.error("mozilla-central try directory does not exist: %s" % try_directory)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
125
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
126 # build try syntax
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
127 commit = try_syntax(**options.__dict__)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
128 print commit
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
129
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
130 # push to try
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
131 push_to_try(patches=args, repo=try_directory, commit=commit)
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
132
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
133 if __name__ == '__main__':
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
134 main()
df6a8049e9a4 initial port from http://k0s.org/mozilla/try.py
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
135