aboutsummaryrefslogtreecommitdiffstats
path: root/becommands
Commit message (Collapse)AuthorAgeFilesLines
* tag --remove now returns bug.settings["extra_strings"] to EMPTY.W. Trevor King2009-06-251-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | extra_strings returns to a defaulting property from a cached/generator property, with the help of the new, mutable defaults. Lots of deepcopies avoid mutable default uncertainty too ;). And copy.deepcopy([]) should be pretty cheap. tag --remove had previously left settings["extra_strings"] as [], which polluted the bug's values file. Now the improved defaulting_property notices a return to the default [], and sets the internally stored value to EMPTY. I struggled with creating a more intuitive way to notice changes to extra_strings than the tmp = bug.extra_strings <work on tmp> bug.extra_strings = tmp but didn't have any luck. The problem seems to be that if you only hand out copies of your default, you don't have any pointers to what you handed out to check for changes. On the other hand, if you hand out your original default, any external changes will _change_ your original default. I suppose you could only hand out copies, but keep a list of all copies handed out, but that sounds like a disaster. Reassigning is easy enough.
* Added becommands/tag.pyW. Trevor King2009-06-231-0/+118
| | | | | Oops, I forgot to add becommands/tag.py with my last commit. Here it is now, with the added ability to remove tags.
* Added `be list --sort *` for user-selectable sorting.W. Trevor King2009-06-223-8/+25
| | | | | | | | | | | Also added libbe.bug.cmp_last_modified, which handles part of 9ce2f015-8ea0-43a5-a03d-fc36f6d202fe. To do better we could extend the RCS framework. I also transcribed a few emails from the be-devel list onto their relavent bugs and closed a few bugs. Finally, I removed some left over InvalidValue cruft.
* Merged be-xml-to-mboxW. Trevor King2009-06-221-4/+1
|\
| * Escape XML strings.W. Trevor King2009-06-221-6/+3
| | | | | | | | | | | | Since <creator>John Doe <jdoe@example.com></creator> is not valid XML.
* | Replaced some doctest output with ellipses.W. Trevor King2009-06-212-24/+24
|/ | | | Following Chris' advice. Don't know what I was thinking before ;).
* Added --xml option to becommands/list.pyW. Trevor King2009-06-211-6/+13
|
* Added comments-from-stdin, so we can add tracebacks, e.g. withW. Trevor King2009-06-191-7/+14
| | | $ be list --invalid-option | be comment <bug-id> -
* Merged Thomas Habets 2009-01-07 XML output for "be show".W. Trevor King2009-06-191-4/+22
|\ | | | | | | | | | | | | | | | | | | | | | | I rewrote a few of his routines, e.g. generalizing Comment.string_thread to run a caller-specified method avoided the need for some duplicate code in Comment.xml_thread. There was also a reasonable reorganization of libbe.settings_object.versioned_property because the <in_reply_to> field of the Comment.xml output was giving me `-1' (= old settings_object.EMPTY) instead of None, even after I had set comm.in_reply_to to None. The rewritten versioned_property avoids the ambiguity of UNPRIMED vs EMPTY, and avoids the stupididy of my using EMPTY=-1 ;).
| * XML output for "be show"Thomas Habets2009-01-071-2/+7
| |
* | Added per-tree default assignee option.W. Trevor King2008-12-041-0/+6
| | | | | | | | | | The new setting is currently only used when creating new bugs with becommand/new.
* | becommands/severity and status now handle --complete appropriately.W. Trevor King2008-12-042-7/+51
| | | | | | | | | | | | | | | | | | | | I also disabled interspersed options and arguments in cmdutils.CmdOptionParser. See http://docs.python.org/library/optparse.html Now $ be severity xyz --complete returns available severities. It had previously returned --help --complete
* | Per-tree status levels working.W. Trevor King2008-12-042-13/+16
| |
* | Adjusted becommands/list.py to use current bug severities levels.W. Trevor King2008-12-041-21/+19
| |
* | Per-tree settings now passed into bug module.W. Trevor King2008-12-041-12/+13
| | | | | | | | | | | | | | | | becommands/severity gets the configured settings appropriately. Todo: adjust setting-validation to compare against the current values. setup becommands/severity to --complete severities.
* | Added per-tree configurable severities.W. Trevor King2008-12-043-4/+7
| | | | | | | | | | | | | | They currently have no effect, but you can see them with $ be set There's a lot of information in this one 'settings' variable. I think set will have to be specialized to handle arrays smoothly...
* | Added support for bug reporter field.W. Trevor King2008-12-021-0/+6
| | | | | | | | Closes e2f6514c-5f9f-4734-a537-daf3fbe7e9a0
* | Added auto-completion for becommands/set property names.W. Trevor King2008-12-021-1/+13
| |
* | Converted Comment to the settings_object system.W. Trevor King2008-12-021-6/+6
| |
* | Bug moved to the settings_object system.W. Trevor King2008-12-023-7/+7
| |
* | Added decorator-style properties to bugdir. Created settings_object module.W. Trevor King2008-12-021-11/+20
| | | | | | | | | | | | | | | | settings_object.SavedSettingsObject encapsulates some of the common settings functionality in the BE BugDir, Bug, and Comment classes. It's a bit awkward due to the nature of scoping in python subclasses, but it's better than reproducing this code in each of the above classes. Now I need to move Bug and Comment over to *this* system ;).
* | Optimized bug loading from becommands/comment with partial-uuid matching.W. Trevor King2008-11-271-2/+10
| | | | | | | | The code is a bit uglier now, but it's a good deal faster :).
* | Added becommands/comment completion.W. Trevor King2008-11-271-1/+26
| |
* | Completion support added to becommands/helpW. Trevor King2008-11-271-1/+10
| |
* | Added bugid_args option to cmdutil.default_complete.W. Trevor King2008-11-279-9/+20
| | | | | | | | | | | | | | | | Now most of the bug-id arguments support Bash completion. Since there will hopefully be lots of bugs in the database, I decided to filter the list of available bugs. Currently, we just auto-complete active bugs for most commands, with the exceptions of open (obviously) and status (which needs to work on all types of bugs).
* | Command completion simplified and working for list, dummies for other cmds.W. Trevor King2008-11-2716-25/+58
| | | | | | | | | | | | | | | | All the other commands currently use default_complete(), which has no effect other than catching the --complete option and effectively aborting execution. This closes 8e1bbda4-35b6-4579-849d-117b1596ee99
* | Merged --commands and --options into --complete. Simpler that way.W. Trevor King2008-11-271-2/+2
| |
* | Basic bash completion is now supported.W. Trevor King2008-11-271-1/+13
| | | | | | | | I'm still working on a clean implementation though...
* | Fixed typo in becommands/comment help string.W. Trevor King2008-11-271-1/+1
| |
* | Added -a/n/m/r to becommands/diff.py.W. Trevor King2008-11-252-4/+34
| |
* | added -u/uuids option to becommands/listW. Trevor King2008-11-252-7/+22
| |
* | Added libbe/encoding.py to wrap input/output/file access appropriately.W. Trevor King2008-11-2516-139/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I borrowed most of the code for this. get_encoding() is from Trac http://trac.edgewall.org/browser/trunk/trac/util/datefmt.py format_datetime() Trac has a BSD license http://trac.edgewall.org/wiki/TracLicense I don't know if such a small snippet requires us to "reproduce the above copyright" or where we need to reproduce it if it is needed. The stdout/stdin replacement code follows http://wiki.python.org/moin/ShellRedirectionFails Because of the stdout replacement, the doctests executes now need an optional 'test' argument to turn off replacement during the doctests, otherwise doctest flips out (since it had set up stdout to catch output, and then we clobbered it's setup). References: http://wiki.python.org/moin/Unicode http://www.amk.ca/python/howto/unicode http://www.python.org/dev/peps/pep-0100/ I also split libbe/editor.py off from libbe.utility.py and started explaining the motivation for the BugDir init flags in it's docstring.
* | Hack to fixe encoding bug in becommands/showW. Trevor King2008-11-242-1/+2
| | | | | | | | | | | | The situation really calls for a global encoding setting rather than lots of hardcoded "utf-8"s. See bug f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a
* | Added becommands/merge to join duplicate bugs.W. Trevor King2008-11-241-0/+157
| |
* | Adjusted becommands/set to handle user_id properly.W. Trevor King2008-11-241-1/+3
| |
* | Added invalid-value checking to becommands/set.py.W. Trevor King2008-11-241-0/+10
|/ | | | | Kindof a cludgy check, but there's currently no simpler way to find valid entries for a given setting name (that I can think of).
* Tweaked usage strings to increase consistency. Also added README.dev.W. Trevor King2008-11-2410-12/+12
| | | | I tried to stick to CAPS for argument placeholders.
* Fixed broken doctest and inconsitent indentation from not wrapping comments.W. Trevor King2008-11-241-15/+0
| | | | | Also emptied becommands/__init__.py. I didn't understand the plugin interface when I wrote it.
* libbe/diff.diff() was missing newly created bugs. Fixed.W. Trevor King2008-11-231-1/+2
| | | | Also added blank lines to separate the new/modified/removed groups.
* Go back to lazy bug loading to get execution speed back up.W. Trevor King2008-11-2314-28/+35
| | | | Fixes bug b3c6da51-3a30-42c9-8c75-587c7a1705c5
* `be show` now supports showing multiple bugs with a single call.W. Trevor King2008-11-231-6/+4
|
* Added archive/project init code for `./test_usage.sh arch`.W. Trevor King2008-11-231-0/+1
| | | | Also some minor cleanups.
* Another major rewrite. Now BugDir, Bug, and Comment are more distinct.W. Trevor King2008-11-2117-286/+258
| | | | | | | | | | | | | | | I pushed a lot of the little helper functions into the main classes, which makes it easier for me to keep track of what's going on. I'm now at the point where I can run through `python test.py` with each of the backends (by changing the search order in rcs.py _get_matching_rcs) without any unexpected errors for each backend (except Arch). I can also run `test_usage.sh` without non-Arch errors either. However, don't consider this a stable commit yet. The bzr backend is *really*slow*, and the other's aren't blazingly fast either. I think I'm rewriting the entire database every time I save it :p. Still, it passes the checks. and I don't like it when zounds of changes build up.
* names.creator() replaced by rcs.get_user_id().W. Trevor King2008-11-191-2/+2
|
* Merged bug.new_comment into bug.Bug.new_comment.W. Trevor King2008-11-191-2/+1
|
* Moved bug.new_bug code into bugdir.BugDir.new_bug.W. Trevor King2008-11-191-2/+1
| | | | | Also removed explicit comparisons from beweb/controllers.py, since they are now built into the Bug.__cmp__ method.
* Major rewrite of RCS backends. RCS now represented as a class.W. Trevor King2008-11-1813-58/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of changes and just one commit. This started with bug dac91856-cb6a-4f69-8c03-38ff0b29aab2, when I noticed that new bugs were not being added appropriately with the Git backend. I'd been working with Git trouble before with bug 0cad2ac6-76ef-4a88-abdf-b2e02de76f5c, and decided things would be better off if I just scrapped the current RCS architecture and went to a more object oriented setup. So I did. It's not clear how to add support for an RCS backend: * Create a new module that - defines an inheritor of rsc.RCS, overriding the _rcs_*() methods - provide a new() function for instantizating the new class - defines an inheritor of rcs.RCStestCase, overiding the Class attribute - defines 'suite' a unittest.TestSuite testing the module * Add your new module to the rest in rcs._get_matching_rcs() * Add your new module to the rest in libbe/tests.py Although I'm not sure libbe/tests.py is still usefull. The new framework clears out a bunch of hackery that used to be involved with supporting becommands/diff.py. There's still room for progress though. While implementing the new verision, I moved the testing framework over from doctest to a doctest/unittest combination. Longer tests that don't demonstrate a function's usage should be moved to unittests at the end of the module, since unittest has better support for setup/teardown, etc. The new framework also revealed some underimplented backends, most notably arch. These backends have now been fixed. I also tweaked the test_usage.sh script to run through all the backends if it is called with no arguments. The fix for the dac bug turned out to be an unflushed file write :p.
* Oops, I'd forgotten to tell bzr about my becommands/remove.py.W. Trevor King2008-11-161-0/+58
|
* Added 'remove' command to remove bugs. Use __desc__ for command help.W. Trevor King2008-11-1614-26/+36
| | | | | | | | | | | Using the __desc__ reduces documentation duplication. It's also better than using __doc__, because __doc__ could (should?) be more than one-line long, and we just want a short description to jog our memories in the complete command list. Also moved unique_name from cmdutil.py to names.py to avoid the bug->cmdutil->bugdir->bug cyclic include.
* Fixed '-' parsing bug for list --assigned option.W. Trevor King2008-11-151-1/+1
|