From 4c6a1e6439293c7e584aef4fda0da1a3968fe7c9 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 19 Nov 2009 17:00:02 -0500 Subject: Ran the new update_copyright.py --- becommands/diff.py | 1 + 1 file changed, 1 insertion(+) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index b6ac5b0..e71da9b 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -1,4 +1,5 @@ # Copyright (C) 2005-2009 Aaron Bentley and Panometrics, Inc. +# Gianluca Montecchi # W. Trevor King # # This program is free software; you can redistribute it and/or modify -- cgit From 614d4e40e148520ac511cbe0606bcbdcf24c8a08 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 21 Nov 2009 15:18:02 -0500 Subject: Added restrict_file_access to becommands' execute() args. + associated adjustments in other files. See cmdutil.restrict_file_access.__doc__ for an explanation of the security hole this closes. --- becommands/diff.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index e71da9b..6477934 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -21,7 +21,7 @@ from libbe import cmdutil, bugdir, diff import os __desc__ = __doc__ -def execute(args, manipulate_encodings=True): +def execute(args, manipulate_encodings=True, restrict_file_access=False): """ >>> import os >>> bd = bugdir.SimpleBugDir() -- cgit From f294b8793f241033d57431026aea12bb39a20250 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 4 Dec 2009 23:33:25 -0500 Subject: Added --dir option to `be diff'. Now you can compare two repositories: be -d branchA diff -d branchB or branchA$ be diff -d ../branchB which is helpful for VCSs like bzr that lack cross-branch revid visibility. Git users can still use branchA$ be diff REVID where REVID is a commit from any branch in the repo. This new functionality acts like a BE counterpart to `bzr missing DIR'. --- becommands/diff.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index 6477934..8e6c0f8 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -65,9 +65,19 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): if bd.vcs.versioned == False: print "This directory is not revision-controlled." else: - if revision == None: # get the most recent revision - revision = bd.vcs.revision_id(-1) - old_bd = bd.duplicate_bugdir(revision) + if options.dir == None: + if revision == None: # get the most recent revision + revision = bd.vcs.revision_id(-1) + old_bd = bd.duplicate_bugdir(revision) + else: + cwd = os.getcwd() + os.chdir(options.dir) + old_bd_current = bugdir.BugDir(from_disk=True, manipulate_encodings=False) + if revision == None: # use the current working state + old_bd = old_bd_current + else: + old_bd = old_bd_current.duplicate_bugdir(revision) + os.chdir(cwd) d = diff.Diff(old_bd, bd) tree = d.report_tree() @@ -87,6 +97,8 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): if rep != None: print rep bd.remove_duplicate_bugdir() + if options.dir != None and revision != None: + old_bd_current.remove_duplicate_bugdir() def get_parser(): parser = cmdutil.CmdOptionParser("be diff [options] REVISION") @@ -102,6 +114,8 @@ def get_parser(): help = s[2] parser.add_option(short, long, action="store_true", default=False, dest=attr, help=help) + parser.add_option("-d", "--dir", dest="dir", metavar="DIR", + help="Compare with repository in DIR instead of the current directory.") return parser longhelp=""" -- cgit From 1bbf068f28a6c05da563bc1224a4456f635227a4 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 5 Dec 2009 01:00:35 -0500 Subject: `be diff` raises UsageError if required revision control not possible. It had previously printed an message and exitted without error. --- becommands/diff.py | 71 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 34 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index 8e6c0f8..f581ace 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -63,42 +63,45 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): bd = bugdir.BugDir(from_disk=True, manipulate_encodings=manipulate_encodings) if bd.vcs.versioned == False: - print "This directory is not revision-controlled." + raise cmdutil.UsageError("This directory is not revision-controlled.") + if options.dir == None: + if revision == None: # get the most recent revision + revision = bd.vcs.revision_id(-1) + old_bd = bd.duplicate_bugdir(revision) else: - if options.dir == None: - if revision == None: # get the most recent revision - revision = bd.vcs.revision_id(-1) - old_bd = bd.duplicate_bugdir(revision) + cwd = os.getcwd() + os.chdir(options.dir) + old_bd_current = bugdir.BugDir(from_disk=True, + manipulate_encodings=False) + if revision == None: # use the current working state + old_bd = old_bd_current else: - cwd = os.getcwd() - os.chdir(options.dir) - old_bd_current = bugdir.BugDir(from_disk=True, manipulate_encodings=False) - if revision == None: # use the current working state - old_bd = old_bd_current - else: - old_bd = old_bd_current.duplicate_bugdir(revision) - os.chdir(cwd) - d = diff.Diff(old_bd, bd) - tree = d.report_tree() + if old_bd_current.vcs.versioned == False: + raise cmdutil.UsageError("%s is not revision-controlled." + % options.dir) + old_bd = old_bd_current.duplicate_bugdir(revision) + os.chdir(cwd) + d = diff.Diff(old_bd, bd) + tree = d.report_tree() - uuids = [] - if options.all == True: - options.new = options.modified = options.removed = True - if options.new == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/new")]) - if options.modified == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/mod")]) - if options.removed == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/rem")]) - if (options.new or options.modified or options.removed) == True: - print "\n".join(uuids) - else : - rep = tree.report_string() - if rep != None: - print rep - bd.remove_duplicate_bugdir() - if options.dir != None and revision != None: - old_bd_current.remove_duplicate_bugdir() + uuids = [] + if options.all == True: + options.new = options.modified = options.removed = True + if options.new == True: + uuids.extend([c.name for c in tree.child_by_path("/bugs/new")]) + if options.modified == True: + uuids.extend([c.name for c in tree.child_by_path("/bugs/mod")]) + if options.removed == True: + uuids.extend([c.name for c in tree.child_by_path("/bugs/rem")]) + if (options.new or options.modified or options.removed) == True: + print "\n".join(uuids) + else : + rep = tree.report_string() + if rep != None: + print rep + bd.remove_duplicate_bugdir() + if options.dir != None and revision != None: + old_bd_current.remove_duplicate_bugdir() def get_parser(): parser = cmdutil.CmdOptionParser("be diff [options] REVISION") @@ -128,7 +131,7 @@ For Arch your specifier must be a fully-qualified revision name. Besides the standard summary output, you can use the options to output UUIDS for the different categories. This output can be used as the -input to 'be show' to get and understanding of the current status. +input to 'be show' to get an understanding of the current status. """ def help(): -- cgit From 281e98e998b4a1ec550c6702aee0eead003905be Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 5 Dec 2009 01:30:30 -0500 Subject: Replaced `be diff` options --new, --removed, --modified, and --all with --uuids. We'll be adding a --subscribe option which will select the bugs/changes we're interested in, which deprecates the selection portion of the old options. The new --uuids just selects the "bug uuid" output over the default "change summary" output. --- becommands/diff.py | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index f581ace..aebbfdb 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -84,16 +84,11 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): d = diff.Diff(old_bd, bd) tree = d.report_tree() - uuids = [] - if options.all == True: - options.new = options.modified = options.removed = True - if options.new == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/new")]) - if options.modified == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/mod")]) - if options.removed == True: - uuids.extend([c.name for c in tree.child_by_path("/bugs/rem")]) - if (options.new or options.modified or options.removed) == True: + if options.uuids == True: + uuids = [] + bugs = tree.child_by_path("/bugs") + for bug_type in bugs: + uuids.extend([bug.name for bug in bug_type]) print "\n".join(uuids) else : rep = tree.report_string() @@ -105,20 +100,10 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): def get_parser(): parser = cmdutil.CmdOptionParser("be diff [options] REVISION") - # boolean options - bools = (("n", "new", "Print UUIDS for new bugs"), - ("m", "modified", "Print UUIDS for modified bugs"), - ("r", "removed", "Print UUIDS for removed bugs"), - ("a", "all", "Print UUIDS for all changed bugs")) - for s in bools: - attr = s[1].replace('-','_') - short = "-%c" % s[0] - long = "--%s" % s[1] - help = s[2] - parser.add_option(short, long, action="store_true", - default=False, dest=attr, help=help) parser.add_option("-d", "--dir", dest="dir", metavar="DIR", help="Compare with repository in DIR instead of the current directory.") + parser.add_option("-u", "--uuids", action="store_true", dest="uuids", + help="Only print the bug UUIDS.", default=False) return parser longhelp=""" -- cgit From e95de5d97dc05ce5dbb9a553d5e42e437ceccbbf Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 5 Dec 2009 03:55:55 -0500 Subject: Added --subscribe option to `be diff` --- becommands/diff.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index aebbfdb..5a94462 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -40,15 +40,18 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): Changed bug settings: status: open -> closed >>> if bd.vcs.versioned == True: - ... execute(["--modified", original], manipulate_encodings=False) + ... execute(["--subscribe", "DIR:mod", "--uuids", original], + ... manipulate_encodings=False) ... else: ... print "a" a >>> if bd.vcs.versioned == False: ... execute([original], manipulate_encodings=False) ... else: - ... print "This directory is not revision-controlled." - This directory is not revision-controlled. + ... raise cmdutil.UsageError('This directory is not revision-controlled.') + Traceback (most recent call last): + ... + UsageError: This directory is not revision-controlled. >>> bd.cleanup() """ parser = get_parser() @@ -59,11 +62,22 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): if len(args) == 1: revision = args[0] if len(args) > 1: - raise cmdutil.UsageError("Too many arguments.") + raise cmdutil.UsageError('Too many arguments.') + if options.subscribe == None: + subscriptions = [diff.Subscription(diff.BUGDIR_ID, + diff.BUGDIR_TYPE_ALL)] + else: + subscriptions = [] + for subscription in options.subscribe.split(','): + fields = subscription.split(':') + if len(fields) != 2: + raise cmdutil.UsageError('Invalid subscription "%s", should be ID:TYPE') + id,type = fields + subscriptions.append(diff.Subscription(id, type)) bd = bugdir.BugDir(from_disk=True, manipulate_encodings=manipulate_encodings) if bd.vcs.versioned == False: - raise cmdutil.UsageError("This directory is not revision-controlled.") + raise cmdutil.UsageError('This directory is not revision-controlled.') if options.dir == None: if revision == None: # get the most recent revision revision = bd.vcs.revision_id(-1) @@ -77,19 +91,19 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): old_bd = old_bd_current else: if old_bd_current.vcs.versioned == False: - raise cmdutil.UsageError("%s is not revision-controlled." + raise cmdutil.UsageError('%s is not revision-controlled.' % options.dir) old_bd = old_bd_current.duplicate_bugdir(revision) os.chdir(cwd) d = diff.Diff(old_bd, bd) - tree = d.report_tree() + tree = d.report_tree(subscriptions) if options.uuids == True: uuids = [] - bugs = tree.child_by_path("/bugs") + bugs = tree.child_by_path('/bugs') for bug_type in bugs: uuids.extend([bug.name for bug in bug_type]) - print "\n".join(uuids) + print '\n'.join(uuids) else : rep = tree.report_string() if rep != None: @@ -102,6 +116,8 @@ def get_parser(): parser = cmdutil.CmdOptionParser("be diff [options] REVISION") parser.add_option("-d", "--dir", dest="dir", metavar="DIR", help="Compare with repository in DIR instead of the current directory.") + parser.add_option("-s", "--subscribe", dest="subscribe", metavar="SUBSCRIPTION", + help="Only print changes matching SUBSCRIPTION, subscription is a comma-separ\ated list of ID:TYPE tuples. See `be subscribe --help` for descriptions of ID and TYPE.") parser.add_option("-u", "--uuids", action="store_true", dest="uuids", help="Only print the bug UUIDS.", default=False) return parser -- cgit From fbb8504a6c0438e90b046e44a60608159f4e3f63 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 5 Dec 2009 04:11:39 -0500 Subject: Created diff.subscriptions_from_string() --- becommands/diff.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index 5a94462..e2ff052 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -63,17 +63,11 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): revision = args[0] if len(args) > 1: raise cmdutil.UsageError('Too many arguments.') - if options.subscribe == None: - subscriptions = [diff.Subscription(diff.BUGDIR_ID, - diff.BUGDIR_TYPE_ALL)] - else: - subscriptions = [] - for subscription in options.subscribe.split(','): - fields = subscription.split(':') - if len(fields) != 2: - raise cmdutil.UsageError('Invalid subscription "%s", should be ID:TYPE') - id,type = fields - subscriptions.append(diff.Subscription(id, type)) + try: + subscriptions = diff.subscriptions_from_string( + options.subscribe) + except ValueError, e: + raise cmdutil.UsageError(e.msg) bd = bugdir.BugDir(from_disk=True, manipulate_encodings=manipulate_encodings) if bd.vcs.versioned == False: -- cgit From 3cf0394832176a18f658ef3a89521bcccd57cb9e Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 5 Dec 2009 04:21:04 -0500 Subject: More 'DIR'->diff.BUGDIR_ID updates --- becommands/diff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index e2ff052..2cff537 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -40,7 +40,7 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): Changed bug settings: status: open -> closed >>> if bd.vcs.versioned == True: - ... execute(["--subscribe", "DIR:mod", "--uuids", original], + ... execute(["--subscribe", "%(bugdir_id)s:mod", "--uuids", original], ... manipulate_encodings=False) ... else: ... print "a" @@ -53,7 +53,7 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): ... UsageError: This directory is not revision-controlled. >>> bd.cleanup() - """ + """ % {'bugdir_id':diff.BUGDIR_ID} parser = get_parser() options, args = parser.parse_args(args) cmdutil.default_complete(options, args, parser) -- cgit From fc131e3acbf657f42959910c4f4483a09c871016 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sun, 6 Dec 2009 04:24:07 -0500 Subject: Set BugDir(root=X) instead of os.chdir(X) in --- becommands/diff.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index 2cff537..e844c10 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -77,9 +77,8 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): revision = bd.vcs.revision_id(-1) old_bd = bd.duplicate_bugdir(revision) else: - cwd = os.getcwd() - os.chdir(options.dir) - old_bd_current = bugdir.BugDir(from_disk=True, + old_bd_current = bugdir.BugDir(root=os.path.abspath(options.dir), + from_disk=True, manipulate_encodings=False) if revision == None: # use the current working state old_bd = old_bd_current @@ -88,7 +87,6 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): raise cmdutil.UsageError('%s is not revision-controlled.' % options.dir) old_bd = old_bd_current.duplicate_bugdir(revision) - os.chdir(cwd) d = diff.Diff(old_bd, bd) tree = d.report_tree(subscriptions) -- cgit From fdf9925ffaada614544d1b2d3ccecb42f1549acb Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Mon, 7 Dec 2009 07:18:48 -0500 Subject: be --dir DIR COMMAND now roots the bugdir in DIR without changing directories. Previously, for the directory structure A |-- X `-- Y You could do something like A$ be --dir X diff --dir ../Y Now it's A$ be --dir X diff --dir Y The --root option to `be init` has been removed as redundant. Replace calls like be init --root DIR with be --dir DIR init --- becommands/diff.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py index e844c10..c5c34f9 100644 --- a/becommands/diff.py +++ b/becommands/diff.py @@ -21,7 +21,8 @@ from libbe import cmdutil, bugdir, diff import os __desc__ = __doc__ -def execute(args, manipulate_encodings=True, restrict_file_access=False): +def execute(args, manipulate_encodings=True, restrict_file_access=False, + dir="."): """ >>> import os >>> bd = bugdir.SimpleBugDir() @@ -69,7 +70,8 @@ def execute(args, manipulate_encodings=True, restrict_file_access=False): except ValueError, e: raise cmdutil.UsageError(e.msg) bd = bugdir.BugDir(from_disk=True, - manipulate_encodings=manipulate_encodings) + manipulate_encodings=manipulate_encodings, + root=dir) if bd.vcs.versioned == False: raise cmdutil.UsageError('This directory is not revision-controlled.') if options.dir == None: -- cgit From 49a7771336ce09f6d42c7699ef32aecea0e83182 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Mon, 7 Dec 2009 20:07:55 -0500 Subject: Initial directory restructuring to clarify dependencies --- becommands/diff.py | 133 ----------------------------------------------------- 1 file changed, 133 deletions(-) delete mode 100644 becommands/diff.py (limited to 'becommands/diff.py') diff --git a/becommands/diff.py b/becommands/diff.py deleted file mode 100644 index c5c34f9..0000000 --- a/becommands/diff.py +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright (C) 2005-2009 Aaron Bentley and Panometrics, Inc. -# Gianluca Montecchi -# W. Trevor King -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -"""Compare bug reports with older tree""" -from libbe import cmdutil, bugdir, diff -import os -__desc__ = __doc__ - -def execute(args, manipulate_encodings=True, restrict_file_access=False, - dir="."): - """ - >>> import os - >>> bd = bugdir.SimpleBugDir() - >>> bd.set_sync_with_disk(True) - >>> original = bd.vcs.commit("Original status") - >>> bug = bd.bug_from_uuid("a") - >>> bug.status = "closed" - >>> changed = bd.vcs.commit("Closed bug a") - >>> os.chdir(bd.root) - >>> if bd.vcs.versioned == True: - ... execute([original], manipulate_encodings=False) - ... else: - ... print "Modified bugs:\\n a:cm: Bug A\\n Changed bug settings:\\n status: open -> closed" - Modified bugs: - a:cm: Bug A - Changed bug settings: - status: open -> closed - >>> if bd.vcs.versioned == True: - ... execute(["--subscribe", "%(bugdir_id)s:mod", "--uuids", original], - ... manipulate_encodings=False) - ... else: - ... print "a" - a - >>> if bd.vcs.versioned == False: - ... execute([original], manipulate_encodings=False) - ... else: - ... raise cmdutil.UsageError('This directory is not revision-controlled.') - Traceback (most recent call last): - ... - UsageError: This directory is not revision-controlled. - >>> bd.cleanup() - """ % {'bugdir_id':diff.BUGDIR_ID} - parser = get_parser() - options, args = parser.parse_args(args) - cmdutil.default_complete(options, args, parser) - if len(args) == 0: - revision = None - if len(args) == 1: - revision = args[0] - if len(args) > 1: - raise cmdutil.UsageError('Too many arguments.') - try: - subscriptions = diff.subscriptions_from_string( - options.subscribe) - except ValueError, e: - raise cmdutil.UsageError(e.msg) - bd = bugdir.BugDir(from_disk=True, - manipulate_encodings=manipulate_encodings, - root=dir) - if bd.vcs.versioned == False: - raise cmdutil.UsageError('This directory is not revision-controlled.') - if options.dir == None: - if revision == None: # get the most recent revision - revision = bd.vcs.revision_id(-1) - old_bd = bd.duplicate_bugdir(revision) - else: - old_bd_current = bugdir.BugDir(root=os.path.abspath(options.dir), - from_disk=True, - manipulate_encodings=False) - if revision == None: # use the current working state - old_bd = old_bd_current - else: - if old_bd_current.vcs.versioned == False: - raise cmdutil.UsageError('%s is not revision-controlled.' - % options.dir) - old_bd = old_bd_current.duplicate_bugdir(revision) - d = diff.Diff(old_bd, bd) - tree = d.report_tree(subscriptions) - - if options.uuids == True: - uuids = [] - bugs = tree.child_by_path('/bugs') - for bug_type in bugs: - uuids.extend([bug.name for bug in bug_type]) - print '\n'.join(uuids) - else : - rep = tree.report_string() - if rep != None: - print rep - bd.remove_duplicate_bugdir() - if options.dir != None and revision != None: - old_bd_current.remove_duplicate_bugdir() - -def get_parser(): - parser = cmdutil.CmdOptionParser("be diff [options] REVISION") - parser.add_option("-d", "--dir", dest="dir", metavar="DIR", - help="Compare with repository in DIR instead of the current directory.") - parser.add_option("-s", "--subscribe", dest="subscribe", metavar="SUBSCRIPTION", - help="Only print changes matching SUBSCRIPTION, subscription is a comma-separ\ated list of ID:TYPE tuples. See `be subscribe --help` for descriptions of ID and TYPE.") - parser.add_option("-u", "--uuids", action="store_true", dest="uuids", - help="Only print the bug UUIDS.", default=False) - return parser - -longhelp=""" -Uses the VCS to compare the current tree with a previous tree, and -prints a pretty report. If REVISION is given, it is a specifier for -the particular previous tree to use. Specifiers are specific to their -VCS. - -For Arch your specifier must be a fully-qualified revision name. - -Besides the standard summary output, you can use the options to output -UUIDS for the different categories. This output can be used as the -input to 'be show' to get an understanding of the current status. -""" - -def help(): - return get_parser().help_str() + longhelp -- cgit