-# Copyright (C) 2005-2010 Aaron Bentley <abentley@panoramicfeedback.com>
+# Copyright (C) 2005-2012 Aaron Bentley <abentley@panoramicfeedback.com>
+# Chris Ball <cjb@laptop.org>
# Gianluca Montecchi <gian@grys.it>
-# Marien Zwart <marienz@gentoo.org>
+# Marien Zwart <marien.zwart@gmail.com>
# Thomas Gerigk <tgerigk@gmx.de>
-# W. Trevor King <wking@drexel.edu>
+# W. Trevor King <wking@tremily.us>
#
# This file is part of Bugs Everywhere.
#
-# Bugs Everywhere 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.
+# Bugs Everywhere 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.
#
# Bugs Everywhere 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.
+# 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 Bugs Everywhere. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License along with
+# Bugs Everywhere. If not, see <http://www.gnu.org/licenses/>.
import textwrap
def __init__(self, *args, **kwargs):
libbe.command.Command.__init__(self, *args, **kwargs)
+ self.options.extend([
+ libbe.command.Option(name='bugdir', short_name='b',
+ help='Short bugdir UUID to act on. You '
+ 'only need to set this if you have multiple bugdirs in '
+ 'your repository.',
+ arg=libbe.command.Argument(
+ name='bugdir', metavar='ID', default=None,
+ completion_callback=libbe.command.util.complete_bugdir_id)),
+ ])
self.args.extend([
libbe.command.Argument(
name='setting', metavar='SETTING', optional=True,
])
def _run(self, **params):
- bugdir = self._get_bugdir()
+ bugdirs = self._get_bugdirs()
+ if params['bugdir']:
+ bugdir = bugdirs[bugdir]
+ elif len(bugdirs) == 1:
+ bugdir = bugdirs.values()[0]
+ else:
+ raise libbe.command.UserError(
+ 'Ambiguous bugdir {}'.format(sorted(bugdirs.values())))
if params['setting'] == None:
keys = bugdir.settings_properties
keys.sort()
Allowed settings are:
-%s""" % ('\n'.join(get_bugdir_settings()),)
+%s
+
+Note that this command does not provide a good interface for some of
+these settings (yet!). You may need to edit the bugdir settings file
+(`.be/<bugdir>/settings`) manually. Examples for each troublesome
+setting are given below.
+
+Add the following lines to override the default severities and use
+your own:
+
+ severities:
+ - - target
+ - The issue is a target or milestone, not a bug.
+ - - wishlist
+ - A feature that could improve usefulness, but not a bug.
+
+You may add as many name/description pairs as you wish to have; they
+are sorted in order from least important at the top, to most important
+at the bottom. The target severity gets special handling by `be
+target`.
+
+Note that the values here _override_ the defaults. That means that if
+you like the defaults, and wish to keep them, you will have to copy
+them here before adding any of your own. See `be severity --help` for
+the current list.
+
+Add the following lines to override the default statuses and use your
+own:
+
+ active_status:
+ - - unconfirmed
+ - A possible bug which lacks independent existance confirmation.
+ - - open
+ - A working bug that has not been assigned to a developer.
+
+ inactive_status:
+ - - closed
+ - The bug is no longer relevant.
+ - - fixed
+ - The bug should no longer occur.
+
+You may add as many name/description pairs as you wish to have; they
+are sorted in order from most important at the top, to least important
+at the bottom.
+
+Note that the values here _override_ the defaults. That means that if
+you like the defaults, and wish to keep them, you will have to copy
+them here before adding any of your own. See `be status --help` for
+the current list.
+""" % ('\n'.join(get_bugdir_settings()),)
def get_bugdir_settings():
settings = []