From 67f4563acb58af9e64fbfe8a2c9794b389a3debc Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 19 May 2009 18:17:51 -0700 Subject: manifest: Only support -o option on XML formatted manifest If the manifest isn't a single file format manifest, the -o option makes no sense, as you cannot export multiple files to a single stream for display or redirection. Signed-off-by: Shawn O. Pearce --- subcmds/manifest.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'subcmds/manifest.py') diff --git a/subcmds/manifest.py b/subcmds/manifest.py index 4415b99e..551b13bd 100644 --- a/subcmds/manifest.py +++ b/subcmds/manifest.py @@ -17,6 +17,7 @@ import os import sys from command import PagedCommand +from manifest_xml import XmlManifest def _doc(name): r = os.path.dirname(__file__) @@ -31,7 +32,7 @@ class Manifest(PagedCommand): common = False helpSummary = "Manifest inspection utility" helpUsage = """ -%prog [-o {-|NAME.xml} [-r]] +%prog [options] """ _xmlHelp = """ @@ -50,13 +51,14 @@ in a Git repository for use during future 'repo init' invocations. return help def _Options(self, p): - p.add_option('-r', '--revision-as-HEAD', - dest='peg_rev', action='store_true', - help='Save revisions as current HEAD') - p.add_option('-o', '--output-file', - dest='output_file', - help='File to save the manifest to', - metavar='-|NAME.xml') + if isinstance(self.manifest, XmlManifest): + p.add_option('-r', '--revision-as-HEAD', + dest='peg_rev', action='store_true', + help='Save revisions as current HEAD') + p.add_option('-o', '--output-file', + dest='output_file', + help='File to save the manifest to', + metavar='-|NAME.xml') def _Output(self, opt): if opt.output_file == '-': @@ -73,9 +75,10 @@ in a Git repository for use during future 'repo init' invocations. if args: self.Usage() - if opt.output_file is not None: - self._Output(opt) - return + if isinstance(self.manifest, XmlManifest) \ + and opt.output_file is not None: + self._Output(opt) + return print >>sys.stderr, 'error: no operation to perform' print >>sys.stderr, 'error: see repo help manifest' -- cgit v1.2.3-54-g00ecf