aboutsummaryrefslogtreecommitdiffstats
path: root/becommands/set.py
diff options
context:
space:
mode:
Diffstat (limited to 'becommands/set.py')
-rw-r--r--becommands/set.py31
1 files changed, 28 insertions, 3 deletions
diff --git a/becommands/set.py b/becommands/set.py
index 956a95e..547e4a9 100644
--- a/becommands/set.py
+++ b/becommands/set.py
@@ -1,11 +1,36 @@
"""Change tree settings"""
from libbe import cmdutil
def execute(args):
- assert len(args) in (1, 2)
+ assert len(args) in (0, 1, 2)
tree = cmdutil.bug_tree()
- if len(args) == 1:
+ if len(args) == 0:
+ keys = tree.settings.keys()
+ keys.sort()
+ for key in keys:
+ print "%16s: %s" % (key, tree.settings[key])
+ elif len(args) == 1:
print tree.settings.get(args[0])
else:
- tree.settings[args[0]] = args[1]
+ if args[1] != "none":
+ tree.settings[args[0]] = args[1]
+ else:
+ del tree.settings[args[0]]
tree.save_settings()
+def help():
+ return """be set [name] [value]
+
+Show or change per-tree settings.
+
+If name and value are supplied, the name is set to a new value.
+If no value is specified, the current value is printed.
+If no arguments are provided, all names and values are listed.
+
+Interesting settings are:
+rcs_name
+ The name of the revision control system. "Arch" and "None" are supported.
+target
+ The current development goal
+
+To unset a setting, set it to "none".
+"""