summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmain.py48
1 files changed, 24 insertions, 24 deletions
diff --git a/main.py b/main.py
index f6631f5f..5c8ea85c 100755
--- a/main.py
+++ b/main.py
@@ -130,32 +130,21 @@ class _Repo(object):
130 130
131 def _ParseArgs(self, argv): 131 def _ParseArgs(self, argv):
132 """Parse the main `repo` command line options.""" 132 """Parse the main `repo` command line options."""
133 name = None 133 for i, arg in enumerate(argv):
134 glob = [] 134 if not arg.startswith('-'):
135 135 name = arg
136 for i in range(len(argv)): 136 glob = argv[:i]
137 if not argv[i].startswith('-'):
138 name = argv[i]
139 if i > 0:
140 glob = argv[:i]
141 argv = argv[i + 1:] 137 argv = argv[i + 1:]
142 break 138 break
143 if not name: 139 else:
140 name = None
144 glob = argv 141 glob = argv
145 name = 'help'
146 argv = [] 142 argv = []
147 gopts, _gargs = global_options.parse_args(glob) 143 gopts, _gargs = global_options.parse_args(glob)
148 144
149 name, alias_args = self._ExpandAlias(name) 145 if name:
150 argv = alias_args + argv 146 name, alias_args = self._ExpandAlias(name)
151 147 argv = alias_args + argv
152 if gopts.help:
153 global_options.print_help()
154 commands = ' '.join(sorted(self.commands))
155 wrapped_commands = textwrap.wrap(commands, width=77)
156 print('\nAvailable commands:\n %s' % ('\n '.join(wrapped_commands),))
157 print('\nRun `repo help <command>` for command-specific details.')
158 global_options.exit()
159 148
160 return (name, gopts, argv) 149 return (name, gopts, argv)
161 150
@@ -186,12 +175,23 @@ class _Repo(object):
186 175
187 if gopts.trace: 176 if gopts.trace:
188 SetTrace() 177 SetTrace()
189 if gopts.show_version: 178
190 if name == 'help': 179 # Handle options that terminate quickly first.
191 name = 'version' 180 if gopts.help:
192 else: 181 global_options.print_help()
182 commands = ' '.join(sorted(self.commands))
183 wrapped_commands = textwrap.wrap(commands, width=77)
184 print('\nAvailable commands:\n %s' % ('\n '.join(wrapped_commands),))
185 print('\nRun `repo help <command>` for command-specific details.')
186 return 0
187 elif gopts.show_version:
188 if name and name != 'help':
193 print('fatal: invalid usage of --version', file=sys.stderr) 189 print('fatal: invalid usage of --version', file=sys.stderr)
194 return 1 190 return 1
191 name = 'version'
192 elif not name:
193 # No subcommand specified, so show the help/subcommand.
194 name = 'help'
195 195
196 SetDefaultColoring(gopts.color) 196 SetDefaultColoring(gopts.color)
197 197