aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Added "Bugs Everywhere Directory v1.3" which transitions to bug-type targets.W. Trevor King2009-12-051-2/+58
| | | | | | | | | See bug 22b6f620-d2f7-42a5-a02e-145733a4e366 for the motivation. This upgrade will replace all "target" settings. The new BugDir target setting will be the uuid of the appropriate target. The Bug target setting is removed, replaced by an extra_strings BLOCKS tag blocking the appropriate target. New target bugs are created on the fly as required.
* This addresses the following portion of 22b:7:W. Trevor King2009-12-051-4/+1
| | | | | | | | | | | | | * Targeting normal bugs With "be depend". I think we should remove the "target" field from bugs, and move target dependencies over into the "be depend" framework. * be target list Would become "be list --severity target". A target "severity" would keep target bugs distinct from other bug/issue types.
* Fixed shortname -> bugname in becommands/show.py.W. Trevor King2009-12-051-1/+1
| | | | | | | | | | | | | | | Fixes wking@thor:be.target-as-bug$ be show 22b:7 Traceback (most recent call last): File "/home/wking/bin/be", line 65, in <module> sys.exit(cmdutil.execute(args[0], args[1:])) File "/home/wking/src/fun/be/be.target-as-bug/libbe/cmdutil.py", line 87, in execute restrict_file_access=restrict_file_access) File "/home/wking/src/fun/be/be.target-as-bug/becommands/show.py", line 82, in execute print output(args, bd, as_xml=options.XML, with_comments=options.comments) File "/home/wking/src/fun/be/be.target-as-bug/becommands/show.py", line 174, in output lines.append(comment.string(shortname=shortname)) NameError: global name 'shortname' is not defined
* Commented on 12c: Bug aggregation. Multi-repo meta-BE?W. Trevor King2009-12-052-0/+91
|
* Adjusted be-mbox-to-xml to not drop author info from multipart messagesW. Trevor King2009-12-051-1/+4
|
* Added missing author entries to some comments + cleanups.W. Trevor King2009-12-0538-34/+46
|
* Fix libbe.diff.Diff._changed_bugs() to handle subscriptions by bug shortname.W. Trevor King2009-12-051-3/+8
|
* Cleanup Dir in becommands/init.py doctest.W. Trevor King2009-12-051-0/+1
|
* Merged be.diff-subscribeW. Trevor King2009-12-055-201/+357
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Highlights: * changes to `be diff` * exits with an error if required revision control is not possible. Previously it printed a message, but exitted with status 0. * removed options --new, --removed, --modified, --all * added options --uuids, --subscribe * New method diff.Diff.full_report() allows fast generation of similar report_tree()s via diff.DiffTree.masked. * New method diff.subscriptions_from_string() for consistent subscription string parsing. * clean up be-handle-mail.Message.subscriber_emails() with diff.Diff.report_tree(subscriptions) * hardcoded 'DIR' replaced with diff.BUGDIR_ID * assorted cleanups and bugfixes
| * Updated NEWSW. Trevor King2009-12-051-0/+8
| |
| * Adjust libbe.diff.DiffTree to fix failed doctest.W. Trevor King2009-12-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ====================================================================== FAIL: Doctest: libbe.diff.DiffTree ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.5/doctest.py", line 2128, in runTest raise self.failureException(self.format_failure(new.getvalue())) AssertionError: Failed doctest test for libbe.diff.DiffTree File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 136, in DiffTree ---------------------------------------------------------------------- File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 172, in libbe.diff.DiffTree Failed example: print bugdir.report_string() Exception raised: Traceback (most recent call last): File "/usr/lib/python2.5/doctest.py", line 1228, in __run compileflags, 1) in test.globs File "<doctest libbe.diff.DiffTree[18]>", line 1, in <module> print bugdir.report_string() File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 213, in report_string return "\n".join(self.report()) TypeError
| * Use new libbe.diff.Diff.report_tree(subscriptions) in be-handle-mail.W. Trevor King2009-12-052-54/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | This makes Message.subscriber_emails() much cleaner. Also fix libbe.diff.Diff._sub_report() to handle missing 'bugdir/settings'. Added libbe.diff.SubscriptionType.__cmp__ so that SubscriptionType('all') == SubscriptionType('all') This is important when comparing the types returned by becommands.subscribe.get_bugdir_subscribers() with the libbe.diff.*_TYPE_* types.
| * Added libbe.diff.Diff.full_report() for speed with several subscription lists.W. Trevor King2009-12-051-2/+67
| | | | | | | | | | | | | | | | | | | | Now report_tree() returns an appropriately .masked version of the cached full report, which is much faster than recomputing a new diff tree from scratch. Also fixed bug in libbe.diff.DiffTree.report() where .requires_children=True was exposing nodes with children, when it should (and now does) only expose nodes with _unmasked_ children.
| * More 'DIR'->diff.BUGDIR_ID updatesW. Trevor King2009-12-052-8/+8
| |
| * Created diff.subscriptions_from_string()W. Trevor King2009-12-052-11/+28
| |
| * Added --subscribe option to `be diff`W. Trevor King2009-12-051-9/+25
| |
| * Added BUGDIR_TYPE_MOD and BUGDIR_TYPE_REM to libbe.diff.W. Trevor King2009-12-051-8/+19
| | | | | | | | | | | | | | | | | | Now you can subscribe to only hear about modified bugs or only about removed bugs. Kindof odd for a general subscription, but possibly useful as an argument to the upcoming `be diff --subscribe`, e.g. be diff --subscribe DIR:mod which would replace the old be diff --modified
| * Adjusted diff.Subscription.__init__() to guess type_root if required.W. Trevor King2009-12-051-2/+7
| |
| * Added subscriptions option to diff.Diff.report_tree().W. Trevor King2009-12-052-22/+80
| | | | | | | | | | | | Also added diff.BUGDIR_ID to avoid lots of magic 'DIR' definitions, and added diff.Subscription class to make the old (id, type) tuples a bit more elegant.
| * Moved subscription types from becommands/subscribe.py to libbe/diff.py.W. Trevor King2009-12-053-73/+86
| |
| * Replaced `be diff` options --new, --removed, --modified, and --all with --uuids.W. Trevor King2009-12-051-22/+7
| | | | | | | | | | | | | | 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.
| * `be diff` raises UsageError if required revision control not possible.W. Trevor King2009-12-051-34/+37
| | | | | | | | It had previously printed an message and exitted without error.
* | Set boolean options default to False in becommands/list.pyW. Trevor King2009-12-051-1/+1
| | | | | | | | | | | | | | | | Otherwise they default to None. It doesn't matter at the moment, since all the comparisons seem to be if options.XYZ == True: but this protects against confusion in the future if someone tries if options.XYZ == False:
* | Fix cmdutil.help() calls in be to use args not sys.argv.W. Trevor King2009-12-051-2/+2
|/ | | | | sys.argv won't work if there are any options in the be call, e.g. be -d DIR diff
* Add __eq__ and __ne__ methods to Tree.W. Trevor King2009-12-051-0/+6
| | | | | | | | | | | | | | | | | This fixes a bug introduced by revision-id: wking@drexel.edu-20091205034412-8apqxq8zqim48tf7 committer: W. Trevor King <wking@drexel.edu> timestamp: Fri 2009-12-04 22:44:12 -0500 message: Use __cmp__ instead of __eq__ for Tree comparison. When I made that commit, I'd forgotten that Tree inherits an __eq__ method from list, so it won't fall back to the __cmp__ method to determine equality. The new __eq__ and __ne__ methods use __cmp__ internally, so further subclasses (e.g. Comment) only need to override __cmp__. Of course, list also defines __ge__, __gt__, __le__, __lt__, ... which I don't bother with, so stay away from TreeA > TreeB and the like.
* Merged `be diff --dir DIR` functionalityW. Trevor King2009-12-043-6/+21
|\
| * Updated NEWSW. Trevor King2009-12-041-0/+3
| |
| * Added --dir option to `be diff'.W. Trevor King2009-12-041-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
| * Fixed removed comment listing in libbe/diff.py.W. Trevor King2009-12-041-2/+2
| | | | | | | | | | Previous implementation guaranteed to raise KeyErrors, because new bug doesn't contain the uuid.
* | Updated NEWSW. Trevor King2009-12-041-0/+10
|/
* Use __cmp__ instead of __eq__ for Tree comparison.W. Trevor King2009-12-041-2/+2
| | | | | | | | | | | | | | This ensures that __ne__ will also work, and makes it easier to subclass Tree. For example, in the previous implementation you could have >>> commA == commB False >>> cmp(commA, commB) 0 if the comments had different ids, but equivalent content. At the user-interface level, this removes some false "modified comments" from `be diff`.
* Don't necessarily initialize a new VCS in BugDir.load_settings().W. Trevor King2009-12-031-2/+3
| | | | | | | | | | We may already have the right type, in which case, don't mess with it. This speeds up bugdir loading a bit more: $ time be list > /dev/null real 0m1.245s user 0m1.116s sys 0m0.124s
* Don't get VCS version in VCS.__init__().W. Trevor King2009-12-031-2/+6
| | | | | | | | | | | | | | | | | | Often, this just causes a slow subprocess.Popen() call to get information we woln't even look at. Old benchmark: $ time be list > /dev/null real 0m2.369s user 0m1.980s sys 0m0.388s New benchmark: $ time be list > /dev/null real 0m1.472s user 0m1.304s sys 0m0.164s
* Added libbe.TESTING (defaults to False).W. Trevor King2009-12-0326-1045/+1161
| | | | | | | | | | | | | | | | | | | | This flag allows us to skip unittest and testsuite declaration if we woln't need them. It speeds up simple be calls a suprising amount. With Testing=True (the old behavior): wking@thor:be.wtk$ time ./be > /dev/null real 0m0.393s user 0m0.340s sys 0m0.048s With TESTING=False (the new behavior): be.wtk$ time ./be > /dev/null real 0m0.216s user 0m0.152s sys 0m0.064s This adjustment was inspired by Jakub Wilk's Debian bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559295
* Added copyright blurbs to __init__.py files.W. Trevor King2009-12-032-0/+32
|
* Remove _test() functions from plugin.py and cmdutil.py.W. Trevor King2009-12-032-15/+0
| | | | | Testing should be handled through test.py, not by calling per-module _test() functions.
* Merged completed be.email-bugs branch.W. Trevor King2009-11-3013-112/+593
|\ | | | | | | | | | | | | | | | | | | Highlights: * import-xml now works as advertized in its longhelp string * new methods Bug.merge() and Comment.merge() * comment.list_to_root() is now Bug.add_comments() * BugDir.list_uuids() is now BugDir.uuids() * Bug.from_xml() now imports comments :p * test.py uses unittest.TestSuite 'suite' in becommands, if present.
| * Mark bug 565 as fixed: be email-bugs for bug submission from bzr-less usersW. Trevor King2009-11-301-1/+1
| |
| * be-handle-mail uses more conservative --add-only for be-bugs:xmlW. Trevor King2009-11-301-1/+1
| |
| * Generalized doctest string in subproc.pyW. Trevor King2009-11-301-1/+1
| |
| * Added some thoughts on import_xml merge algorithmsW. Trevor King2009-11-302-0/+39
| |
| * Fixed import_xml.py to live up to its longhelp description.W. Trevor King2009-11-301-27/+188
| | | | | | | | Also added LonghelpTestCase to prove it.
| * Avoid redundant Comment.alt_idsW. Trevor King2009-11-301-1/+3
| |
| * Changed Bug and Comment.merge() kwargs.W. Trevor King2009-11-302-25/+69
| | | | | | | | | | | | | | | | The old allow_changes and allow_new_comments didn't have separate handling for extra_strings, like import_xml will need. It also didn't have a way to specify what to do if an illegal change occurs. Sometimes you'll want to raise an exception, but sometimes you'll want to ?silently? ignore the change.
| * Minor BugDir docstring typo correction.W. Trevor King2009-11-301-1/+1
| |
| * Moved comment.list_to_root() to Bug.add_comments() with some cleanups.W. Trevor King2009-11-292-65/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes Bug.add_comment simpler. Also makes Bug.from_xml() more robust, since it no longer depends on the order in which the XML file lists the comments. The previous Bug.from_xml() would have choked on <be-xml> <bug> <comment> <uuid>B</uuid> <in-reply-to>A</in-reply-to> </comment> <comment> <uuid>A</uuid> </comment> </bug> </be-xml> because when B was being added, the referenced A hadn't yet been noticed.
| * Added comment import to Bug.from_xml().W. Trevor King2009-11-282-10/+93
| | | | | | | | | | | | | | | | | | | | | | This is a pretty critical feature, dunno how I missed it before. I also added a little check to both Bug and Comment.from_xml() so that xml_string can take an ElementTree Element as well as the usual raw string/unicode. This avoids repeated string <-> Element conversions. Added Bug.add_comment() which handles the addition of a Comment instance, matching .in_reply_to, checking .uuid uniqueness, etc.
| * test.py now uses unittest.TestSuite 'suite' in becommands if present.W. Trevor King2009-11-281-1/+4
| | | | | | | | | | | | Such 'suite' instances have been required for libbe submodules. This will allow becommands to test themselves more thoroughly than they could with only doctests.
| * BugDir.list_uuids() -> BugDir.uuids()W. Trevor King2009-11-284-9/+9
| |
| * Added Bug.merge() and Comment.merge().W. Trevor King2009-11-282-16/+185
| | | | | | | | | | | | | | | | | | Added *.explicit_attrs list creation to Bug and Comment.from_xml(). Added match_alt_id keyword argumennt to .comment_from_uuid(). Removed extra enline following '</extra-string>' tag in Bug and Comment.xml().