aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/bug.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Major rewrite of RCS backends. RCS now represented as a class.W. Trevor King2008-11-181-26/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix Bug.string() handling of None times.W. Trevor King2008-11-161-3/+7
|
* Added 'remove' command to remove bugs. Use __desc__ for command help.W. Trevor King2008-11-161-9/+16
| | | | | | | | | | | 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 some errors produced while moving bug_summary to Bug.string().W. Trevor King2008-11-151-15/+17
|
* Moved libbe.cmdutil.bug_summary() to libbe.bug.Bug.string().W. Trevor King2008-11-151-2/+34
| | | | This seems like a natual place for a function that only operates on Bugs.
* Fixed a few more Comment.date->time calls.W. Trevor King2008-11-141-1/+1
| | | | | Bug keeps timestamps in Bug.time, so working towards consitency for Comment.
* Fixed some bug.py split effects in diff.pyW. Trevor King2008-11-141-1/+2
| | | | | | Also added 'disabled' status back in so diff doesn't choke trying to load the older versions... Ugly hack, but I don't want to change the past ;).
* Split Bug and Comment class out to bug.py from bugdir.pyW. Trevor King2008-11-141-0/+343
Comment should probably have it's own file too... I also tried to clean up the interface for setting status and severity. Both attributes involve selecting strings from predefined lists. The lists of valid strings (and descriptions of each string) are now defined in bug.py. The bug.py lists are then used to generate appropriate help strings in becommands/status.py and severity.py. This should make it easier to keep the help strings in synch with the validation information. The original status strings weren't documented, and I didn't know what they all ment, so I elimanted some of them. 'in-progress' and 'disabled' are no longer with us. Of course, it would be simple to add them back in if people don't agree with me on that. Due to the loss of 'disabled' I had to change the status of two bugs (11e and 597) to 'closed'. I removed becommands/inprogress.py as well. It's functionality was replaced by the more general status.py command, which mimics the severity.py command.