commit 31b3f442f200c2c0d2e6b39e596c8f2793034d87
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Nov 17 08:46:38 2012 -0500

    Bumped to version 1.1.1

commit 0b0e4f6648f04e8c3066b77d17bc46bef0cc027f
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Nov 17 08:16:54 2012 -0500

    Add explicit positional argument specifiers to .format() strings

    This fixes issues with Python 2.6 (before the implicit specifiers
    introduced by Python 2.7).

      On Fri, Nov 16, 2012 at 09:04:56AM -0600, Daniel Heater wrote:
      > ...
      > Traceback (most recent call last):
      >   File "setup.py", line 22, in <module>
      >     version='{}'.format(version.version()),
      > ValueError: zero length field name in format
      > ...

commit fc7de5992fba9df0564c684248b88b08f0212e50
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 13:10:36 2012 -0500

    Bumped to version 1.1.0

commit b0bf9d18cce9e0f70db29fa7083cfcfba64545f0
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 13:07:44 2012 -0500

    release.py: use Python 2.7 for sphinx-build

commit 00b097daa32544ef18af275cc88a59fbbc374b59
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 12:20:40 2012 -0500

    doc:Makefile: use Python 2.7 for generate-libbe-txt.py

commit 2a79c77e0f4150d9a49c584f9ce6c03a6822803f
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 12:18:50 2012 -0500

    storage:base: convert to Python 3.3 compatibility

commit 5887a061501443f780f976b5fb31320a858abe7a
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 12:18:43 2012 -0500

    storage: convert to Python 3 compatibility

commit 6e82ee270a73afa4c827afbb14d3dc7062773389
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 12:18:32 2012 -0500

    version: convert to Python 3 compatibility

commit 888300a933b32c1edf9cdecd0d24d6b30c6c4ed5
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 12:18:23 2012 -0500

    test: convert to Python 3 compatibility

commit 8726ab9b7169bea404032a3035563f1144582041
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Nov 12 11:54:47 2012 -0500

    release.py: build HTML docs when cutting releases

commit ea9cc6e140481a3b804d464f1f49b1b57952fdcb
Author: W. Trevor King <wking@tremily.us>
Date:   Sun Oct 28 20:20:27 2012 -0400

    util:wsgi: handle all dispatch() exceptions in BEExceptionApp

    This brings BEExceptionApp into closer agreement with
    libbe.ui.command_line.dispatch(), and avoids having the server go down
    when a user submits a silly command.

commit 71e53cb9db2755940340ccd73f542e48ae27a064
Author: W. Trevor King <wking@tremily.us>
Date:   Sun Oct 28 20:08:30 2012 -0400

    util:http: special handling for HTTP_USER_ERROR in get_post_url().

commit 8f1515c8130bff5de7335f648d6bbffc0a4615e5
Author: W. Trevor King <wking@tremily.us>
Date:   Sun Oct 28 19:59:41 2012 -0400

    Use libbe.util.http.HTTP_USER_ERROR everywhere instead of hardcoding 418

commit 33f6291e1f4a04e9a56b885dea187943fcfab7a4
Author: W. Trevor King <wking@tremily.us>
Date:   Sun Oct 28 19:00:32 2012 -0400

    util:wsgi: catch NoIDMatches in BEExceptionApp

commit a9464b2d7d6a5eeaf464178ac76a8338fd3e5768
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 19:46:41 2012 -0400

    util:wsgi: add --daemon, --pidfile, and --logfile

    This allows you to manage BE servers from inetd scripts, etc.
    Shortcomings of the current implementation:

    * ServerCommand._daemonize() currently only sets a SIGTERM handler and
      double forks.  If you want to do this right, see PEP 3143.
      Unfortunately, the PEP seems to have stalled, python-daemon appears
      unmaintained, and I don't care enough at the moment to do this
      right.

    * ServerCommand._get_pidfile() races between checking for an existing
      PID file and claiming the file itself.  It is possible that two
      processes would check around the same time, and both see no existing
      file.  Then they would both open the PID file and write their pid,
      without noticing that the other process was contending for the file.
      Solving this requires file locking, which is difficult to do
      portably.  This shouldn't be an issue in normal operation, where
      each server will be using its own PID file path.

commit eb237a34da6a17c06d1c25ad9609b80fdc88b595
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 16:16:50 2012 -0400

    util:wsgi: fix From -> from typo in pyOpenSSL comment

commit ad2212566487eb1a0cc7355e25b3172ef16252de
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 16:14:45 2012 -0400

    util:wsgi: fix get_cert_filenames -> _get_cert_filenames typo

    This was broken in the creation of libbe.util.wsgi from
    libbe.command.serve:

      commit 0fa17f6bf6a809df14ae1930542059a9e62066b0
      Author: W. Trevor King <wking@tremily.us>
      Date:   Mon Aug 27 13:37:58 2012 -0400

        libbe:util:wsgi: extract WSGI utilities into a separate module.

commit 3e8de161c729f6eda00a3854f0fa9a9a1844e5c3
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 16:11:57 2012 -0400

    util:wsgi: import os.path for _get_cert_filenames()

    This was lost in the creation of libbe.util.wsgi from
    libbe.command.serve:

      commit 0fa17f6bf6a809df14ae1930542059a9e62066b0
      Author: W. Trevor King <wking@tremily.us>
      Date:   Mon Aug 27 13:37:58 2012 -0400

        libbe:util:wsgi: extract WSGI utilities into a separate module.

commit 56b6f2a05f3f803ca9d14217ab7a81bbdcf7c1ba
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 16:01:01 2012 -0400

    doc:install: CherryPy is *not* used for HTTP, only for HTTPS.

    For plain HTTP, we use wsgiref.simple_server from the stdlib.

    Also include the `html` command as a WSGI-based command.

commit deb70c6cb26eaca32786744508ee53ed6a636481
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 15:41:08 2012 -0400

    util:wsgi: fix Clossing -> Closing typo.

commit d26c26a853551e066834e4eff067969a7a04e839
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 15:29:12 2012 -0400

    util:wsgi: remove %default from option help strings

commit 8a6074dda10e40954bfd3f07785f98a404357dba
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 15:29:00 2012 -0400

    command:html: remove %default from option help strings

commit 3b0d1261269704282be3fa4276d5c380ff4d1b7b
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 12:39:47 2012 -0400

    README: Update NumPy/SciPy doc link

commit efbfa3d8671da280615daeeb8682e86ff9160297
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 12:38:55 2012 -0400

    README: wrap doc/index.txt reference in backticks

    File names, code, etc., should have special markup so they aren't
    confused with regular text.

commit cf2dccfb50ccddb1d0a308f8f15f0a9362c57e2b
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 12:27:16 2012 -0400

    storage:util:upgrade: use YAML parser to get BE Tree 1 0 settings

    This fixes the "Bugs Everywhere Tree 1 0" -> "Bugs Everywhere
    Directory v1.1" upgrade broken by the switch to JSON in:

      commit a95915c6c7d6a4e29c1e5547580e0c1fed2467e1
      Author: W. Trevor King <wking@tremily.us>
      Date:   Mon Sep 17 08:14:21 2012 -0400

        storage:util:mapfile: convert YAML settings to JSON.

commit c9526ff928eea8d35d1b8dcf0751711c0b808e9c
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 11:51:05 2012 -0400

    misc:completion:be.zsh: update import-xml --comment-root -> --root

    This catches the script up with:

      commit 4db1a045a0606bead191a563abc54dfa8352efe0
      Author: W. Trevor King <wking@tremily.us>
      Date:   Wed Aug 29 23:26:17 2012 -0400

        Rewrite commands to use bugdirs instead of a single bugdir.

commit 461b76cd42a15ff1738af85dadd6c98082eab6ac
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 11:49:19 2012 -0400

    test_usage.sh: update import-xml --comment-root -> --root

    This catches the tests up with:

      commit 4db1a045a0606bead191a563abc54dfa8352efe0
      Author: W. Trevor King <wking@tremily.us>
      Date:   Wed Aug 29 23:26:17 2012 -0400

        Rewrite commands to use bugdirs instead of a single bugdir.

commit 29d5f3b11cad51fa4b4ffa20cdfc0681d11a0d23
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 11:38:20 2012 -0400

    storage:vcs:git: don't accept pygit2 version 0.17.3.

    My Repository.revparse_single() series was merged into pygit2 with:

      Merge: 3e9daa4 0238fb7
      Author: J. David Ibáñez <jdavid.ibp@gmail.com>
      Date:   Tue Sep 25 15:10:55 2012 +0200

        Merge remote-tracking branch 'wking/revparse'

    But this happened after the 0.17.3 release.  The next pygit2 release
    should contain the .revparse_single() code.

    The getattr() hackery works because versions of pygit2 before 0.17.3
    lacked a __version__ attribute.

commit eb241d26b14a29942094156072f80f109af3421a
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 07:47:29 2012 -0400

    doc:power: add Zsh completion location and update Bash install location

    This puts both scripts in the right spot on Gentoo, and shows the
    suggested installed filename (not just the suggested directory).

commit e56dee295f3c99f17b1527ef050e526a51c31cb1
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 06:56:52 2012 -0400

    command:serve_*: remove wordy "with, for example" from help message

commit 414e32600c3a5e37f1dbcae23cbf1c3ffd902941
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 27 06:55:46 2012 -0400

    command:serve_commands: fix --repo -> --server in help message

commit 815a8d535a6dd945773a74370668ab4067d65e92
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 14:17:21 2012 -0400

    doc:tutorial: use a Git tag for the `be diff` example

    I haven't tagged 1.1.0 yet, but earlier tags do not use Bugs
    Everywhere Directory v1.5, and we don't have on-the-fly storage
    updates yet.

commit d0f845060addcbd6e1fec60e0f04c0a205db81af
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:52:53 2012 -0400

    doc:tutorial: fix ReST formatting for `be show --xml` example

commit ecb1d5b2ca899e681a201f9396ac939a6b7dd6fc
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:46:11 2012 -0400

    doc:tutorial: move "you think" before quote in initialization section

commit fd5965787dce7b647a28287ce880ffe5cabaa63a
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:28:56 2012 -0400

    doc:tutorial: fix ReST formatting for first `be comment` example

commit 6f679de00a30f3ef1850bcecc5230be2c7651887
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:26:55 2012 -0400

    doc:install: mention that we *do* post releases now

commit e443e23ced5402089cd4c3751b7c1b6b976574c1
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:26:18 2012 -0400

    doc:install: mention that PyYAML is now optional

commit 7df9852ddf77304dde98217c71910723602dbde1
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:18:21 2012 -0400

    storage:util:upgrade: make yaml import optional (unless it isn't)

    Importing `yaml` may fail (if the user doesn't have PyYAML installed),
    but don't die until we need to use it.  This way users without the old
    YAML formats on disk can run BE without installing PyYAML.

commit 1f771c68eec0cb191bd7d82f0f08134850a88e62
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:09:21 2012 -0400

    command: use mapfiles (JSON) instead of YAML for the command server

commit b4d97db6f3fd6c3f4f19c4a475f064e305a163f6
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 13:08:54 2012 -0400

    storage:util:mapfile: add `context` argument to generate()

commit 0e0f995a5e7c6f93e8f0e0cf70fb559e482ba19f
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 12:52:29 2012 -0400

    doc/install: fix paragraph indentation in man page installation discussion

commit 00bc18b873f612a6fb22788f713e9cb2423d79c8
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 12:50:27 2012 -0400

    doc/install: point out relevant Debian bugs in a comment

commit 59b85de566db2bdadd57f9364e687f39bc1876ed
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 12:39:32 2012 -0400

    doc:install: fix dependency table ReST formatting

    The header had been broken by

      commit f174d8943c2edea25306ab522c27f69bbebd0be3
      Author: W. Trevor King <wking@tremily.us>
      Date:   Thu May 10 08:56:02 2012 -0400

        Update CherryPy dependency package to python-cherrypy3 on Debian.

commit f0ae7e348eb3b8c1a69d4237b73e316ad9439c12
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 12:36:36 2012 -0400

    doc:index: mention that in-branch-bugs are not the only way

commit 5c0102f49c607d026fe3e32438174b8bdb5872d5
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:55:42 2012 -0400

    doc: clean up top level module docstrings

commit 3dc53df836ef169d8c28f98495508bc4531c977f
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:48:30 2012 -0400

    libbe:bugdir: avoid SimpleBugDir is not a item name

    This happens because SimpleBugDir is not defined if libbe.TESTING is
    not set before importing libbe.bugdir.

commit d4a3017a675dea61874d09e728e943c8ae0035ae
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:43:04 2012 -0400

    doc: update :attr: to :py:attr: for modern Sphinx.

commit e186cfedadf43deb4b265d06be560bf5e5d81dc6
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:42:14 2012 -0400

    doc: update :data: to :py:data: for modern Sphinx.

commit 3354bfda0d54f860f7c83db76dd32e395cd5d1ee
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:41:21 2012 -0400

    doc: update :meth: to :py:meth: for modern Sphinx.

commit 27ca8426ae587b73cde11a5d681efc029b8632a4
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:40:09 2012 -0400

    doc:config: use :file: to markup filenames.

commit c065f17c6a79ec52abc370c91f49e570798cf38e
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:37:54 2012 -0400

    doc: update :class: to :py:class: for modern Sphinx.

commit 5bc03aa8b5a98c153a47cfc0ad23c7906485989a
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:36:09 2012 -0400

    storage:vcs:base: avoid `is not a item name` Sphinx error.

commit fbb954d72054ae784cff7a148d19007fce5eb8ff
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:22:32 2012 -0400

    doc:conf: use `version (date)` in Sphinx docs

    Since

      commit bed7587fe4910f8e4b892a09675279c5a4ab5484
      Author: W. Trevor King <wking@tremily.us>
      Date:   Thu Oct 25 19:07:09 2012 -0400

        version: use abbreviated SHA instead of  explicit _VERSION in master branch

    the version SHA will either be explicit in version(), or version()
    will return a release tag.  This makes the long SHA in the Sphinx docs
    unnecessary, so we can replace it with the more interesting commit
    date.

commit d9b9c4fdb13a0e0dc41184ea8d907bd5fa156e0d
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:13:13 2012 -0400

    doc: update :mod: to :py:mod: for modern Sphinx.

commit 26aadf775cbafd14e98870f818aae078181080d8
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:12:08 2012 -0400

    doc: update :func: to :py:func: for modern Sphinx.

commit 3b8cf46403e0a827a2a4b3f81b654323c821f5b1
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Oct 26 08:00:31 2012 -0400

    storage:util:config: path() now defaults to ~/.config/bugs-everywhere

    Add a documentation section discussing the config file, respect
    XDG_CONFIG_HOME, and add BE_CONFIG_PATH.

commit 1c5079bdbb762a98bb7cf2efda14d8a74ac65fb4
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 22:40:49 2012 -0400

    release.py: strip trailing whitespace from ChangeLog.

commit 2d16575f58adf3a48564cd6ecd112fd016dfe0ad
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:46:13 2012 -0400

    release.py: sign tags when cutting releases.

commit 20c1de34ba164d6ae63557e4e92cf5d1bee5c04c
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:37:37 2012 -0400

    release.py: use current Python executable for ./be invocation

    This allow you to cut a release where your system Python is not
    compatible with be.  For example:

      $ python --version
      Python 3.2.3
      $ python2.7 ./release.py 1.1.0

commit dbbc38aa56cc1b5e8b06e8b9e3685ca7a6f79ee9
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:34:06 2012 -0400

    setup.py: flesh out setup in preparation for PyPI posting

commit 4c9d24ddf793b4779a66186eaaa28c8b9bc5e6d0
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:13:47 2012 -0400

    setup.py: change setup.py name to something more PyPI friendly.

commit f29bfdd976ebadace285a8eca6b1b6e43b7ccd6e
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:11:19 2012 -0400

    setup.py: don't put the date in the setup.py version (PyPI gets mad).

commit bed7587fe4910f8e4b892a09675279c5a4ab5484
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 19:07:09 2012 -0400

    version: use abbreviated SHA instead of  explicit _VERSION in master branch

    Only official releases get a version number, which should help avoid
    confusion.  If you're running a live checkout, you shouldn't be scared
    off by SHAs.

commit 2926e124f78121ca9f0bbf13a757b9cc2e77cb82
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 18:44:22 2012 -0400

    release.py: pull main code into main().

commit b7da7fbd0951ea81283296b63d3cfc8844def8a5
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 17:57:39 2012 -0400

    update-copyright: update to the python3 branch.

commit 4028abf2040b1f59ff3829e98f7880f674f1ca54
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 16:56:03 2012 -0400

    release.py: remove dependency on deprecated libbe.subproc.Pipe

    Pipe has been gone since:

      commit f1ae4b7f3fea6fb78a54ee5073aee648a3d73179
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Sat Feb 25 11:16:01 2012 -0500

        Remove util.subproc.Pipe, as we no longer use it in BE.

commit 1d7f54bfa9a618b995278a01579f69ea3a37c0e6
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 08:19:42 2012 -0400

    interfaces:web:web: use bugdir_bug_comment_from_user_id() in CFBE.

    This gets CFBE working with:

      commit 4db1a045a0606bead191a563abc54dfa8352efe0
      Author: W. Trevor King <wking@tremily.us>
      Date:   Wed Aug 29 23:26:17 2012 -0400

        Rewrite commands to use bugdirs instead of a single bugdir.

    I'm not sure how much work it would take to rewrite CFBE to use
    multiple bugdirs.

commit d3413d36bf16e991e40308134d2db32c0fa5294b
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 08:12:59 2012 -0400

    bugdir|bug|comment: update default settings string to be value JSON.

commit b4cc4bb4b7b5d3311158fdabd8296284e36aff62
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 08:03:30 2012 -0400

    storage:util:mapfile: fix YAML -> JSON in docstrings.

    This should have been done back in:

      commit a95915c6c7d6a4e29c1e5547580e0c1fed2467e1
      Author: W. Trevor King <wking@tremily.us>
      Date:   Mon Sep 17 08:14:21 2012 -0400

        storage:util:mapfile: convert YAML settings to JSON.

    I also add an empty-settings generation as a sanity check.

commit a37b396a4f7e44f82f04fb73efc7e3cc8dd56690
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Oct 25 07:00:42 2012 -0400

    setup.py: make libbe._version optional.

    Thanks to Timmie for pointing this out:

    From: Timmie <timmichelsen@gmx-topmail.de>
    Date: Thu, 25 Oct 2012 09:42:23 +0000 (UTC)
    Subject: Re: [Be-devel] NotImplementedError with Bazaar

    ...
    I notices the following glichtes during the install:

    D:\be-be-master\be-be>python setup.py install
    WARNING:root:unable to import libbe._version: No module named _version
    Traceback (most recent call last):
      File "setup.py", line 6, in <module>
        from libbe import _version, version
    ImportError: cannot import name _version
    ...

commit 2b233348db8cfbf19c537679db0dcaaeb958d7b2
Author: W. Trevor King <wking@tremily.us>
Date:   Sat Oct 20 07:18:40 2012 -0400

    .update-copyright.conf: update to pipe separators.

    This brings the config file up to speed with the following
    update-copyright commit:

      commit 3c68a1a48419d8b2bbc2ce0e7f1700b996ec30e9
      Author: W. Trevor King <wking@tremily.us>
      Date:   Fri Oct 19 21:52:48 2012 -0400

        project: for consistency, also separate ignored paths with pipes

commit e727e62511b4584d562f67e6688a461d82848269
Author: W. Trevor King <wking@tremily.us>
Date:   Tue Oct 16 10:58:37 2012 -0400

    Ran update-copyright.py.

commit e842072ab54d1fa39a06ce4443354895fa5915bf
Author: W. Trevor King <wking@tremily.us>
Date:   Tue Oct 16 10:54:58 2012 -0400

    .mailmap: consilidate Niall Douglas' addresses.

commit ffdd62df7f16a483454fa2a15a11cb685d9b1c10
Author: W. Trevor King <wking@tremily.us>
Date:   Tue Oct 16 10:36:53 2012 -0400

    update-copyright: update to current update-copyright (v0.4+).

commit 5b6891acae30f3c73ffb25d54382f83d684cbb3e
Author: Nicolas Bigaouette <nbigaouette@gmail.com>
Date:   Wed Sep 19 11:12:37 2012 -0400

    doc:tutorial: fix typos in the attachment examples.

    I wrote the actual patch, but Nicolas gave pretty unambiguous
    directions, so I'm making him the author.

    On Wed, Sep 19, 2012 at 11:03:39AM -0400, Nicolas Bigaouette wrote:
    > Hi all,
    >
    > I'm trying out Bugs Everywhere, pretty neat!
    >
    > Reading the documentation, I see it's possible to add attachment to the bug
    > report. The "commenting on bugs" section of the tutorial[1] gives the
    > command for the attachment:
    >
    > > $ cat screenshot.png | be comment --content-type image/png bea/28f
    > >
    > or the following to reply to a specific comment:
    >
    > > $ be comment bea/28f “Whosit dissapears when you mouse-over whatsit.”
    > > $ cat screenshot.png | be comment --content-type image/png bea/28f/41d
    > >
    >
    > Both these commands fail as they will try to open the editor for entering
    > the comment.
    >
    > The fix is simply to append a single dash "-" at the end of the attachment
    > command to tell "be comment" to read the comment from stdin (see "be help
    > comment").
    >
    > Also, the second example has not the same formatting as the first one. The
    > first one seems to have a "code" formatting, while the second is just
    > indented without any line breaks.
    >
    > Thanks!
    >
    > Nicolas
    >
    > [1] http://docs.bugseverywhere.org/tutorial.html#commenting-on-bugs

commit 18c8ff5dcb0333b318b91b178e69b1121458616b
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 11:13:36 2012 -0400

    storage:vcs:git: check for existence of pygit2.__version__.

    Now that my pull request has been accepted, we can be fairly confident
    that future releases of pygit2 will expose this attribute.  The
    accepted patch was a bit different from the original submission:

    Add 'pygit2.__version__' for easy access from client software.
      https://github.com/libgit2/pygit2/pull/128
      commit f10d2b7b3f0c67d81b175326035e4813420156bd

commit 682b25c41cb70ee4e9274274e99f3ebe386e4315
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 09:35:10 2012 -0400

    command:html: convert -moz-border-radius to border-radius.

    border-radius and friends are standard CSS3 [1].

    [1]: http://www.w3.org/TR/css3-background/#the-border-radius

commit 99373a9f5abc16e4eae021b0feaf33a1d26ce476
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 09:25:07 2012 -0400

    command.html: display "Target:" detail for bugs with targets.

commit 0dce72cb7c6e043fd4e1d59145417de10a8937ee
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 09:21:18 2012 -0400

    command:html: fix two auto% -> auto typos in CSS.

    These were introduced in

      commit d61d54ce33022f0613c5e19e2f52be4ab77c4664
      Author: Gianluca Montecchi <gian@grys.it>
      Date:   Mon Jan 24 22:47:32 2011 +0100

        New html output for html command

    and propogated in

      commit 5b6be7a511670cdf1961d13040cddcb34e70b8a1
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Sun Apr 17 02:41:07 2011 -0400

        Rework `be html` to use Jinja2 templates.

commit 25296754756cbae7a435952f0017b20e71fd5c1e
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 09:01:20 2012 -0400

    bea864: upgrade to Bugs Everywhere Directory v1.5 (YAML -> JSON).

commit a95915c6c7d6a4e29c1e5547580e0c1fed2467e1
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 17 08:14:21 2012 -0400

    storage:util:mapfile: convert YAML settings to JSON.

    This is faster and still readable.  I also add an upgrader to convert
    bug directories from:
      Bugs Everywhere Directory v1.4
    to:
      Bugs Everywhere Directory v1.5
    but I haven't upgraded the local bugdir yet.

commit 503951e7f60f24bd30f97f3c7f1b366c6fb30250
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Sep 13 19:07:59 2012 -0400

    storage:vcs:git: move Git to ExecGit and add PygitGit using pygit2.

    If `pygit2` is installed, use it (via PygitGit) rather than calling
    the stand-alone `git` executable for all the Git (via ExecGit) for all
    the Git storage stuff.  This saves one serializing/deserializing and
    process setup/teardown.  I timed each test suite by commenting out one
    of the `make_vcs_testcase_subclasses()` calls at the end of `git.py`
    and running

      $ time python test.py libbe.storage.vcs.git

    The ExecGit tests ran in 13.7s and the PygitGit tests ran in 3.6s for
    a 3.8x speedup.

    I had to stretch pygit2 a bit to get a clean fit, so if you want to
    test this, you'll need to build pygit2 with the following merge
    requests:

      Add 'pygit2.__version__' for easy access from client software.
        https://github.com/libgit2/pygit2/pull/128
        commit 0238fb72dfdf2a2308f2da347717cbaafddc4b83
      signature: Add keyword argument parsing to Signature().
        https://github.com/libgit2/pygit2/pull/129
        commit c934858b629f40221406f34166dd77e881b9d5fd
      repository: add Repository.revparse_single()
        https://github.com/libgit2/pygit2/pull/131
        commit 3afdc8b2f59ed137531671fedde36f3a39cbcc9d

commit f727a1458954320781a311f6f9fe8b8a016b61e4
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Sep 13 12:08:10 2012 -0400

    storage:vcs:base: fix _gets_ -> _get_ typo in test_gets_existing_user_id.

    VCS_get_user_id_TestCase.test_gets_existing_user_id is now
    VCS_get_user_id_TestCase.test_get_existing_user_id

commit 60355f0b8657928b838d97be531dc34564705758
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Sep 13 11:47:51 2012 -0400

    storage:vcs:base: fix realtive -> relative typo in _u_abspath docstring.

commit d4abd0e2cdf0dc5dead4adb863edd3adce48f1d7
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 16:37:17 2012 -0400

    command:html: add --strip-email option.

commit 0091334db198918ee144df6f4fc7a3c456a5561d
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 16:17:14 2012 -0400

    command:html: oops, use default arguments for 'notify' and 'auth'.

commit f9f8cc7ec1b3cf214a70f3ea1a89af018b8b62e1
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 16:14:39 2012 -0400

    command:html: fix super(HTML. self) -> super(HTML, self).

commit d39c38a5bda493eb3b6b60b37fd19e0317db2b0c
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 15:18:36 2012 -0400

    ui:command_line: use `be help server` for help with `--server`.

    Use the recently created topic, which provides more details than the
    `serve-commands` help message.

commit a9ab97020028ff294001b333e51349eef1579666
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 15:18:22 2012 -0400

    ui:command_line: display help.TOPICS during `be help`.

commit b5cbf7b2ac05efcfd40e6d791f13ceda459536b3
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 15:15:38 2012 -0400

    command:help: add `repo` and `server` topics.

commit 9bf572f523430225e268095b9c653dee9c37c803
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 15:15:03 2012 -0400

    command:help: match against command names (not module names).

commit 70ba753eebdb6b36db9b6c95555a3bcac2139508
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 14:26:36 2012 -0400

    ui:command_line: use command names in command-list help message.

    The old implementation used module names.  For example:
      command name: import-xml
      module name:  import_xml

commit daaa79cbe6e07b0a73ddcf5b3bda3fbb724ec122
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 14:21:56 2012 -0400

    ui:command_line: add 'html' command to no-pager commands.

    Also rename 'serve' -> 'serve-storaage'.

    This catches the server version up with:

      commit 0336db8d4052a319f1d959a33fc847814551e3f8
      Author: W. Trevor King <wking@tremily.us>
      Date:   Wed Aug 29 23:55:37 2012 -0400

        command:serve-storage: rename `be serve` -> `be serve-storage`.

commit b3f9c555cdaee56f3ea07472c1304619e1f6a0ce
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 13:54:07 2012 -0400

    util:wsgi: WSGITestCase should not subclass WSGICaller.

    The old implementation caused a number of unittest errors.

    This commit adds a WSGICaller instance as WSGITestCase.caller, and
    provides a wrapper .getURL method which copies the
    status/headers/etc. from the caller back into the WSGITestCase.

commit db403548c022711796942f25473e05e9fe02c04b
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 13:10:04 2012 -0400

    command:html: rewrite as a libbe.util.wsgi.ServerCommand.

    Now `be html` defaults to serving the BE repo live.  With the
    `--export-html` option, it reverts to the earlier static dump
    behaviour.

    This will make it easier for others to embed a read-only HTML server
    in their own app (e.g. as a gitorious issue tracker).

commit 61f65db36071309fc9e6cd8c7a143be6c236fb62
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 13:09:06 2012 -0400

    util:wsgi: Pull WSGICaller out of WSGITestCase.

commit 13c3368e9704f9ca6639d3225d6e55fae1202965
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 11:53:32 2012 -0400

    bea/c283cb: move 'wishlist' severity from bug summary to .severity attribute.

commit 98ec99a2be788bdbad1c3fc09e46cca192007eb0
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 10:01:32 2012 -0400

    command:serve-storage: rename server_version to BE-storage-server/<VERSION>.

    This catches the server version up with:

      commit 0336db8d4052a319f1d959a33fc847814551e3f8
      Author: W. Trevor King <wking@tremily.us>
      Date:   Wed Aug 29 23:55:37 2012 -0400

        command:serve-storage: rename `be serve` -> `be serve-storage`.

commit 13e6d6ecfef7ff68fa24c2744e0f6621d6cf3491
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:36:56 2012 -0400

    command:serve_commands: allow unspecified parameters (use defaults).

    Also raise UnknownCommand if there is no `command` key in the posted
    dict (malformed request).

    With the new code, you can run commands with:

      $ wget --post-data='command: list' http://localhost:8000/run/

    instead of having to go through and specify all the parameters
    explicitly.  This will make the command server more robust for use
    with older clients (who may not know about all the parameters that the
    server knows about).  Parameters sent by the client that the server
    does not know about are silently ignored.

commit 7c1db6f55380c3511ac305a6fe3c16315216b527
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:34:35 2012 -0400

    util:wsgi: add HandlerErrorApp to return HTTP errors.

commit ec24b19779046c9bb2b39992b9847b34bc8ddba9
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:26:42 2012 -0400

    util:wsgi: fix WSGI_AppObject.default_callback -> .default_handler typo.

commit 8e5eb1becb438e7ebb2a25986fcfb94d334cf750
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:06:22 2012 -0400

    bea/c283cb: remove Be-devel footer from Holger (Timmie)'s comment.

commit 274725245f069882af2a62c49382353043bb9caf
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:01:57 2012 -0400

    bea/c283cb: merge earlier hosting-integration emails onto gitorious-issues bug.

commit ccf367f1a82035686323828669db1ad3afc4043a
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 09:00:30 2012 -0400

    command:import_xml: fix `--r` -> `-r` in long help.

commit d241a1fea084e5170b43bde371dc50637d74bf50
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 08:51:47 2012 -0400

    command:import_xml: fix be-mbox-to-xml -> be-mail-to-xml.

    This catches the doc up with misc/xml/be-mail-to-xml:

      commit c8985785eb741ff646082879f1ca5e9cfe3873b0
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Wed Jan 20 15:22:28 2010 -0500

        'be-mbox-to-xml' -> 'be-mail-to-xml' + support for several formats.

commit e63a74393b376753a298231b7917faff97a38704
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 08:08:20 2012 -0400

    misc:completion:be.bash: use tabs to indent shell script.

commit 912713f143bc87eb98596ace3ba59e7986c59b26
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Sep 3 08:07:47 2012 -0400

    misc:completion: rename _be to be.zsh for consistency with be.bash.

commit 708dc7c9fa34202af575968ad214a075b0f01d85
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 23:57:57 2012 -0400

    doc:install: we only use CherryPy for HTTPS.

    We use wsgiref.simple_server for HTTP.

commit fad4a92f93d3ad2d798521735c8f83827107d603
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 23:57:05 2012 -0400

    doc:tutorial: document `be serve-storage`.

commit 0336db8d4052a319f1d959a33fc847814551e3f8
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 23:55:37 2012 -0400

    command:serve-storage: rename `be serve` -> `be serve-storage`.

    This will help avoid confusion between

      be serve-storage

    and

      be serve-commands

commit 4db1a045a0606bead191a563abc54dfa8352efe0
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 23:26:17 2012 -0400

    Rewrite commands to use bugdirs instead of a single bugdir.

    The bulk of the work is in regard to XML, with new BugDir.xml and
    .from_xml methods to support the new <bugdir> entity.  I also split
    the guts import_xml's ._run method into sub-methods to make the import
    logic more obvious.

commit 5a32d82284e54facf2f5dcb03ba37afe3805a609
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 16:24:03 2012 -0400

    util:wsgi: add BEExceptionApp for translating storage exceptions.

    This fixes .test_get_initial_value for the HTTP backend, because the
    tests use TestingHTTP.getURL, which only catch HandlerError, not the
    more specific storage exceptions.

commit 2950a115fb106ae73b87f87dc4865156d9311f8e
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 14:54:33 2012 -0400

    bugdir: add `update` argument to BugDir.append().

    This avoids a deepcopy error where the BugDir tries to update before
    the Bug has had it's uuid assigned:

      Traceback (most recent call last):
        ...
        File ".../libbe/command/merge.py", line 168, in _run
          newCommTree = copy.deepcopy(bugB.comment_root)
        File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
          y = _reconstruct(x, rv, 1, memo)
        ...
        File "/usr/lib64/python2.7/copy.py", line 352, in _reconstruct
          y.append(item)
        File ".../libbe/bugdir.py", line 263, in append
          self._bug_map_gen()
        File ".../libbe/bugdir.py", line 152, in _bug_map_gen
          map[bug.uuid] = bug
      AttributeError: 'Bug' object has no attribute 'uuid'

commit 22a4d1c4d953013c64c029374f2e627289591695
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 13:24:50 2012 -0400

    bugdir: add BugDir.xml(), .from_xml(), and .append().

commit 93e226ee9affa37c19b7cc7da52e1b3bdcb64003
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 11:56:17 2012 -0400

    bug: fix invalid root element comment -> bug in Bug.from_xml().

commit 2293f704a2fc0ea7918dd8c8ba54b7aa4f660eec
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 10:00:00 2012 -0400

    bug: fix leading comment indentation in Bug.xml().

commit 3ef47dbe8fbd0161c3f4dd6d75a91fd2154a8f27
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Aug 29 09:44:37 2012 -0400

    bug: add doctest for Bug.xml().

commit 299ca4e57646921babf4dbbf95f28885549519b6
Author: W. Trevor King <wking@tremily.us>
Date:   Tue Aug 28 14:48:19 2012 -0400

    Allow symlinks in bugdir directories.

    This allows you to do things like:

      $ mkdir -p /tmp/joint-repo/.be
      $ cd /tml/joint-repo/.be
      $ ln -s ~/src/be/.be/version
      $ ln -s ~/src/be/.be/bea86499-824e-4e77-b085-2d581fa9ccab/
      $ ln -s ~/src/BEurtle/.be/7017b289-f207-4e39-9746-f58323404eba/
      $ be list

    without crashing with a:

      Traceback (most recent call last):
        File ".../libbe/storage/base.py", line 316, in children
          return self._children(*args, **kwargs)
        File ".../libbe/storage/vcs/base.py", line 820, in _children
          path = self.path(id, revision, relpath=False)
        File ".../libbe/storage/vcs/base.py", line 721, in path
          path = self._cached_path_id.path(id)
        File ".../libbe/storage/vcs/base.py", line 280, in path
          raise InvalidID(uuid)
      libbe.storage.base.InvalidID: 7017b289-f207-4e39-9746-f58323404eba in revision None

    Currently it only lists the first bug directory it comes across, but
    after this patch, it doesn't crash ;).

commit f8abe6aa77c0bc80f899cbec24cdedb297f28844
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Aug 27 20:52:52 2012 -0400

    util:plugin: modnames() should only list *.py or *.pyc files.

    By appending '.py' to *everything*, it was listing '__pycache__' for
    Python 3.

commit 3f29c1f8b3fac340aa7a4f0bf1abd3a0a241a61a
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Aug 27 14:05:35 2012 -0400

    gitignore: ignore autogenerated dist/.

commit d8cc5dc37bd45777d7e423f3ebcb17db95cbc062
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Aug 27 14:04:49 2012 -0400

    gitignore: ignore autogenerated doc/libbe/.

commit 0fa17f6bf6a809df14ae1930542059a9e62066b0
Author: W. Trevor King <wking@tremily.us>
Date:   Mon Aug 27 13:37:58 2012 -0400

    libbe:util:wsgi: extract WSGI utilities into a separate module.

commit c09b4d12195c9f2b69ace7369147881103bfe6f4
Author: W. Trevor King <wking@tremily.us>
Date:   Sun Aug 26 19:18:53 2012 -0400

    Convert my subscription email to tremily.

commit d9c7ff5ccf3faca00973c5b4ed32aac03f8faae5
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 10:13:45 2012 -0400

    command:serve_commands: remove duplicate cruft and get working unit tests.

commit cdc8049dd294d046813b18c759ee7f16ccf08746
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 10:08:33 2012 -0400

    command:serve: add ability to pass raw POST data with getURL.

    This is analagous to the earlier change to get_post_url:

      commit 0cd072b9710ee964e6f449abd9265d85e02f34d2
      Author: W. Trevor King <wking@tremily.us>
      Date:   Fri Aug 24 09:29:58 2012 -0400

        util:http: add ability to pass raw POST data with get_post_url.

commit 09a28055449f3b574710dfce9fb4524cd770e381
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 09:40:37 2012 -0400

    command:serve_commands: new command for running a command server.

    This is an initial step towards improving BE's efficiency.

    Previously, BE gets slow as the bug count increases for several
    commands (e.g. `be list`), because it takes time to load the bugdir
    information from disk at each invocation.  If you use a remote repo
    (`be --repo http://localhost:8000/ list`), the server process may have
    already loaded the repo from disk, but now your listing process has to
    fetch everything over the wire.  This is even worse than loading it
    from disk.

    With the new `be serve-commands` and `be --server URL ...` pair, the
    bugdir loading happens once on the server, and all the processing is
    also carried out on the server.  This means that calls like `be
    --server http://localhost:8000/ list` will scale much better than
    other methods.  For example:

      $ time be --server http://localhost:8000/ list > /dev/null

      real    0m2.234s
      user    0m0.548s
      sys     0m0.114s
      $ time be --server http://localhost:8000/ list > /dev/null

      real    0m0.730s
      user    0m0.548s
      sys     0m0.112s
      $ time be list > /dev/null

      real    0m2.453s
      user    0m2.289s
      sys     0m0.166s
      $ time be list > /dev/null

      real    0m2.521s
      user    0m2.350s
      sys     0m0.172s

    The first call to a cold server takes about the same time as a local
    call, because you need to load the bugs from the filesystem.  However,
    later calls to a warm server are 3x faster, while later local calls
    are still slow.

    This is currently a minimal working implementation.  There's a good
    deal of code in libbe.command.serve that I'd like to abstract out into
    a libbe.util library (since there's still a bunch of duplication
    between libbe.command.serve and libbe.command.serve_commands).  The
    remote calls are also not as fast as I'd like, likely due to library
    load times.  This commit just locks in an initial working
    implementation.

commit 4bf6e87c542c908121ffb7f8ebdd2f836a988899
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 09:38:13 2012 -0400

    command:base: only cleanup UseInterface.storage_callback if it's there.

    It's hard to see why it wouldn't be, but .setup_command handles the
    case where it's missing, so we should be consistent here.

commit 366fc9867645e46406d6a040eb14cabd8a8b45f4
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 09:35:40 2012 -0400

    command:base: use is/is-not None instead of ==/!= None in setup_command.

    More Pythonic.

commit 58b7129a23e15015262c6917a91ece749f66d7bb
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 09:33:14 2012 -0400

    command:serve: wrap server in ExceptionApp regardless of SSL.

    Previously, only the SSL server was using ExceptionApp.

commit 0cd072b9710ee964e6f449abd9265d85e02f34d2
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 09:29:58 2012 -0400

    util:http: add ability to pass raw POST data with get_post_url.

commit f0fe11190de73c153d7fb66734434ade4a21dbc2
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 08:07:46 2012 -0400

    util:http: convert urllib2.URLError into HTTPError in get_post_url.

    Also rework liburl2.HTTPError handling to get both the reason and the
    error code into the HTTPError message.

commit 3e8b3e08cd9cbb99b44376a91fcfbef42ee3888e
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 07:55:48 2012 -0400

    util:http: pull HTTP helpers from libbe.storage.http into their own module.

    This way they can be shared with the upcoming Command._run_remote.

commit caa79365295a4e7c1d46336ae0e1e839e865cfde
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 07:36:20 2012 -0400

    storage:http: use an explicit relative import for base.

commit 171378e7399e7ff2651e879a8a8f4108152a6acb
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 07:24:31 2012 -0400

    storage:http: adjust HTTPError message in get_post_url.

    We'll usually get this message if we fail to reach the server, but we
    can also get it if the server is so broken that it dies without
    returning a valid HTTP response.

commit eb9f603707d932641b8c580bde91ddb7d54741e0
Author: W. Trevor King <wking@tremily.us>
Date:   Fri Aug 24 07:22:39 2012 -0400

    storage:http: add agent argument to get_post_url.

    This allows us to set an appropriate user agent if we use this
    function in other places (e.g. upcoming Command._run_remote).

commit 6b04e1f5b80abcc1dffbce0466f34a182a468064
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Aug 23 17:26:36 2012 -0400

    command:serve: add SilentRequestHandler to avoid double-logging requests.

    They were being logged by the request handler, and then logged again
    by WSGI_Object.log_request.  After this patch, requests are only
    logged when logger.level is at a <= level (e.g. closer to DEBUG)
    than the WSGI_Object.log_level (usually INFO).  For example, in
    Serve_setup_logging,

      self.logger.setLevel(logging.INFO)

    will get request logs printed, but

      self.logger.setLevel(logging.WARNING)

    will not.

commit 831691bd9aa1ea4092f718fa5ce4da1ce96d06db
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Aug 23 13:35:58 2012 -0400

    libbe:util:plugin: cleanup recent zip/egg handling code.

    To test this, you'll need to build an egg.  You can use setuptools to
    do this, by applying:

    <snip-patch>

commit 71ec5a1d04094da7bce5f542978ed49bd302e178
Author: Niall Douglas (a [underscors] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Wed Feb 22 17:46:06 2012 +0000

    Cherrypick improved zipfile support from Niall Douglas.

    WTK: This is the meat of Niall's

      commit 4632cb6d22faa7220540f92af67693084f80f033
      Author: Niall Douglas ...
      Date:   Wed Feb 22 17:46:06 2012 +0000

        Fixed small bug where running from inside zip support was over
        preferring .pyc files

commit e55730c6b0737e3edb4ff407c12b34b5390ef4a1
Author: Niall Douglas (a [underscors] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Fri Feb 24 14:35:04 2012 -0500

    Cherrypick initial zipfile support from Niall Douglas.

    WTK: This is a portion of Niall's

      commit 7f7a7738bcbcfd06a026f2985c1823a4ba5eb55b
      Author: Niall Douglas ...
      Date:   Tue Feb 21 20:35:28 2012 +0000

        Several hacks to make BE compatible with bbfreeze and therefore
        compilable into a self contained directory

commit 4ee1b33812e3eb9f43406601245b8bc6aa2ed632
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Aug 23 10:38:14 2012 -0400

    storage:vcs:hg: remove grandchildren from Hg._vcs_listdir.

    This fixes:

      From: Phil Schumm
      Date: Thu, 23 Aug 2012 08:15:21 -0500
      Subject: [Be-devel] -be diff- under Hg

      ...
      I've just noticed that -be diff- seems to yield different output
      under Git than it does under Hg (e.g., in a Mercurial +repository,
      -be diff- appears to show all changes as new bugs rather than
      modified).
      ...

commit 89c608d8e3c5ac48b84057b30614ded4f0183c43
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Aug 23 10:35:43 2012 -0400

    storage:base: add tests to catch grandchildren in .children() output.

    With a tree like:

      a
      `-- b
          `-- c

    children(a) should return [b], not [b, c] or [c].  This catches a bug
    in the Mercurial backend.  Fix to follow.

commit 200c02b015b4bee355c71ae2c0563711c5a76863
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Aug 23 09:46:22 2012 -0400

    storage:vcs:hg: fix missformed file_a -> file_b message typo.

commit 1596ba1a6d20af95e96c55bb8c3db0754400a6b3
Author: Praveen Arimbrathodiyil <pravi.a@gmail.com>
Date:   Wed Jul 25 18:37:37 2012 +0530

    Reported wishlist for gitorious integration

commit f174d8943c2edea25306ab522c27f69bbebd0be3
Author: W. Trevor King <wking@tremily.us>
Date:   Thu May 10 08:56:02 2012 -0400

    Update CherryPy dependency package to python-cherrypy3 on Debian.

    Thanks to Tim Mazid for reporting the bug, and Israel Basurto for
    suggesting the fix.

    On Wed, May 09, 2012 at 07:26:14PM +1000, Tim Mazid wrote:
    > $ interfaces/web/cfbe.py ~/projects/proj/
    > Bugs Everywhere Directory v1.4
    > Traceback (most recent call last):
    >   File "interfaces/web/cfbe.py", line 42, in <module>
    >     cherrypy.quickstart(WebInterface, '/', app_config)
    > AttributeError: 'module' object has no attribute 'quickstart'
    >
    > This is with the latest be from git, and python-cherrypy 2.3.0-3 from
    > Debian wheezy.

commit 0b3126bb8aad58127a66b9e6b9c9bc6128c0828b
Author: W. Trevor King <wking@tremily.us>
Date:   Thu Apr 26 20:08:47 2012 -0400

    Fix deb-python -> dev-python typo in doc/install.txt.

commit 7f4701d7c567471eb60132b3bb2f783cf7550d15
Author: W. Trevor King <wking@tremily.us>
Date:   Wed Apr 18 12:59:19 2012 -0400

    Change my email address from drexel.edu to tremily.us.

commit 28bb8d4c358eefa9dd4df7fdb72c6882da7d68d0
Author: Markus Vock <ruppi04@web.de>
Date:   Sat Mar 31 14:44:35 2012 +0200

    Added installation information; changed ‘svn command’ string to ‘be command’.

commit 8991a2219e5245aa053051bcf8c0e159d411e02a
Author: Markus Vock <ruppi04@web.de>
Date:   Thu Mar 29 11:41:48 2012 +0200

    Added _be, a file for the zsh completion system (see zshcompsys(1)). Copy to, e. g. /usr/local/share/zsh/site-functions.

commit 16e0011d7a485355e3221d5d573f0de44c0cd5f9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Mar 25 11:43:33 2012 -0400

    Normalize whitespace in interfaces/web/webpy.

commit c0ba86ac1cd369983bbdb7ae8fad6c5dca68c9cb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Mar 25 11:40:04 2012 -0400

    Normalize whitespace in interfaces/web/templates/base.html.

commit 89b03d84bca6b65cf9afed3c5e2f614c23294a57
Author: Israel Basurto <ibasurto@gmail.com>
Date:   Sat Mar 24 13:22:11 2012 +0100

    Add tag filter on the web interface

commit 9425f381b58d878194e7d19629192ecb6bd948c8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Mar 3 11:22:08 2012 -0500

    Apply Niall's earlier fix for comment XML loading to bug XML loading.

    Sometimes saxutils returns unicode.

commit 2ba27b00384c55ec7fe29e09ce2d2c3e8eeb0977
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Mar 3 11:19:43 2012 -0500

    Make ID expansion less strict for comment text.

    This avoids errors if the comment text references a repository that
    you don't have locally.

commit 187bface721aec16800e612cc292c1fec4ee966b
Author: Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Sat Mar 3 10:59:43 2012 -0500

    Fix `be import_xml` bugs.

commit a583b395494c86460fbddbd81a2eb37afe05135c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Mar 3 10:49:03 2012 -0500

    Make the full UUIDs optional for `new` and `comment`.

    This makes the default output less threatening for new users, while
    still supplying the full UUIDs for driving BE from external software.

commit 99f328d8937a173ca4e4f2bb7c46561c675d2d24
Author: Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Fri Mar 2 07:28:34 2012 -0500

    Print full UUIDs during `new` and `comment`.

commit 323da0a602bb689eecd6137dc3c676b3360a92b9
Author: Niall Douglas (s [underscore] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Mon Feb 20 15:34:59 2012 +0000

    Added BE_INPUT_ENCODING and BE_OUTPUT_ENCODING to allow charset for stdin and stdout to be overridden. This is necessary on Windows as there is no way for external programs to set stdin or stdout charsets :(

commit fa74991f0ea2d20fd8344242bf29ffc929880502
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 16:12:26 2012 -0500

    Oops, forgot to bump the version and date when tweaking the man page.

commit 7b3959e5844ea5434e19f0bbbbe171fdabb87264
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 16:08:30 2012 -0500

    Use a bare URL for the link from the man page to online docs.

    This will make it easier (possible?) for people using the roff version
    of the man page to follow the link.

commit 783dbfae37ae321d8669fe26a5aa0db7f7f06160
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 16:04:51 2012 -0500

    Use $ instead of % for the prompt in the man page bug submission example.

commit c767e14bc0a2bc36c852ba1e2639525ec274cd35
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 15:47:58 2012 -0500

    I changed my mind and fixed #/03d07e61#.

commit 1ccb0019b16b064dfde1e320b7921c82e8409f5b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 15:05:04 2012 -0500

    Keep stdin (file descriptor 0) open in the pager's child process.

    This fixes the underlying problem that we worked around in commit
    2c9ae15f53aef57d28091b237c193c653c6e80dd.  Now even

      $ echo 'some bug | be --paginate new -

    will work instead of raising IOError: [Errno 9] Bad file descriptor.

commit 2c9ae15f53aef57d28091b237c193c653c6e80dd
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 12:53:17 2012 -0500

    Add `new` to list of commands that should not default to using the pager.

    If the command is run in the pager, access to stdin is tricky, so I
    avoid it by default.  I'd just missed the fact that `new -` used
    stdin, which caused

      https://bugzilla.redhat.com/show_bug.cgi?id=751473

      $ be new -
      Traceback (most recent call last):
        ...
        File "/usr/lib/python2.7/site-packages/libbe/command/new.py", line 89, in _run
          summary = self.stdin.readline()
        ...
        File "/usr/lib64/python2.7/codecs.py", line 473, in read
          newdata = self.stream.read(size)
      IOError: [Errno 9] Bad file descriptor

commit 17a470e5672d2f4ec2fc6d757a52612c21753ee8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 12:04:01 2012 -0500

    Hide the traceback on InvalidURL errors.

    In response to

      https://bugzilla.redhat.com/show_bug.cgi?id=733945

    in which Neal Becker was bummed at the long traceback, which may
    initially look like a programming issue.

commit f1ae4b7f3fea6fb78a54ee5073aee648a3d73179
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 11:16:01 2012 -0500

    Remove util.subproc.Pipe, as we no longer use it in BE.

    This was at one point used by `update_copyright.py`.  Now that that is
    an external package (and doesn't use `Pipe` anymore either), we can
    safely remove this code.

    As a side benifit, the Pipe doctests will no longer be there to fail
    on OS X and other systems sufficiently different from my development
    box.

commit 835744a493f95aa55dab0acb730a18c62e394cf8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 25 10:43:09 2012 -0500

    Add CherryPy dependency and minimal install info to doc/install.txt.

    I seem to have left CherryPy out of the earlier list.

    The extra handholding for minimal installations is an attempt to
    address problems people have had installing BE on non-Linux systems,
    where the standard build tools are less common.

    I also mention my Gentoo overlay and Michel Alexandre Salim's Fedora
    package, so people running Gentoo and Fedora don't have to bother
    figuring any of this out ;).

    Finally, I moved the package information up to the top of the install
    page, so people on supported systems realize they have an easy out
    before reading through the install procedure.

commit c6c42d0b1be2e22ce09163cd5533db8821455337
Author: Niall Douglas (a [underscors] sourceforge {at} nedprod [dot] com) <spam@spamtrap.com>
Date:   Fri Feb 24 14:35:04 2012 -0500

    Cherrypick a better version string for setup.py from Niall Douglas.

    WTK: This is a small part of Niall's

      commit 7f7a7738bcbcfd06a026f2985c1823a4ba5eb55b
      Author: Niall Douglas ...
      Date:   Tue Feb 21 20:35:28 2012 +0000

        Several hacks to make BE compatible with bbfreeze and therefore
        compilable into a self contained directory

    I cleaned up his string construction, which was originally

      version.version()+" ("+rev_date+")"

commit b2b120d0adbb9522509e366c37b7f8c983858f54
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Feb 24 14:25:21 2012 -0500

    Avoid generating another StringIO instance in StringInputOutput.get_stdout().

commit 9a56363ccfff67a4d571042c18aae6a0e1b81bfc
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Feb 17 15:02:57 2012 -0500

    Shuffle doc/conf.py to get the Git revision into the Sphinx documentation.

commit 940470a5469c24ad3e724621d8c92ee9cc44e6bf
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 17:05:19 2012 -0500

    Update update-copyright to version 0.3.

commit 21286ccdbbf4c8853545392df087244fc8510293
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 16:15:24 2012 -0500

    Add update-copyright as a submodule and update release.py accordingly.

    Also add `**kwargs` to `invoke` so we can specify the environment.

commit 0d3d9a3780a27f1c80833638ad0622bf4e67023d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 11:57:31 2012 -0500

    Fix release.py to allow uncommented initial _VERSION.

    I was in favor of always leaving _VERSION commented in the trunk,
    since released branches should fork off the trunk:

      trunkA -> trunkB -> trunkC -> trunkD
       `-> 1.0.0           `-> 1.1.0
            `-> 1.0.1           `-> 1.1.1

    But that doesn't seem to have been how things have worked out in BE.
    In any case, you will need to release on top of a previous release
    (e.g. 1.0.1 on top of 1.0.0 in my above example), so we cannot depend
    on an initial comment character before _VERSION.

commit 89dc85d66b1ce98705206b6e492dc6302f843b97
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 11:50:23 2012 -0500

    Modify release.py for external update-copyright.py.

commit 3125bd2495e8b603dfea39d6ae383b8ae7ce8b12
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 11:45:25 2012 -0500

    Ran update-copyright.py.

commit b2481b25cb1805d4073714196b89763230b59548
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 11:44:27 2012 -0500

    Transition to my external update-copyright package.

    http://pypi.python.org/pypi/update-copyright/

commit 25a961f9aa6bb03765ea6460e300629bab33ab4d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 16 11:41:55 2012 -0500

    Add .mailmap, mapping Git committers and authors to canonical names.

commit df1d1a41a9f92ee0554ff7eaf65e73e57efcd1ab
Author: Matěj Cepl <mcepl@redhat.com>
Date:   Mon Jan 2 15:57:56 2012 -0500

    Generated libbe/_version.py was not UTF-8 aware.

    So make failed for me (Matěj Cepl).

    Signed-off-by: Matěj Cepl <mcepl@redhat.com>

commit 12bd62528d24670e7774cc834e61ba1640ed6136
Author: Matěj Cepl <mcepl@redhat.com>
Date:   Mon Jan 2 16:14:35 2012 +0100

    Fix .gitignore

    Per gitignore(5) it seems to me that directories in the root of the
    repository should be ignored without leading ./ files. E.g.

    build/

    is correct for ignoring build/ directory and its content.

    Signed-off-by: Matěj Cepl <mcepl@redhat.com>

commit b1527580ece00959b9e9d90e8f0f7dd1bce0342a
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Jan 2 15:43:13 2012 -0500

    Fix up broken merge commit.

commit 6f2d652b2697d7aec6bb48a2bf4d6fff1ef03521
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 13 21:06:43 2011 -0500

    Fix my busted 1512c0e2a64e patch to libbe/util/encoding.py.

    Some temporary changes to encoding.py seem to have been added to
      commit 1512c0e2a64e19c8d4e5697257a4df5ddd8bc727
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Tue Nov 8 07:14:43 2011 -0500
    by accident.

    The initial change came from discussions with Niall Douglas, during
    which I realized that "filesystem encoding" ususally means the
    encoding for the *path*, not the *contents*.  To avoid further
    confusion I'd renamed `get_filesystem_encoding` to the less ambiguous
    `get_text_file_encoding`.  This commit should complete the transition.

commit 567c3151cab38140eb40eb2b0a08ba0c2ac6ec89
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 9 06:54:43 2011 -0500

    Ran update_copyright.py.

commit f77935d6206fb092bf31ddd0f12d2deefa660bf8
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 8 07:20:44 2011 -0500

    Mention `~/.local/bin/` when using default `--user` install.

commit 1512c0e2a64e19c8d4e5697257a4df5ddd8bc727
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 8 07:14:43 2011 -0500

    Correct doc/install.txt to refer to INSTALL_OPTIONS instead of PREFIX.

    This catches the docs up with the changes made in:
      commit a7ad89a6ad7da55089e6f9a4cdd645b7079ee04e
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Sat Apr 16 21:26:02 2011 -0400

commit 231dc0a3570f74f63b538544bdc805b71f5f6af0
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Sep 8 16:10:02 2011 -0400

    Add the BE_ENCODING environmental variable to override the default encoding.

commit bcd7ba792889ab804e8c312535afdfd17474b10f
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Sep 8 16:03:09 2011 -0400

    Adjust encoding detection (using sys.getfilesystemencoding for file contents).

commit acef411a2c4c98aba73f894b361c2eb5f2d7606f
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 23:42:25 2011 -0400

    Won't fix #/03d07e61# (bad permission crash).

commit e7da79e665798ddd411ab89134ec8c6cf9ff0e58
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 23:24:18 2011 -0400

    Fixed #/bc1e6ff4# (extra argument crash).

commit 86a140aaf4b799ee78864c7a520ba9fde9fb3382
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 23:20:54 2011 -0400

    Oops, that forgot the equals part of Mercurial 1.9 or greater.

commit 7d207f7c040db85da48ce3930663cfa10aa88864
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 22:54:00 2011 -0400

    Adjust Mercurial execution so it works with version 1.9 and earlier.

    This makes the changes for 1.9 brought in by
      bb645f8e489b9f50cd0aec7237ec9adb721797a8
    optional.  If the Mercurial version is 1.9 or greater, the new code is
    used.  Otherwise, the old code is used.

commit d5e6385f6fa162a4f41219d4f523cc27446defcd
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 22:47:14 2011 -0400

    Move Bzr.version_cmp to VCS.version_cmp.

    The version comparison code will be useful for all VCSs.

commit 692c0095a83a5efac508b844f416252fe1856089
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 22:26:37 2011 -0400

    Add Jinja to the dependency documentation.

commit b479cd6b717053c3fe119012e491e0ef447cb46a
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 7 22:09:00 2011 -0400

    Remove redundant re import from previous bzr version_cmp patch.

commit a37004c5e4b80a775cbb43e2f25b3376ae1673c0
Author: Michel Alexandre Salim <salimma@fedoraproject.org>
Date:   Thu Aug 4 17:50:32 2011 +0200

    Enhance Bzr.version_cmp to handle non-numeric versions

    bzr uses non-numeric tags to indicate prereleases; previously, this
    triggers an exception in be's Bzr module as version comparison is only
    supported between version strings that only contain numbers and dots.

    This patch extends version_cmp to support a single non-numeric
    pre-release string of arbitrary length (e.g. 'a', 'b', 'pre', 'rc'), and
    extends the docstring tests to cover this extension.

    Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>

commit 3f365422e59403e08a96768c21d09190a7aea2a9
Author: Phil Schumm <philschumm@gmail.com>
Date:   Sat Jul 30 12:00:53 2011 -0500

    Minor fix to doctest for command.base.get_command(); failure introduced by change to command.base.UnknownCommand in commit 0d5c9c68e947617c9d073d5f19351bdd8f3866db

commit 4889440b63b62e99366bb119fc63e2d960e51883
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 30 11:46:27 2011 -0400

    Add ImportError to UnknownCommand output in get_command doctest.

    This catches the test result up after:

      Commit: 0d5c9c68e947617c9d073d5f19351bdd8f3866db
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Wed May 25 10:30:19 2011 -0400

        Attach ImportError message to UnknownCommand to aid debugging.

commit eb40d407a056f0ac38896196dee6dbb543df424e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 30 11:43:30 2011 -0400

    bugseverywhere.org has changed URL handling, so use different URLs for HTTP testing.

commit bb645f8e489b9f50cd0aec7237ec9adb721797a8
Author: Phil Schumm <philschumm@gmail.com>
Date:   Thu Jul 28 07:42:11 2011 -0500

    Fixed problem with Hg support under version 1.9 (mercurial.dispatch.dispatch() now takes a single request object with option for capturing output stream)

commit f542ac35d76b24a0ee6847439ded8d28388ee58c
Author: Tanguy LE CARROUR <tanguy.lecarrour@gmail.com>
Date:   Mon Jun 6 20:48:57 2011 +0200

    Report bug: crash on permission problems

commit 28de2467442d79a8bfe9d5bdf615b61c3032b8a2
Author: Tanguy LE CARROUR <tanguy.lecarrour@gmail.com>
Date:   Mon Jun 6 20:07:34 2011 +0200

    Report bug in arguments processing

commit bf52e18aad6e0e8effcadc6b90dfedf4d15b1859
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 10:39:51 2011 -0400

    Raise UserError if summary is not given to `be commit`.

    If the user doesn't provide the summary on the command line, through
    stdin, or through editor_string, raise an error.  This will generally
    happen with

      $ be commit
      (user doesn't enter any text in the editory)

commit 0d5c9c68e947617c9d073d5f19351bdd8f3866db
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 10:30:19 2011 -0400

    Attach ImportError message to UnknownCommand to aid debugging.

commit ad098c3d1bef935350cee87eb585ba7597293b0a
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 08:54:53 2011 -0400

    Add 'Power features' page to the docs.

commit 2426c5f118b7e9c6f58e800da459554499b2950e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 08:37:03 2011 -0400

    Rework summary handling in `be commit`.

    Now you can run `be commit` with no options and have the summary split
    off the body automatically.  This should be more familiar to most VCS
    users.

commit 17fc2c4dbb59385ed1bf77eab10f1237b1de9871
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 06:52:09 2011 -0400

    Run update_copyright.py.

commit b039ea6ef3f39b808f55405a3b6e06d88323dd6e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 25 06:46:26 2011 -0400

    Move Tim Guirgies' help for status/severity overrides to .

commit d93b6b2d9f3dbd3eb69ea1e3cae9d44c5650a4c2
Author: Tim Guirgies <lt.infiltrator@gmail.com>
Date:   Wed May 25 02:15:13 2011 +1000

    Remove "be set" reference in favour of actual help

    Because "be set severity blah" does not actually work, referring users
    there to set custom severity levels is just cruel (I spent a half hour
    trying to figure out what I was doing wrong). Thus, it is much easier
    to, at least for now, state in the help message what they must do in
    order to get custom severities and statuses.

commit 9fd2e8ffbcf2b0ffb4b39e03609197cb95a7c6cd
Author: Tim Guirgies <lt.infiltrator@gmail.com>
Date:   Wed May 25 02:15:12 2011 +1000

    Teach be status --help to load per tree config

    Again, there is discrepancy between severity.py and status.py. I thought
    this feature was extremely useful in severity.py and it should be put
    into status.py too.

commit 287f32bc7f034045454bff1b246aba769eda9e9a
Author: Tim Guirgies <lt.infiltrator@gmail.com>
Date:   Wed May 25 02:15:11 2011 +1000

    Restructure severity help function to match status

    The code structure was vastly different in severity.py to status.py, so
    I mostly copied the structure from there and adjusted it to suit
    severity.

    The structure in status.py looked (to me) cleaner, more organised, and
    easier to work with.

    Also, users are now referred by "be severity --help" to "be set --help",
    in a manner similar to "be status --help".
    For those that don't know that severity can be adjusted on a per
    repository basis, this seems extremely helpful. A similar message
    appears for status, but not here.

commit c5d08a943af56afb4ce1f9ae114bfb756acd0e95
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 16:21:09 2011 -0400

    Use open() instead of file() in CachedPathID doctests (2to3 compatability).

commit c56922285530fb95768998bffef176bad53d1d26
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 16:19:41 2011 -0400

    Remove form feeds (for compatibility with 2to3).

commit 538c14cbae7a595539358d934fba6f014422d27e
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 14:36:34 2011 -0400

    Convert tabs to spaces in a libbe.bug indention.

commit 571dfd378b59da55d9164185af478878137f2fa2
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 13:22:55 2011 -0400

    Update libbe.util.id other_uuids documentation (may contain uuid).

commit ef9efac025ff5f31d5e2c2b7fa5331fd52bf80eb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 09:44:55 2011 -0400

    Mention Stats.print_callees() in doc/hacking.txt.

commit 34ab6bac16d20365d24886fc6b3c3b1b9e23f5ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 09:40:23 2011 -0400

    Mention Stats.print_callers() in doc/hacking.txt.

commit 4920a709bc172ca65cf0f618226c3c2758697528
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 09:23:14 2011 -0400

    Make BugDir._uuids_cache a set.

    For `be list` on a bugdir with 4096 open bugs, this reduced the
    cumulative time spend in 8194 calls to BugDir.uuids() from 41 seconds
    to 33 seconds.

    Of the 33 cumulative seconds, 24 were spend in uuids() itself (and not
    in child functions), which is probably from the list comprehension
    extracting in-memory Bug uuids.  With fancier accounting, you could
    probably trust _uuids_cache to already contain all the in-memory
    uuids and dispense with the union altogether.

commit b3a21311f816a6f5ac91c1d7b94868e42ad42c1c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu May 12 08:41:25 2011 -0400

    Cache Bug.time by hand to avoid lots of redundant calls to str_to_time.

commit 463e44ac93834de237d71ffb1fdd490a649b59aa
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 11 17:57:24 2011 -0400

    Fix links to libbe.util.id from doc/tutorial.txt.

commit 51d7cc3725131e247e9ac207b7dbb4cc2bcd5123
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 11 13:24:50 2011 -0400

    Fix test_log_request (broken by commit 36699d82).

commit ca673aa9d854375c7a8aea64f1238611ac48ac84
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon May 2 18:09:58 2011 -0400

    Add extra strings to Bug.string() output.

commit 1fcb1dd9114fba59a5d75570b9acc3b87d575821
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon May 2 17:48:18 2011 -0400

    Revive the UserError/UsageError distinction

    UsageError was removed back in

      commit bf3d434b244c57556bec979acbc658c30eb58221
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Sat Dec 12 00:31:55 2009 -0500

          Added libbe.command.base (with Command class)...

    because the distinction between UsageError and UserError was unclear.
    I've brought it back to satisfy a request by Christian Heinrich:

    On Sun, May 01, 2011 at 02:52:13AM +0200, Christian Heinrich wrote:
    > 3.) Using wrong syntax should receive better help messages.
    >
    > Current:
    >
    > "be new" -> ERROR:
    > Missing required argument SUMMARY
    >
    > Should be:
    >
    > "be new" -> usage: be new [options] SUMMARY
    > ...

    He suggested we print the full option list as well, but I've decided
    to just print the usage summary and remind the user how to get the
    full help message if they want it.

commit 741abdd7453d400049a089c22686af9000a91db5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun May 1 22:02:57 2011 -0400

    Add summary line to the Serve command.

    Thanks to Christian Heinrich for pointing this out.

commit 9058fb2685f8b9b001908829d7edcbad2b7e58dd
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Apr 17 03:17:00 2011 -0400

    "X or ''|e" -> "(X or '')|e" for proper escaping.

commit 72d9a417c3bdc1c631889ba08c378d75c52d099b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Apr 17 02:49:21 2011 -0400

    Correct <tdata> -> <tbody> typo in `be html` templates.

commit 33439853e5148ccf43b35bd51acdeb599f3e2d5f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Apr 17 02:47:43 2011 -0400

    Ensure comment div ids start with a letter (per validator.w3.org).

commit 23c368d14d8c2449f360daef7ae497ffe95e5a7f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Apr 17 02:46:25 2011 -0400

    Correct <tbody> -> </tbody> typo in `be html` templates.

commit 5b6be7a511670cdf1961d13040cddcb34e70b8a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Apr 17 02:41:07 2011 -0400

    Rework `be html` to use Jinja2 templates.

commit cfb2dda40aeb55f571e5dcdae7722520bc95a547
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 22:06:48 2011 -0400

    `be serve --notify` is a partial solution to /5fb (storage change hooks).

commit dee6c53adad0be50bbe1c812f134392ae80bd3f1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 22:02:38 2011 -0400

    Revert 54801289, which makes it impossible to save new bugs/comments.

commit a7ad89a6ad7da55089e6f9a4cdd645b7079ee04e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 21:26:02 2011 -0400

    Fix /64c by installing with `--user` by default (vs. --prefix=${HOME}).

    This way users don't need to mess with PYTHONPATH.  They'll still need
    to tweak PATH so they can find the be entry script.

commit 54890dcdeb3d81c2674bf4429f968852b361f949
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 21:24:18 2011 -0400

    Remove old exception types from libbe.bug and libbe.comment.

commit 54801289d1c29a57571c3630a438f811370d74cd
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 21:01:53 2011 -0400

    Raise exceptions if bug or comment value files are missing.

    This happens most often when a previous crash leaves an empty
    directory `abc` in .be/.../bugs/abc/ or
    .be/.../bugs/.../comments/abc/.  The new exception ensures the error
    message is "Bug/Comment X missing value file" which tells you where to
    look for the repository corruption not "summary is None" which told
    you nothing.

commit 933257520d63aac7ab4112fd915206d389fc42a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 19:27:50 2011 -0400

    Raise an exception for unrecognized errors in send_pgp_mime.

commit 35db0a3685d04bca521abe8581a0e95c09ce401a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 17:20:29 2011 -0400

    Temporarily disable writing in `be new` to avoid repeated updates.

commit 36699d8265073403f17afb4294b4dba07f52e88b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 17:08:35 2011 -0400

    Add --notify to `be serve`.

commit 7cb2e5dceb0f459b16f16044e4ae2f5de3c2675e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 15:53:41 2011 -0400

    Fix typo libbe.storage.serve -> libbe.command.serve in libbe.storage.http comments.

commit be879018ab893f1b6bf3450e6d92efc9088125c2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 15:27:49 2011 -0400

    Add version releases to NEWS.

commit 8442cc05407743cea5b1bfa9faef1f5fd7aa2c3b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 15:25:41 2011 -0400

    Update NEWS, mentioning recent command options for new and import-xml.

commit af99705c6e97544038209def209941d5a745c115
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 15:19:31 2011 -0400

    Add --preserve-uuids to `be import-xml`.

commit d3aded78a005078ac175b2664eda592c31341761
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 15:17:33 2011 -0400

    Import ElementTree in libbe.util.utility for InvalidXML.

commit 3ac9d8c6013a8d959c98bbfe373491dc84ecc925
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 14:05:48 2011 -0400

    Mark /4bc as fixed.

commit c43027fb92afb5cdd543ee3da73860091eb061f2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 14:04:50 2011 -0400

    Import bea/5a1 from http://bugs.bugseverywhere.org/ as bea/4bc.

commit 086fe04efe7c91949e5a20a10839ee11477b40ec
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 13:59:37 2011 -0400

    Import /bea/c3f from http://bugs.bugseverywhere.org/ as /bea/64c.

commit e93f585517d3e41ca84454a074323c1b49b9041a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 13:56:43 2011 -0400

    Mark /35a as fixed.

commit bdf54c37fc9c750901aeb9ff72dca60da446cfd2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 13:55:09 2011 -0400

    Import /bea/b39 from http://bugs.bugseverywhere.org/ as /bea/35a.

commit 952a9472a66123ad7eccfa02ee5c76c11442ed0c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 13:37:17 2011 -0400

    Centralize assigned processing in parse_assigned & add assigned test to New.

commit 6c0e1f3d3b3a9f56297cb721daa7431222d5ef25
Author: Valtteri Kokkoniemi <rvk@iki.fi>
Date:   Sat Apr 16 13:20:00 2011 -0400

    Fix bd->bugdir typo in import_xml.

commit 6772ae4d0de720c79686e4107c67eeb72f62bbb5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Apr 16 13:17:45 2011 -0400

    Fix doctest after Valtteri's import-xml patch.

commit 1b5fadebf63f5c3914467084bad94dbdd02cf832
Author: Valtteri Kokkoniemi <rvk@iki.fi>
Date:   Sat Apr 16 13:16:10 2011 -0400

    fixed created tag handling in import-xml

commit f0825c800c185338fecbf38d5b90b634a5cda015
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Apr 15 19:07:14 2011 -0400

    Cleanup libbe.util.subproc.Pipe docstring.

commit 8c0c5d1255319e5766d6e1b404b4a0c4dfb6c1f3
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Apr 14 20:53:04 2011 -0400

    get_fallback_fullname falls back to get_fallback_username if no interesting fullname is set.

commit e788c9c78dff307cf50c86e5ffa8dc92f1734302
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Apr 14 20:47:27 2011 -0400

    get_output_encoding falls back to get_encoding if sys.__stdout__ is redirected.

commit b09cfb0cfecfb683e33490908b5ec59bed530938
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Apr 14 20:44:02 2011 -0400

    get_fallback_email() now uses the EMAIL environmental variable (if set).

    This patch is based on Julien Muchembled's suggestions, which are in
    turn based on the related Git code in git.git/ident.c.

commit 28b2fb89784f7a1f2dd61a4d157f6c511c5587fe
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Apr 14 14:13:36 2011 -0400

    Add libbe.ui.util.user.get_fallback_fullname() and use pwd when possible.

    This patch is based on Julien Muchembled's pwd suggestions.

commit 44cbfdc1e8e9c6c7fb115c7ea101e2532d58e436
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Apr 8 14:21:45 2011 -0400

    Fix command-line encoding processing.

    String command-line options are converted to unicode using the input
    encoding.

    We use the fact that Python sets up the original sys.stdout to
    determine the terminal encoding.

    This should fix Anders Sneckenborg's issues with Swedish characters:

      C:\temp\slask4>be new "Svenska tecken åäö"
      Created bug with ID 6be/5c3

      C:\temp\slask4>
      C:\temp\slask4>
      C:\temp\slask4>be list
      ERROR:
      'ascii' codec can't decode byte 0xe5 in position 15: ordinal not in
      range(128)
      You should set a locale that supports unicode, e.g.
        export LANG=en_US.utf8
      See http://docs.python.org/library/locale.html for details

commit be713557650c789b31a7d9a7525ea5a4e37f26d8
Author: Andrew Cooper <andrew.cooper@hkcreations.org>
Date:   Tue Mar 29 13:52:52 2011 -0500

    Add support for 'none' and '-' with --assigned like in `be assign`

commit 722cc27b216b20a0071d445a414d72d88aed040a
Author: Andrew Cooper <andrew.cooper@hkcreations.org>
Date:   Tue Mar 29 13:52:25 2011 -0500

    Add options --status and --severity to `be new`

commit 79c84af65d250b5a372693ac835f0730ca18edf3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Mar 5 20:26:02 2011 -0500

    Closed /773 (1.0) since we've made a 1.0.0 release.

commit 1e0967ab82d8541413e1dfe4d2e78f1008aa9c5b
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Feb 24 17:34:40 2011 -0500

    Work around bzr filelocking issue on Windows.

commit 6eeb62d99a40f8644ac0840ac1291ef92b3d836f
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Feb 23 21:56:59 2011 -0500

    Fix `IDs` and `Mercurial guide` links in docs.

commit 893bbc21bdac3a5f25c17e547df8adab00dbd670
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 22 21:02:11 2011 -0500

    Local imports and better missing-client detection in client-based VCS classes.

commit 2e32d6fc84d3b211b57a8c39a47b28b991b3ea32
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 22 20:59:53 2011 -0500

    Remove `--complete` from command-line completion unit test.

    This should have been done alongside:

    commit b64851e3eb706b7b57503a0a605e0984e443747c
    Author: Robert Lehmann <mail@robertlehmann.de>
    Date:   Fri Nov 26 08:34:35 2010 +0100

        Exclude --complete from completion.

commit b1ba65415fc74e8bd25ed1f4cf0370e213f4c20d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 22 18:54:57 2011 -0500

    Correct version for recent bzrlib fix.

    Rather than guessing from the output of `bzr tags`, I actually looked
    in the realease notes and tracked the removal of run_direct() to
    2.2b2, which is confirmed by the r5146 patch itself:

    bzr.dev $ ./bzr log -p -n 0 -r 5146 | grep -1 deprec
    +
    +    @deprecated_method(deprecated_in((2, 2, 0)))
         def run_direct(self, *args, **kwargs):
    --
        +
        +    @deprecated_method(deprecated_in((2, 2, 0)))
             def run_direct(self, *args, **kwargs):

commit 0d9ec7c727ff624ee1905831e806cab8c9e65537
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 22 15:38:03 2011 -0500

    Don't call cmd.cleanup_now() for recent Bazaar versions.

    Bug reported by Michael Chaffin:

    > C:\XXX\ZZZ>be init
    > Traceback (most recent call last):
    >   ...
    > AttributeError: 'cmd_root' object has no attribute '_operation'

    Due to changes in bzrlib:

    revno: 5146 [merge]
    committer: Canonical.com Patch Queue Manager <pqm@pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2010-04-12 04:09:46 +0100

    So for versions of bzr since then, we don't have to worry about
    calling cleanup_now() anymore.

commit 791da71e5c0d2a42eb6efe5c3a2d030b3bde4cfb
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Feb 22 10:07:02 2011 -0500

    Remove commented code from html.py

commit 0b0359632461e45fcda1510d2562d6c17eedc45b
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Jan 25 00:07:12 2011 +0100

    Left aligned the table cells

commit d61d54ce33022f0613c5e19e2f52be4ab77c4664
Author: Gianluca Montecchi <gian@grys.it>
Date:   Mon Jan 24 22:47:32 2011 +0100

    New html output for html command

commit a0ad744604dc622d97095e04457ba00b3bc1561a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 10 22:43:50 2011 -0500

    Numpydoc is distributed in Gentoo's science overlay.

commit a0a4dd65b4d796281077da91eec988ce3ee0e1f7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 10 22:35:23 2011 -0500

    Update link to Numpy docstring guidelines.

commit 2aeaa4e265deb093a5e37c5973deb8d932974491
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 10 22:30:11 2011 -0500

    Use Docutils' rst2doc instead of DocBook XML to generate man page.

commit 0b33ffd2515cbc5d7f5998839338b84b72660386
Author: Chris Ball <cjb@laptop.org>
Date:   Sat Jan 8 20:40:32 2011 -0500

    Bumped to version 1.0.0

commit 49896ffd2bf821150cfdfcc2a0e8c26c1fb2defe
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 10:54:07 2010 -0500

    Fix unittest for `be show` after 22dd202ff4c0a1893f6e9f4d2b6aa1d4da3bf728.

commit ab090d8929f7019aa68876fd825766f472fd9138
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 10:43:49 2010 -0500

    Make libbe.storage.vcs.darcs.Darcs._vcs_listdir() more robust.

    The old version returned [] (for Darcs 2.5) on
      darcs show files --no-files --patch 'Initial commit' .be
    (called in `be diff` for `test_usage.sh darcs`), because darcs
    returned the paths prefixed with './' (e.g. `./.be`, not `.be`).  By
    calculating relative paths and using the relative paths to determine
    which files belong to the directory, we can handle both prefixed and
    plain paths.

commit ef0a5537747a2e5a0b2248018e981f80ae0b0f9f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 10:12:57 2010 -0500

    Run cmd.cleanup_now() after executing bzr commands.

    Otherwise
      be remove ...

    blocks if it needs to remove multiple files, since
    bzrlib.builtins.cmd_remove needs write locks, and the second remove
    will try to aquire the lock that the first aquire hadn't released.  If
    we force the release, the lock will be available for the second (and
    later) removal.

    It's not a problem to call cleanup_now() too often, because calling it
    clears the cleanup command stack, so I just added explicit cleanups
    after every bzr .run() call.

commit 22dd202ff4c0a1893f6e9f4d2b6aa1d4da3bf728
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 08:54:25 2010 -0500

    Adjust `be show --xml` since changes to version_info after Bzr->Git migration.

commit b949962d938e3338288d1c06a1ae26b71c213ffe
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 08:28:02 2010 -0500

    Update release.py to generate .be/id-cache and remove update_copyright.py.

    The log output from generating .be/id-cache might confuse new BE
    users, so we should distribute the bug repo with a pre-built cache.

    update_copyright.py isn't much use without the Git repo from which it
    extracts authorship info, so we'll have a cleaner release tarball
    without it.

commit 362876d600e41aaa6bdc112c0bb9bbccedef754f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 6 07:51:07 2010 -0500

    Cleanup linking from doc/tutorial.txt to email and HTTP docs.

commit 73c9f3ebbf945a8a5c1eb398dff1324ffb47ae43
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 12:56:43 2010 +0100

    Respected all sorting criteria, not only the last.

commit 7414bf640d6ff51a1a6b8acf3bae9f330736cb43
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 09:49:46 2010 +0100

    Change status on assignment of open bugs.

    After a bug has been assigned from status `open' it is no longer
    eligible for that status as described:

        A working bug that has not been assigned to a developer.

commit 7729c7f383817599fa3fe75f01addd8afb49a984
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 09:48:43 2010 +0100

    Add `mine' sorting criteria showing bugs assigned to yourself first.

commit 5d8e5bf31fa4035d8c45300244432de7d772832e
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 09:47:46 2010 +0100

    Safeguard List._sort_bugs from accumulating values in its default parameters.

commit 3803b501a79071187324d75efdf1ea9e3437347f
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 09:46:52 2010 +0100

    Use a clean getattr() instead of eval().

commit 7c4eed14652c014f20d78fae6824cfcc84198534
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 08:35:13 2010 +0100

    Allow multiple words to be completed at once, eg. for assignees.

commit b64851e3eb706b7b57503a0a605e0984e443747c
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Fri Nov 26 08:34:35 2010 +0100

    Exclude --complete from completion.

commit 2b8718b5453ae8e4ed42687acbb377511c36669a
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Sun Nov 21 20:01:24 2010 +0100

    Refrain from committing outstanding changes.

    This makes be-commit act more like git-commit.

commit 6987178bcff46151f4eb827b8415b10c856b4b73
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Sun Nov 21 19:59:53 2010 +0100

    Provide context in comments editor.

commit a210eb6d8a3418a36aa0da75cf355b937ef1a992
Author: Robert Lehmann <mail@robertlehmann.de>
Date:   Sun Nov 14 21:45:26 2010 +0100

    Fix list --important to actually apply a filter.

commit 66037fb14b06ab42eb37e6cc93d10c9717ce0d9e
Author: Dieter Plaetinck <dieter@plaetinck.be>
Date:   Sun Oct 31 09:45:45 2010 +0100

    Clarify that bugs cannot contain multi-line descriptions

commit e7b121e746116140d6566e6fbc5e1e2cc2769b64
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Oct 30 09:54:29 2010 -0400

    Add missing bugs & values from my copy of the old CFBE Mercurial repo.

    Missing bugs
    ============

    /bea/e23 (alpha) is equivalent to /9f9/d08 (in the Mercurial repo).
    Similarly, /bea/76a (beta) is equivalent to /9f9/eb9.  This is because
    the Git and Mercurial repos made the 1.2->1.3 directory format upgrade
    independently, and the 1.2 -> 1.3 upgrade converts target strings into
    target bugs.

    Mercurial:
      changeset:   62:ef4f395dc0ce
      user:        W. Trevor King <wking@drexel.edu>
      date:        Sun Dec 06 02:15:16 2009 -0500
      summary:     Upgraded BE repository to Bugs Everywhere Directory v1.3

      [add .be/bugs/d08caa3b-08ca-429b-98e7-ab5da5226c92/values,
       upgrade Bugs Everywhere Tree 1 0 -> Bugs Everywhere Directory v1.3
       ...]

    Git:
      commit 35c49dae09078efb1bbab9d5af4096d35c68adbf
      Author: wking <wking@thialfi>
      Date:   Tue Jun 22 14:15:47 2010 -0400

        Upgraded interfaces/web/.be to Bugs Everywhere Directory v1.4
        ...

      [add interfaces/web/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e23d7982-7e32-4c78-b62e-83ecc42b4cd7/values
       upgrade Bugs Everywhere Tree 1 0 -> Bugs Everywhere Directory v1.4
       ...]

    Missing comments
    ================

    Basic comment life cycle
    ------------------------

      commit 79ce26825a5a19678e0a26c5a5d78965732d24d3
      Author: wking <wking@thialfi>
      Date:   Tue Jun 22 14:22:36 2010 -0400

        Moved CFBE bugs from interfaces/web/.be into .be/

      [move interfaces/web/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
         to                .be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
       ...]

      commit 35c49dae09078efb1bbab9d5af4096d35c68adbf
      Author: wking <wking@thialfi>
      Date:   Tue Jun 22 14:15:47 2010 -0400

        Upgraded interfaces/web/.be to Bugs Everywhere Directory v1.4
        ...

      [move interfaces/web/.be/                                     bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
         to interfaces/web/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
       ...]

      commit e9a713798fa7679fa4be6ccba40f77e3fdf3b538
      Author: Chris Ball <cjb@t60>
      Date:   Sun Jun 20 19:27:36 2010 -0400

        Remove the .be/ copy from inside cfbe dir

      [remove interfaces/web/.be/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
       ...]

      commit 46953e63dd929637f67a4d10065a3f28c403dbdf
      Author: Steve Losh <steve@stevelosh.com>
      Date:   Sat Jan 31 02:24:31 2009 -0500

        Implemented the single bug view.

      [add .be/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
       ...]

    Lost when
    ---------

    The comments do not seem to have survived the
    2eab4691ff80455cd0ca25b2c58fb3acb1dcbdeb merge:

      $ git show --pretty=raw 2eab4691ff80455cd0ca25b2c58fb3acb1dcbdeb
      commit 2eab4691ff80455cd0ca25b2c58fb3acb1dcbdeb
      tree b97ffb0ad8cdfeecc2182fe830e452fabda6eb1a
      parent 39d9e788f7133a959f7594d7c8eb7985c4e6f847
      parent 4592e1ae1165f74aba16cd76dc2f19197b81465a
      author W. Trevor King <wking@drexel.edu> 1277430423 -0400
      committer W. Trevor King <wking@drexel.edu> 1277430423 -0400

        Merge CFBE bugs into the main BE bug repo

      $ git diff 4592e1ae1165f74aba16cd76dc2f19197b81465a..39d9e788f7133a959f7594d7c8eb7985c4e6f847 | grep -A 1 '^diff.*body'
      ...
      diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/e645d562-6f84-4df2-b8ee-86ef42546c16/comments/aea21508-69c2-4d6b-ada1-4fbadac14c56/body
      deleted file mode 100644
    	...

commit dfa742a2d0c14600565a36b8bcab2c42846d6b6b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Oct 30 09:10:51 2010 -0400

    Add .be/id-cache to .gitignore.

commit c5df054af07595cb8346cbad2d6815487743c2f0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Oct 30 08:23:26 2010 -0400

    Restore comment body for /bea/866/738 (lost on the CFBE merge?).

commit 6a9fc1dfa151b84221963ac738a2072aea61504b
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 28 19:01:42 2010 -0400

    Make dependency tree output respect --show-status/--show-summary flags.

commit f7e59d8f264577bf44fe4bc043d1107843e31f7c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 28 18:55:41 2010 -0400

    Move Filter, parse_status, and parse_severity from list to depend.

    This breaks an import dependency cycle.

commit bd2d5ab3bf6301bdf1f08cf3133fa60ebfdf9b9f
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 28 15:31:44 2010 -0400

    libbe.command.depend now shares libbe.command.list's status/severity parsing for consistency.

commit aa1230e03b3859bbcf22d710a2b25a68b691e740
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 28 13:29:16 2010 -0400

    Fixed `list --sort ...` bug.

commit 3ad4de1cfa8b28974b2e0c3a4626315c4aea14ef
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 28 13:27:43 2010 -0400

    Add `list --sort time` test reproducing Gianluca's bug.

commit 9d8ca3e2b8b5231cef8b21101d44b8bb06f4d177
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Oct 22 14:49:59 2010 -0400

    'be vXXX' -> 'be XXX' in Sphinx-generated docs to avoid git-hash confusion.

commit c07c687273afc1f38258d3fa5caf39244c0d1b33
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Oct 22 10:33:08 2010 -0400

    Tell Makefile how to generate HTML versions of man pages.

commit 45aa9980e13dab6d47bbe4a6077dcf99d337bd5c
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Oct 22 10:18:11 2010 -0400

    Document command line overrides for built documentation.

commit 4ee83193a9fb8433ca4769b85b9244dc5cd9d4fa
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Oct 22 10:06:03 2010 -0400

    Allow command line overrides for built documentation.

    For example, to install without documentation, use:
      $ make DOC= install
    which overrides Makefile's default DOC definition, setting it to the
    empty string.

commit c3d3f531440102986c83bf6611f45e81c9e636b3
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 08:18:48 2010 -0400

    Simpler undo message in release.py's help.

commit 8779fc64deda18b6973da3eef57aaca680709991
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 08:15:42 2010 -0400

    release.set_vcs_name() now adjusts any vcs settings in the exported .be/.

    Also call remove_makefile_libbe_version_dependencies() on the exported
    Makefile.

commit e4bfbcca9a0a5a6985f72acc812698e89a9b3efe
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 08:04:02 2010 -0400

    Ensure target_dir has trailing separator in release.export().

commit 8fbec2c7e023edde80be382c4c6f716dc8049420
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 08:00:24 2010 -0400

    Rename tag -> _tag in release.py to avoid collision with tag() function.

commit 9ed51e5ce7223f51d432909ec3a3bbb536b6b128
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:57:43 2010 -0400

    Add `-a` option to `git commit` call in release.py.

commit c702950ee4e69334b53d7280a7c43089edcaaed2
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:51:00 2010 -0400

    Use invoke() instead of Pipe() to run single commands in release.py.

commit 125a79ae1bfc519719efa5451c96275429c21c73
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:44:03 2010 -0400

    Updating copyright info in release.py can take a while.  Let the user know.

commit 5daaf672771aa7cca3824bcd0adbdace9b1c580c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:39:22 2010 -0400

    Ran update_copyright.py.

commit 8f4e1cbf265a93baf18ad7ccfc4db173bd6e47ec
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:37:01 2010 -0400

    Update ALIASES in update_copyright.py.

    New 'gian <gian@grys.it>' for Gianluca and fix 'Marian' -> 'Marien' typo.

commit 4c43d06e94c0ed1774af8de1088e48de01c3901f
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:33:03 2010 -0400

    Simpler (and faster) ChangeLog format in release.py.

commit 70f239c0cb1958c42e833e193811421c2ae98ee4
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Oct 21 07:29:06 2010 -0400

    Update release.py for use with git-versioned BE.

commit 8f1cd4f5eecba8e3322ea6725d71e430520d1585
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 12 15:25:45 2010 -0400

    Point out that official packages may not be up to date.

commit 0a993be001ab5ff250fae4c5f20bab11f89e30cb
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 28 21:31:21 2010 -0400

    Add manpage/DocBook section to doc/doc.txt.

commit c293f2eaed1d3ebccd3e474c77557d2624e2ccc9
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 28 21:30:57 2010 -0400

    Add dependency section to doc/install.txt.

commit e3ec1f6f6d0f8ad5bc3777aa49f96d43aa9ffacc
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 28 21:29:34 2010 -0400

    Wrap `rm` in the RM variable in doc/Makefile.

    This is more consistent with the example set by the root Makefile.

commit 8c9f876ae69f7bf92686edea320931d875b5c681
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 28 21:25:43 2010 -0400

    Converted man page source to DocBook V5.0.

    This has the dual benefits of keeping up with the current DocBook
    standard as well as removing the dependency on SGML parsers like
    docbook-to-man and docbook2man which may not be available on all
    systems.  An XSLT processor and the DocBook style sheets are easier
    dependencies to satisfy.

commit fe99ef2f6148790ef792ecf47ca3629a4d367890
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 19:04:19 2010 -0400

    cfbe: API: fix editing a bug's target

commit d542ab20d7fbb1c98d8fb7b03da37b6e211987d8
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:39:35 2010 -0400

    cfbe: Remove "target" column from default bug list

    As discussed at:
       http://void.printf.net/pipermail/be-devel/2010-September/000626.html

commit 8d1acfb3314d9276f3c6d5fa9c64ac93c4052775
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:35:19 2010 -0400

    cfbe: Fix assigned-to-None search

commit f1c6c6a0122c5bed01ab7a084da1f2a67e796f37
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:26:59 2010 -0400

    cfbe: typo: Unschdeuled -> Unscheduled

commit c4fe20ef4fe29bf6d98ee5b2eee06d8f277c7b1b
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:14:04 2010 -0400

    cfbe: API: implement search-by-target

commit c539bb1fe92f7836d1eb0b9cbb969e1195ca385b
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 19:04:19 2010 -0400

    cfbe: API: fix editing a bug's target

commit b74747aee28dd51d067920c1a8d16cc0b192e8f3
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:39:35 2010 -0400

    cfbe: Remove "target" column from default bug list

    As discussed at:
       http://void.printf.net/pipermail/be-devel/2010-September/000626.html

commit 15b23a8c8c2c6e7ecd6f551b988f9494ad84072c
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:35:19 2010 -0400

    cfbe: Fix assigned-to-None search

commit ddbca6dfa8df1db055cb7d7f28af8cf19e31f15b
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:26:59 2010 -0400

    cfbe: typo: Unschdeuled -> Unscheduled

commit 488df80b7076fc027c23bc0e4713268755f9dfa9
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 18:14:04 2010 -0400

    cfbe: API: implement search-by-target

commit 3099e08c62410f16e99393ba09b36e79c0fa53ab
Author: Chris Ball <cjb@laptop.org>
Date:   Mon Sep 6 15:54:10 2010 -0400

    cfbe: API: bug.comment.From -> bug.comment.author

commit c378d80a27d2f6d28fe0a4ffea9cc4fce7452b0b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 5 21:22:37 2010 -0400

    Strip all whitespace from right side of the VCS storage version string.

    The old method failed with Windows-style \r\n endlines, etc.

commit 70910ac62711282502e67d31b8600bd5beb43cc9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 5 21:20:46 2010 -0400

    Default to "unknown" version info if libbe._version is missing.

commit b8ad90ec382ec05af6473be7de4f88aed6f641ae
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 5 18:23:02 2010 -0400

    Remove useless children[i] from libbe.storage.vcs.base.VCS._children().

commit 81d967b11d7ba19f2a84a42dbeeaaeb2ecbe0b75
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 5 18:14:18 2010 -0400

    Don't assume len(os.path.sep) == 1 in libbe.storage.vcs.base.

commit 226036d2254feee8e50061e519c2bdaefef7ccfb
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Aug 10 14:13:27 2010 -0400

    Made Marien's gentoo address an update_copyright.ALIAS for his recent gmail address.

commit 55aa926e497824e54c7521c2f0c45ce393ea26b8
Author: Marien Zwart <marien.zwart@gmail.com>
Date:   Tue Aug 10 14:04:41 2010 -0400

    Fix "no attribute '_get_bugdir'" bug in `be help severity`.

    Bug and patch submitted by Marien Zwart.  I can't think of any side
    effect issues this might raise, so I'm committing it ;).  Excerpts
    from Marien's email below.

    From: Marien Zwart <...>
    Date: Tue, 10 Aug 2010 17:45:06 +0200
    Subject: [Be-devel] "be help severity" fails (traceback)

    ...
    In current git (d63ec5fd3eca61ea53d06a96bfb52170111fc25d) "be help
    severity" produces the following:

    Traceback (most recent call last):
      ...
    AttributeError: 'Severity' object has no attribute '_get_bugdir'
    ...
    but I am not sure if this has any unintended side effects, so I'd prefer
    not to submit this as a merge request (for someone more familiar with
    the code to fix this instead).
    ...

commit 71e5f6650ccf963a6d78e3d9b2aaba1427b5d224
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 15 08:10:12 2010 -0400

    Demoted #bea/7cb42a60# (be list --this-version) to wishlist

commit a3ba0080f721597bc61391c4135b3763eb548ecb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 15 07:30:44 2010 -0400

    Fixed #bea/0a2# : Humanize empty result pages.

    Added a special template for empty bug lists:
      interfaces/web/templates/empty-list.html

commit 4377a7a3e0532ec2040ec06f250a4124f24cea0d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 15 06:56:13 2010 -0400

    Tagged recently fixed #bea/206# as a CFBE-related bug.

commit 790a33a51a6281535cae338c9f64a675bb6dc6b5
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 15 06:38:56 2010 -0400

    Fixed #bea/206d9b07# : 'BugDir' object has no attribute 'bug_shortname' (cfbe)

    Tested with a single bug attribute change and comment addition.

commit 3472f94db6fda30ab53c5f1b747095fad1ac3c3b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 14 19:36:25 2010 -0400

    Avoid loading the whole bugdir when calling `be html -e`.

    This cleans up Mathieu Clabaut's fix to the html_gen definition
    problems in `be html -e`.

commit 3be9276eef9081fa51f8b75516176f203f18b39b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 14 19:24:12 2010 -0400

    Make Gianluca's bug status display optional for `be depend`.

    You might not want the bug status displayed, e.g. if you were writing
    a script that parsed the output of `be depend`.

    The new implementation is better anyway since it avoids redundant
    display definitions for blocks vs. blocked by.

commit 1c904b36abdec26b72d32ad7bc1e848c4064c21b
Author: Mathieu Clabaut <mathieu.clabaut@gmail.com>
Date:   Mon Jul 12 16:32:01 2010 +0200

    Exception when doing 'be html -e'

    'html_gen' was referenced before assignment.

commit d63ec5fd3eca61ea53d06a96bfb52170111fc25d
Author: Chris Ball <cjb@laptop.org>
Date:   Sun Jul 11 14:01:37 2010 -0400

    Add cfbe bug /206 from Gour

commit 388358a41375afdca0d29583a0851bfb5fe720f8
Author: gian <gian@grys.it>
Date:   Wed Jul 7 09:03:18 2010 +0200

    Updated the changes following Chris Rewview

commit 9f3e40c0d40f174280e69ac28e19fb8bdb273922
Author: Gianluca <gian@grys.it>
Date:   Wed Jul 7 00:24:20 2010 +0200

    Added the bug summary to the output of the 'be depend' command

commit 4f7587413eb414a69c20fca97c8c75904f2f14f5
Author: Thomas Keller <me@thomaskeller.biz>
Date:   Sun Jun 27 19:42:36 2010 -0400

    Fixed mnt -> mtn typos in doc/spam.txt

commit d661ec949cd97def3e33af1db98bd33ceb0e1acc
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 27 10:47:11 2010 -0400

    Ah, restored altered dirname code to Monotone's root method.

    The previous implementation used
      cwd=path
    which would fail for non-directory paths.

    The implementation before that was missing the not from
      if not os.path.isdir(path):
          dirname = os.path.dirname(path)
    which meant it found the dirname when it didn't need to, and not when
    it did ;).

commit 4ffb44509a92d8c7ea3d262923d598e86e501da0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 27 09:21:31 2010 -0400

    Fixed Monotone driver rooting for interface versions >= 8.0.

    I'm not sure where the dirname manipulation came from, but it
    was screwing things up ;).

    Also some argument order and indentation cleanups.

commit dbc17b52969cd976dc20cd1a537810bd53db5745
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 16:26:50 2010 -0400

    Use _invoke_client (vs. old _u_invoke_client) for Monotone get_workspace_root.

    This fixes Chris'

    ======================================================================
    ERROR: Adding entries with the same ID should not increase the number
    of children.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      ...
    CommandError: Command failed (1):
          mtn: misuse: workspace required but not found

    while executing
          ['mtn', 'automate', 'get_workspace_root']

commit 7c545a2d9f8bd66ee066336356bc580d10f3554d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 15:39:52 2010 -0400

    Added CFBE invocation notes to doc/http.txt.

    This closes #bea/c72# and its dependent tag #bea/e23#.

commit 6f1a56e57edf1556f68147f422eeee3029a28305
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 15:32:20 2010 -0400

    Moved doc/html.txt -> doc/http.txt.

    `be html` is an HTML interface, but only CFBE (and `be serve`) use
    HTTP.

commit 17a8f2262069e2f68a595a84dd9f705bff2b2276
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 15:21:46 2010 -0400

    Updated docs b/c of new Monotone backend

commit ededdf41c52fdf8fee1bd0ce4a7d8cc408a82e57
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 15:00:20 2010 -0400

    Add a Storage driver for the Monotone VCS

commit adfcbf4fed2f6e82b43b11cae45c03ba0e687ac4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 14:00:36 2010 -0400

    Fix failure message 'X.get' -> 'X.children' in VersionedStorage test_get_previous_children

commit 8d7ee45073087fddf3155c08ae51dfc97b0927fa
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 11:58:08 2010 -0400

    Removed libbe.storage.vcs.base._get_version

    It had been catching exceptions from ._vcs_version, but ._vcs_version
    should catch its own exceptions.

    Also use cached results from .version in Darcs and
    Bzr.version_cmp() rather than calling ._vcs_version directly.

commit c63a03efc36ab29e3ddddfab5a2f72d1d9d9f9d8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 10:01:39 2010 -0400

    Remove `be open` and `be close` (again)

    This repeats:
      commit 5e769027075ce0f95d5cf9006d097f7fe7d8b38d
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Mon Dec 14 01:13:05 2009 -0500

        Removed `be open` and `be close`.  Alias `be status` instead.
        ...
    which somehow was clobbered in a merge.

commit 20a3cd53703b058e558bedade4c2eb8a1d3e1c8f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 09:55:49 2010 -0400

    UsageError -> UserError in a few libbe.command.* submods.

    This catches them up with the removal of UsageError in
      commit bf3d434b244c57556bec979acbc658c30eb58221
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Sat Dec 12 00:31:55 2009 -0500

        Added libbe.command.base (with Command class) and moved list
        command to new format.
    I guess I don't make many mistakes entering those commands ;).

commit 9a6a3b7e8a81126216eda582020a695f2a8cc694
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 09:51:11 2010 -0400

    Use bug.id.user() instead of bug.uuid many places in libbe.command.depend

commit 7effcfb2b344fca6e82fd84f1dcfb627b461f5c1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 09:44:04 2010 -0400

    Fix Tree() calls in libbe.command.depend

commit a0a75b27e181b74bb7ec35563ae79e4bc7e999bb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jun 26 09:22:41 2010 -0400

    `be list` without --extra-strings now lists bugs with extra strings.

    The previous implementation would not show them unless an explicitly
    matching regexp was passed in with --extra-strings.

commit aaec4a4d94d797316b538a92ba4ba6ba296be872
Author: Chris Ball <cjb@laptop.org>
Date:   Fri Jun 25 22:44:26 2010 -0400

    Use fixed instead of closed; the bug's fixed.

commit 0707e3ad7c4871aa599c7b64a6bacf9947b6f0e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 17:17:17 2010 -0400

    Ran update_copyright.py

commit 58757f81c53dda126da8082a80031c41e228d630
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 17:16:27 2010 -0400

    Added 'Gianluca <gian@grys.it>' alias to update_copyright.py.

commit c17883dc04d47018cdf1d0b87b71fc6f5e2384e3
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 16:57:01 2010 -0400

    Restored clobbered update_copyright.

    During one of the recent merges, my updated update_copyright.py
    from
      commit bb382a6aba11eedeb380e2aaa9755bc0e47f9095
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Tue Jun 22 21:11:52 2010 -0400

          Updated update_copyright to work with git/hg/bzr.

          I'd added the extra VCS support when I took it over to Hooke.
    was clobbered.  I've restored it, and merged in the
    intervening changes:
      commit 2dde7664df85e91d0f914025fd66d147c508f6ab
      Author: W. Trevor King <wking@drexel.edu>
      Date:   Thu Jun 24 21:51:20 2010 -0400

          Add aliases to update_copyright.py for some recent commits

commit af79a1eba9a56bb603d8b6330bfacb301ba18224
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 16:48:08 2010 -0400

    Adjust update_copyright.py to handle _mailfilterrc and _procmailrc

    Gour re-released _mailfilterrc under GPLv2+ following Chris'
    suggestion:

      Date: Fri, 25 Jun 2010 14:23:46 -0400
      From: Chris Ball
      Subject: Re: [Be-devel] procmail & maildrop
      ...
      As an aside, the Public Domain license on it is mildly concerning,
      but I think I'm willing to take it anyway since it's just a
      standalone file.  There are guidelines against using Public Domain
      declarations for software, because they have different meaning in
      different areas, and some areas are even thought to deny disclaiming
      "moral rights" like this; I've heard that France is in this
      situation.
      ...

    Seems reasonable, so I'm doing that for my _procmailrc too.

    This also means that _mailfilterrc no longer needs to be in
    update_copyright.IGNORED_FILES, so I removed it.  Actually,
    since it lackes a '^# Copyright' line, it never had to be
    there in the first place.  Lazy me ;).

commit fc5a607492186676d4db67ab0b33958f8592182b
Author: Chris Ball <cjb@laptop.org>
Date:   Fri Jun 25 16:33:12 2010 -0400

    Close cherrypy utf-8 handling bug

commit df74ec8ead6b7dfe6081062eafa8785728323c9d
Author: Gour <gour@gour-nitai.com>
Date:   Fri Jun 25 21:32:09 2010 +0200

    Changed license for _mailfilterrc from Public Domain to GPLv2+

commit fcd4d6d4fb303392cc724171ec5ee7e60bf6dc46
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 14:55:38 2010 -0400

    Added _mailfilterrc to update_copyright.IGNORED_FILES

    Gour released it to the Public Domain.

commit 1791da7a299980d45c5891eb3e21280b58e70c7b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 14:49:39 2010 -0400

    Reworked `be list --extra-strings REGEXP` logic.

    Previous implementation only matched if *every* regexp matched *every*
    string.  Current implementation matches is *any* regexp matches *any*
    string.

commit 0650774664d927e6209dd9f422a22d44f0f888fd
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 14:38:41 2010 -0400

    Remove 'CFBE. ' prefix from bug summaries now that we're using tags.

commit 57c61e2e78078322bfae6b338bede66ec3107203
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 14:31:34 2010 -0400

    Added --tags to `be list`.

    And broke out tagging functions in libbe.command.tag, so they are
    accessible to other commands.

commit eaa9ad50c853e57d85b774c69cd338458e648329
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 13:54:41 2010 -0400

    Added CFBE tags to all CFBE bugs.

commit 43a6f0c4a5f2c8d706569d1ea54af2b0a638bff0
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 13:27:12 2010 -0400

    Configure CherryPy to use UTF-8

commit 7551e989d0b3eacfb0a40b9b4a971e844ff3ed50
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 13:15:55 2010 -0400

    Merged Chris' response bea/275/672

commit 6013fbe61abc821cd23cb975b917285164131063
Author: Chris Ball <cjb@laptop.org>
Date:   Fri Jun 25 13:02:18 2010 -0400

    Reply to wking

commit e5e34770ffe7c32572744a06e7248e22a30aba4e
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 12:41:35 2010 -0400

    Marked bea/d99 (CFBE inclusion) as fixed

commit e95df8b83146f0a520d5c73d03f74252a7013345
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 25 12:22:52 2010 -0400

    Commented on Chris' bea/275/27c

commit 3c33250866a6c8a800ca3d6388ebef76fe5f1d2c
Author: Gour <gour@gour-nitai.com>
Date:   Fri Jun 25 18:09:01 2010 +0200

    rc file for maildrop filter

commit 240ebc1e9be275341fdef46cafbe2db854e6932e
Author: Chris Ball <cjb@laptop.org>
Date:   Thu Jun 24 22:51:05 2010 -0400

    Rename cfbe bug to match "CFBE. " style used elsewhere

commit 2dde7664df85e91d0f914025fd66d147c508f6ab
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 24 21:51:20 2010 -0400

    Add aliases to update_copyright.py for some recent commits

commit 545f633e0f24443c319d6f1bea82cdb480e0f2a2
Author: Chris Ball <cjb@laptop.org>
Date:   Thu Jun 24 18:23:48 2010 -0400

    Add a 1.0 target (/773) and assign a cfbe Unicode bug to it (/275)

commit cfea170cbc0c35b1c2d603815cdd18124391a385
Author: Chris Ball <cjb@laptop.org>
Date:   Thu Jun 24 18:13:06 2010 -0400

    cfbe: API: Report each of the targets a bug has

commit 4191d430f91f05b800944f9aa48ad63e83d3fa89
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 24 16:16:55 2010 -0400

    Converted Bzr -> Git references in README and doc/*.txt

commit 36da784b196e2ce60c772e085636e9f2b18844ea
Author: Gianluca <gian@grys.it>
Date:   Thu Jun 24 16:12:39 2010 -0400

    Little fix to setup.py

    I applied Gianluca's patch, but used "revision" in both the Makefile
    command for _version.py and setup.py, rather than using "revision_id"
    in both places.  With Git, there is no longer a need to distinguish
    revision IDs from revision numbers.

commit fcb8f9611d942fa265c5ece8d29464896c4b8241
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 22:09:12 2010 -0400

    cfbe: API: More shortname -> bug.id.user()

commit eefebd9f0582704b81cbf6ccbf7646c71cdce534
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 22:08:08 2010 -0400

    cfbe: API: bd.bug_from_shortname(id) -> bug_comment_from_user_id(bd, id)

commit 2dbd638083487400afd3b1d6a0d7a4e925c7db1f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 21:38:37 2010 -0400

    Ran update_copyright.py

commit bb382a6aba11eedeb380e2aaa9755bc0e47f9095
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 21:11:52 2010 -0400

    Updated update_copyright to work with git/hg/bzr.

    I'd added the extra VCS support when I took it over to Hooke.

commit 01ab5cb43d47a0afb835897762954956df6bfe39
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 20:17:29 2010 -0400

    cfbe: API: bugdir.root -> bug_root

commit 60fd763f11eb35c67a0ac0ceb2b7fdfb61c70eab
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 20:05:51 2010 -0400

    cfbe: API: bugdir.bug_shortname(bug) -> bug.id.user()

    FIXME: More instances here.

commit 40f8ac241d0c8566925092de2ee42a2369ba0577
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 20:00:36 2010 -0400

    cfbe: API: Use bug.severity == target instead of bug.target.  (FIXME)

    FIXME:  There are still many more instances of bug.target; I'm just going
    through tracebacks one at a time at the moment.

commit 2a18ba2fe5a788e8ba4e44a75219a8a7ad3c13f2
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 19:50:31 2010 -0400

    Use git log instead of git show in Makefile

commit 22b20b6a4c3d62099f52458379d68057546e41c5
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 19:22:05 2010 -0400

    Moved .bzrignore -> .gitignore and updated

commit 74f1d681e8123833f22fbd0af751c9ebff85e530
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 19:05:19 2010 -0400

    Updated _version.py and version.py to work with Git

commit d9fa7befee7309245799b81bc85c6d0d47426f23
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 18:17:40 2010 -0400

    cfbe: Use new storage API

commit 4592e1ae1165f74aba16cd76dc2f19197b81465a
Author: wking <wking@thialfi>
Date:   Tue Jun 22 14:23:13 2010 -0400

    Remove stub interfaces/web/.be

commit 79ce26825a5a19678e0a26c5a5d78965732d24d3
Author: wking <wking@thialfi>
Date:   Tue Jun 22 14:22:36 2010 -0400

    Moved CFBE bugs from interfaces/web/.be into .be/

commit 4bda7747d4fe766ca521cc83e4df3c14a50973f8
Author: wking <wking@thialfi>
Date:   Tue Jun 22 14:20:10 2010 -0400

    Added 'CFBE' prefix to all CFBE bugs for clarity

commit 35c49dae09078efb1bbab9d5af4096d35c68adbf
Author: wking <wking@thialfi>
Date:   Tue Jun 22 14:15:47 2010 -0400

    Upgraded interfaces/web/.be to Bugs Everywhere Directory v1.4

    be$ bzr mv .be .be-orig
    be$ bzr mv interfaces/web/.be .be
    be$ be list
      <go through upgrade process>
    be$ bzr mv .be interfaces/web/.be
    be$ bzr mv .be-orig .be

commit f72b6c9ed5588a87d5d2c6b28d0ba68a09ac2cea
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 22 13:37:49 2010 -0400

    Many markup fixes in doc/

    Also added subdir option to generate-libbe-txt.make_module_txt(), in
    the hopes that subdir='.' would fix the missing reference errors, but
    no luck (although it did reduce them).  I'm sticking with
    subdir='libbe' for now to avoid cluttering doc/ with autogenerated
    cruft.

commit 0b8658523a1ce8d9380540010335ab1b829342f7
Author: wking <wking@thialfi>
Date:   Tue Jun 22 13:23:07 2010 -0400

    Darcs should look in ~/.darcs/author not ~/.darcs/prefs/author

    From:
      http://darcs.net/manual/node7.html#env:DARCS_EMAIL

commit 1bb788dee94ab5e882c35f5c1bb95c1eecf69c16
Author: wking <wking@thialfi>
Date:   Tue Jun 22 13:19:59 2010 -0400

    Darcs._vcs_get_user_id() now also checks ~/.darcs/prefs/author|email.

    Thanks to Gour for pointing out that it should.

commit 1fc4f31d28cee02fc137b4997a252e0ddb5ca294
Author: wking <wking@thialfi>
Date:   Tue Jun 22 13:09:23 2010 -0400

    Use 'darcs add --boring' for Darcs > 0.9.10

commit 6edc7b6e25b4b59b45e157d9d55816fa9dcfe494
Author: Chris Ball <cjb@laptop.org>
Date:   Tue Jun 22 12:25:02 2010 -0400

    Change location of be --serve'd bugs URL to http://bugs.bugseverywhere.org/

commit 401152d6eec5167043dedde60c0a64d0affbd120
Author: wking <wking@thialfi>
Date:   Tue Jun 22 11:30:26 2010 -0400

    Use os.path.join in libbe.storage.util.config.path.

    Versus previous hardcoded "~/.bugs_everywhere".

    Also improve docstrings for
    * libbe.storage.util.config.path
    * libbe.ui.util.user.get_user_id

commit a4ec8a0c99b2a918fa8a5ae1cab36652d2d9c83e
Author: wking <wking@thialfi>
Date:   Tue Jun 22 11:10:00 2010 -0400

    Added -c/--creator to `be new`

    Following Gour's suggestion on the mailing list.

commit 2d757a30f5c29d87ce5ebc4311b15f9c4fc6c4b4
Author: wking <wking@thialfi>
Date:   Tue Jun 22 09:58:38 2010 -0400

    Use Sphinx autosummary (required by numpydoc)

commit d376c2867fb0285577a5437996bc41790fa7f964
Author: wking <wking@thialfi>
Date:   Tue Jun 22 07:20:29 2010 -0400

    Added intersphinx_mapping to doc/conf.py.

    See
      http://sphinx.pocoo.org/ext/intersphinx.html#confval-intersphinx_mapping

commit 39d9e788f7133a959f7594d7c8eb7985c4e6f847
Author: Chris Ball <cjb@t60>
Date:   Sun Jun 20 19:36:29 2010 -0400

    Set up for running from top-level be dir, i.e.:

    % python interfaces/web/cfbe.py

commit e9a713798fa7679fa4be6ccba40f77e3fdf3b538
Author: Chris Ball <cjb@t60>
Date:   Sun Jun 20 19:27:36 2010 -0400

    Remove the .be/ copy from inside cfbe dir

commit a2a51929a848ffa6db92ec7218994461ecccb50a
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 19 07:17:36 2010 -0400

    Fixed Eric Kow's _darcs/prefs/author bug.

commit ec043501dc30a8d4ba0b106ebfef51435c0d5f14
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 19 07:04:55 2010 -0400

    Use _vcs_get_file_contents (vs get_file_contents) in Darcs._vcs_get_user_id

commit 79f7126722eb183441d7574ee9b1a2fe95de0563
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed May 19 06:41:00 2010 -0400

    Use getreader (not getwriter) for wrapping stdin

commit 83b440ebb5576a46a0b3f5a232684d992e4c7a52
Author: Eric Kow <eric.kow@gmail.com>
Date:   Mon Mar 29 16:53:21 2010 +0100

    Created bug 592 (_darcs/prefs/author).

commit 273c0c9f66bb4365b8a4bf6d5ebf7a8f79a9b796
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Mar 19 02:18:13 2010 -0400

    Created a bug (wontfix) for Anton Batenev's default-EDITOR comments.

    Also fixed a UserError typo in import_xml.py.

commit dc65985ae0602779d9d0de02d3749b8d6e58ab13
Author: Anton Batenev <abbat@abbat>
Date:   Tue Mar 16 15:54:22 2010 +0300

    Reported bug with utf-8 strings

commit 3f7057dabf71bd390171e66729f5798758ca8f03
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 22 17:22:34 2010 -0500

    Fix relative links from bug pages in `be html`.

    Introduced by bugs/XXX.html -> bugs/XXX/index.html in
      wking@drexel.edu-20100220181238-j5ecst02y0k9ioo9

commit 8c6466e1c0ece79dab0d358097503c6d637ea203
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 22 09:39:21 2010 -0500

    Use truncated_id in `be html` comment <div id="">

commit 9e0399cd22521478a24cb08fc384ee946f14ef59
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 20 13:28:34 2010 -0500

    Fix len(char) assertion typo in libbe.util.utility.underlined()

commit b356b3a7628b687a3de9f714102c4fd2a170348b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 20 13:21:25 2010 -0500

    Added `be html --min-id-length INT` option

commit 9e5bc2a479e36ff0c41b490f3eca080f78bf1cc4
Author: Gianluca Montecchi <gian@grys.it>
Date:   Thu Feb 11 23:47:20 2010 +0100

    Variable lenght of the file name in the be html command.

commit 5b018f3d9a0a7da54a610168469691d9a14bfaec
Author: gian <gian@li82-39>
Date:   Wed Feb 10 14:28:49 2010 +0100

    Fixed a bug in the be html command.

      File "/usr/lib/python2.5/site-packages/libbe/command/html.py", line 371, in _escape
        return xml.sax.saxutils.escape(char)
    NameError: global name 'char' is not defined

commit 960565a8cc80f98d0a8bfa77029fbc78692ea1a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 8 17:02:56 2010 -0500

    Consolidated Makefile and doc/man/module.mk.  Incorperated doc/Makefile.

    Now
      make sphinx
    builds the Sphinx HTML documentation (in doc/.build/html), and
      make clean
    cleans up everything.

    Having a separate module.mk was just making things confusing, so I
    took it out ;).

commit 977eff5af10b50ba6e6edb6abc4f40804c418b12
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Feb 7 17:53:53 2010 -0500

    Fixed docstrings so only Sphinx errors are "autosummary" and "missing attribute"

commit 8ccb71280c24480eb661fc668c31ff06bc7a3148
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Feb 7 13:37:37 2010 -0500

    Use email.utils.formataddr/parseaddr to generate/parse user IDs

commit 413626d3b77e9bf89389a272ed489da29f3d9877
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 6 16:53:57 2010 -0500

    Use numpydoc and generate-libbe-txt.py to autogenerate API documentation

commit 4c71190ebafd7ce198a5c0047588c4b2f7e5ef58
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 6 13:44:05 2010 -0500

    Added bugdir and comment modules to Sphinx docs

commit 668be5b01d9ad47f4f9714bfe8deee377341eb35
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 6 13:09:24 2010 -0500

    Added libbe.bug to the Sphinx documentation

commit 23b523c3ddd527012f0ae18dc2b3da2fadcfdae2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 6 11:06:32 2010 -0500

    Broke out install.txt + reStructuredText markup fixes

commit da8309e67c669b1cca5d39c8e7da34c9b431bef6
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Feb 6 09:47:20 2010 -0500

    Added page titles to the documentation & adjusted section levels.

commit 4109434843ecdf2e73a010fcbb37cc3d404ef8ef
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Feb 5 20:09:58 2010 -0500

    Sphynx now gets version string automatically.

commit 52999e64546aa1ca5aba14e16311d5487dbb6ac1
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Feb 5 20:08:22 2010 -0500

    Moved manpage source doc/src to doc/man

commit f3e912e4a9a532bb7a0e528ff74c55ce0484fc01
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Feb 5 20:06:02 2010 -0500

    Created Sphinx framework with sphinx-quickstart and added .txt extensiosns

commit 9a7fde0aec7f17617378c1a1c8c5e6db1bdfbef8
Author: Eric Kow <eric.kow@gmail.com>
Date:   Fri Feb 5 14:30:21 2010 +0000

    Avoid double-escaping in 'be html'.

commit cf69a26e21aaa0a866415fe43f5ea9719d0f7947
Author: Eric Kow <eric.kow@gmail.com>
Date:   Fri Feb 5 11:48:28 2010 +0000

    Use ${HOME}/.local as default prefix.
    This is apparently a new standard.

commit 3f27c5c3bbc1ecd00db51c4894a9bf9651ae4fbb
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 2 14:11:14 2010 -0500

    Sort comments in `be html`.

commit 907d5f0887f52b6bb718d4ff2a58d3d214c480f8
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 2 12:37:32 2010 -0500

    Fix be-xml-to-mbox handling of non-text/* content types

commit d98052a067923616efd3a27626dca29301d74246
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Feb 2 12:32:53 2010 -0500

    Restore "content_type" kwarg to Comment.new_reply().

    It had been removed in
        revno: 473.1.43
        committer: W. Trevor King <wking@drexel.edu>
        branch nick: be.restructure
        timestamp: Mon 2009-12-14 07:37:51 -0500
        message:
          Transitioned comment to Command format
    when we pushed unicode encoding/decoding back to the Storage backend.

    However, with the addition of libbe.util.id.short_to_long_text(),
    we need it again.

    Also add a Doctest showing a non-text/* comment, so utilities dealing
    with them can see what they'll be working with.

commit 3e16a0ab627a095605f14a5164c2d8e14a3bcaa9
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 1 12:31:53 2010 -0500

    Made Bzr/Darcs.version_cmp() more robust in response to Chris' email.

    From: Chris Ball <cjb@laptop.org>
    Subject: Test suite status

    ...
    I ran the wking@drexel.edu-20100130162439-pmh5tg6kuq92x3l5 testsuite
    on Fedora 13/Rawhide.  Had to downgrade Mercurial (bzr-hg doesn't
    support 1.4.2 yet) and bzr (my Fedora package contained a "b4" in the
    version string, which breaks libbe/storage/vcs/bzr.py:version_cmp()).
    ...

commit cf930f941de308f5d46ce89aa7f6358ba3c453d6
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 1 12:02:11 2010 -0500

    Fixed Chris' "zero name length for Mercurial w/o ~/.hgrc" bug.

    From: Chris Ball <cjb@laptop.org>
    Subject: Test suite status
    Date: Mon, 01 Feb 2010 11:27:53 -0500
    Message-id: <m38wbcor92.fsf@pullcord.laptop.org>

    ...

    I hit the "assert len(name) > 0" in libbe/ui/util/libbe.py, coming from
    hg.py when running with no ~/.hgrc.  Fixed by the following patch:

    === modified file 'libbe/storage/vcs/hg.py'
    --- libbe/storage/vcs/hg.py     2010-01-21 17:45:49 +0000
    +++ libbe/storage/vcs/hg.py     2010-02-01 16:17:03 +0000
    @@ -87,7 +87,14 @@
             return tmp_stdout.getvalue().rstrip('\n')

         def _vcs_get_user_id(self):
    -        return self._u_invoke_client('showconfig', 'ui.username')
    +        output = self._u_invoke_client('showconfig', 'ui.username')
    +        if output != "":
    +            return output.rstrip('\n')
    +        else:
    +            # guess missing info
    +            name = libbe.ui.util.user.get_fallback_username()
    +            email = libbe.ui.util.user.get_fallback_email()
    +            return libbe.ui.util.user.create_user_id(name, email)

         def _vcs_detect(self, path):
             """Detect whether a directory is revision-controlled using Mercurial"""

commit 0dd273f8605bc21589a51d3b046a231ff9df6fbb
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 1 11:36:21 2010 -0500

    Fix command name output of `be --complete`.

    By adding command_names option to libbe.command.commands.  Previous
    versions of `be --complete` printed "import_xml", not "import-xml".

    Also fixed libbe.command.base's doctests, so test.py can run them.

commit 148379492d314c0eb98ee8559aea7a2fd0baaeb2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Feb 1 10:59:52 2010 -0500

    Clearer UnicodeDecodeError message in command_line.dispatch().

    See #bea/e30# ("Where should the vcs-name and encoding configuration
    options live?")  for details.

commit 77bcd2ab6cd0afafc4c9ce8ec720fa167f1baeaf
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 30 11:24:39 2010 -0500

    libbe.command.html.HTMLGen._long_to_linked_user() handles failed conversion.

    Before, anything matching libbe.util.id.REGEXP was convert-or-die.
    Now it's convert-or-no-op.  Much safer ;).  The new
    _long_to_linked_user doctest would have failed with the old
    implementation.

commit 3a1f36b08835772fb80141f57220b0460e1fc67b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 30 10:29:22 2010 -0500

    Always load settings when initializing BugDir from storage.

    Avoids problems like:

    $ be html
    Traceback (most recent call last):
      File "be", line 21, in <module>
        sys.exit(libbe.ui.command_line.main())
      File ".../libbe/ui/command_line.py", line 327, in main
        ret = dispatch(ui, command, args)
      File ".../libbe/ui/command_line.py", line 267, in dispatch
        ret = ui.run(command, options, args)
      File ".../libbe/command/base.py", line 504, in run
        return command.run(options, args)
      File ".../libbe/command/base.py", line 233, in run
        self.status = self._run(**params)
      File ".../libbe/command/html.py", line 111, in _run
        html_gen.run(params['output'])
      File ".../libbe/command/html.py", line 154, in run
        bugs.sort()
      File ".../libbe/bug.py", line 261, in __cmp__
        return cmp_full(self, other)
      File ".../libbe/bug.py", line 818, in __call__
        val = comparison(bug_1, bug_2)
      File ".../libbe/bug.py", line 750, in cmp_status
        return cmp(status_index[bug_1.status], status_index[bug_2.status])
      File ".../libbe/storage/util/properties.py", line 223,
    in _fget
        raise ValueCheckError(name, value, value_allowed_fn)
    libbe.storage.util.properties.ValueCheckError: open-feature not allowed by <function <lambda> at 0x84b610c> for status

commit 55e43b6c6f260e3fd1bbed93fcabdb9790404904
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 29 14:32:27 2010 -0500

    Fix `be show` handling for no IDs

commit 98f6c220071d6ef65bd254bc24935d0be76cf61a
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 29 07:52:21 2010 -0500

    Add version information to test.py stderr for easier error reproduction

commit 12a948ddf009fb2510eda5be4f576dc3e7de401f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 29 07:32:41 2010 -0500

    Fix editor spawning on null-string EDITOR and VISUAL.

      $ EDITOR= VISUAL= python -c 'import os; import sys; print os.environ'
      {..., 'EDITOR': '', ..., 'VISUAL': '', ...}

commit dc7fd8ed1801fd87fb4278f32d9bc2969291f3b3
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 20:19:32 2010 -0500

    Added #bea/169# : Generating per-bugdir/bug/comment change logs

commit a06028c4c3168e5cb44821b3f5ee044bd2fef0f4
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 18:06:40 2010 -0500

    Removed taglines other cruft from #bea/d99# comments

commit eaca6f4a93ad66caf9c4207e36471b9660481dc7
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 17:50:17 2010 -0500

    Fix "extra_strings" -> "extra-strings" typos in be-xml-to-mbox

commit 7e120421446f88f9bde0674f57fb1667c5f70ebd
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 13:06:06 2010 -0500

    Work around "bzr ls --non-recursive PATH : no list" bug in old bzrlib.

    See: https://bugs.launchpad.net/bzr/+bug/158690

    Bug affected versions:
      0.90.0 (reported)
      1.3.1  (my test suite hit it)
    Doesn't affect versions:
      2.0+   (non_recursive -> recursive)
    But I haven't isolated the source more specifically.

    Working around it for everything < 2.0 should be safe, but the cutoff
    could be fine-tuned if someone wants to dig through the bzr.dev
    history...

commit 9ef5ba29e9fc2804784b7f33dde80000a16f43cb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 12:46:18 2010 -0500

    Fix bzrlib.builtins.cmd_cat() output for pre 1.6.0 bzrlibs.

    Fixed in bzr.dev
      revno: 3341.2.1
      revision-id: bialix@ukr.net-20080407074826-5lwuyv4dn1qlijg4
      parent: pqm@pqm.ubuntu.com-20080407044456-s1a9orh0kssphdh9
      committer: Alexander Belchenko <bialix@ukr.net>
      branch nick: cmd-cat
      timestamp: Mon 2008-04-07 10:48:26 +0300
      message: `bzr cat` no more internally used Tree.print_file().
    Merged into bzr.dev's trunk
      revno: 3512 [merge]
      revision-id: pqm@pqm.ubuntu.com-20080626004245-dnw85so4xqg8r9hy
      parent: pqm@pqm.ubuntu.com-20080625230724-lyux37pu8nx8tq34
      parent: aaron@aaronbentley.com-20080626001706-wo3w74fwgliy12s4
      committer: Canonical.com Patch Queue Manager <pqm@pqm.ubuntu.com>
      branch nick: +trunk
      timestamp: Thu 2008-06-26 01:42:45 +0100
      message: (bialix) Deprectate (Branch|Repository).print_file, fix cmd_cat

    Before bzr branch 1.6
      bzr.dev$ bzr tags
      ...
      bzr-1.5rc1           3418.6.3
      bzr-1.6              3606.5.9
      ...

    Fixes:

    python test.py -q libbe.storage.vcs.bzr
    ...............................FSome value:1E..
    ======================================================================
    ERROR: Get should be able to return the previous version.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/wking/src/fun/be/be.wtk/libbe/storage/base.py", line 976, in test_
    get_previous_version
        ret = self.s.get(self.id, revision=revs[i])
      File "/home/wking/src/fun/be/be.wtk/libbe/storage/base.py", line 335, in get
        value = self._get(*args, **kwargs)
      File "/home/wking/src/fun/be/be.wtk/libbe/storage/vcs/base.py", line 849, in _
    get
        raise InvalidID(id, revision)
    InvalidID: unlikely id in revision 1
    ...

commit 76d983ec670ec7f09dace232e8553a80b2a08878
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 11:47:59 2010 -0500

    Fix bzrlib.builtins.cmd_ls() recursion argument for pre 2.0 bzrlibs.

    $ python test.py libbe.storage.vcs.bzr
    ...
    ======================================================================
    ERROR: Children list should be revision dependent.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File ".../libbe/storage/base.py", line 997, in test_
    get_previous_children
        ret = sorted(self.s.children('parent', revision=revs[i]))
      File ".../libbe/storage/base.py", line 314, in child
    ren
        return self._children(*args, **kwargs)
      File ".../libbe/storage/vcs/base.py", line 811, in _
    children
        path = self.path(id, revision, relpath=False)
      File ".../libbe/storage/vcs/base.py", line 716, in p
    ath
        path = self._vcs_path(id, revision)
      File ".../libbe/storage/vcs/bzr.py", line 145, in _v
    cs_path
        self.repo, revision=revision, recursive=True)
      File ".../libbe/storage/vcs/bzr.py", line 163, in _v
    cs_listdir
        cmd.run(revision=revision, path=path, recursive=recursive)
      File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 800, in ignor
    e_pipe
        result = func(*args, **kwargs)
    TypeError: run() got an unexpected keyword argument 'recursive'
    ...


    The change is due to (in bzr.dev):

    revno: 4206.2.1
    revision-id: ian.clatworthy@canonical.com-20090326133831-orvicmmc6w29mpfp
    parent: pqm@pqm.ubuntu.com-20090326063330-evutyvml3067dpsz
    committer: Ian Clatworthy <ian.clatworthy@canonical.com>
    branch nick: bzr.ls-recursive-off
    timestamp: Thu 2009-03-26 23:38:31 +1000
    message: ls should be non-recursive by default

    Which occured between bzr-1.9rc1 and 2.0rc1.:

    bzr.dev$ bzr tags
    2.0rc1               4634.9.1
    ...
    bzr-1.9rc1           3815.3.1
    bzr-2.0.1            4634.73.2
    ...

commit 811117714a99252782a3eb064ff9e6346b77403a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 10:56:44 2010 -0500

    Oops, fix Comment doctest EDITOR cleanup

commit a4e704d5f2dcd557bf7789ad8e1e53708f2bccdc
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 10:42:32 2010 -0500

    Add #bea/9c2# : Can comment punt functionality to email.Message?

commit 9e264f197e550ee70f1e40e311bead7778d959d4
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 28 07:33:51 2010 -0500

    Don't accidentally spawn VISUAL in Comment doctests.

commit 9b42ab6d3e2372c2c0f26a0788f8b84d1d346171
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 16:50:34 2010 -0500

    Implement Arch._vcs_path()

    Fixes VersionedStorage_commit_TestCase.test_get_previous_children.
    Should have fixed
      VersionedStorage_commit_TestCase.test_get_previous_version
    too, but 'tla file-find' is buggy:
      https://bugs.launchpad.net/ubuntu/+source/tla/+bug/513472

    Also:
      * sort children in test_get_previous_children, since we shouldn't
        require a particular child order
      * unescape filenames in Arch._diff()
      * remove debugging prints from Arch._parse_diff()
      * remove silly blank line in git.py I'd stumbled across ;).

commit 9ad4b1cadfd0adf3fd359c274856a196019e913c
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 12:47:37 2010 -0500

    Implement Arch._vcs_changed().

    Fixes VersionedStorage_changed_TestCase.test_changed failure.

commit da686174480de4cb3b881e3d42bbc8d68e9dfb43
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 12:41:18 2010 -0500

    Fix StorageTestCase.classname -> ._classname()

    Introduced in
      wking@drexel.edu-20100127152727-nu58o4g6jea5or7w

commit 4bdab70a66bf050ae72dc5960462adcb717b3f26
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 12:06:53 2010 -0500

    `be html` links (<a href="...) #-delimited references in text/* bodies.

commit 4203368d2a1f9cc794646754a5027e307074fbf6
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 10:27:27 2010 -0500

    Make VCS error messages and Storage test failures more descriptive

commit 8a07fe257946104c80f656617c168a340f4dae77
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 08:39:00 2010 -0500

    Add --help, --quiet options to test.py.

    Fixes Ben's "unintuitive test.py interface" bug:

    Date: Wed, 27 Jan 2010 14:09:14 +1100
    From: Ben Finney
    Subject: [Be-devel] Re: Test suite on Trevor's development branch
    ...
    > $ python ./test.py -q
    >
    > ----------------------------------------------------------------------
    > Ran 0 tests in 0.000s
    >
    > OK

    Running a Python unittest-capable test suite with "-q" should run it in
    "quiet" mode, where progress is indicated by single characters along a
    lone, and only failures and errors are reported.
    ...

commit d2752cde56e7cf67abc2e7f0a0fc91612016585f
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 08:22:22 2010 -0500

    Encourage a run of `make` to build auto-generated files.

    Fixes Ben's "unintuitive test procedure" bug:

    Date: Wed, 27 Jan 2010 14:09:14 +1100
    From: Ben Finney
    Subject: [Be-devel] Re: Test suite on Trevor's development branch
    ...
    > $ python ./test.py
    > Traceback (most recent call last):
    [...]
    > ImportError: No module named _version

    So it's not possible to simply get a copy of the branch and try running
    the test suite.
    ...

commit e0d0e0825add948a89c8ad305a3b259b743ec91d
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 27 08:07:31 2010 -0500

    Streamlined libbe.command.serve, adding --auth option, #/bea/c1b#, and testing.

commit 2cc9755aef6a7b36bf1b32519b5997b5221f4e5a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 25 16:49:00 2010 -0500

    Added --ssl to `be serve` using cherrypy.wsgiserver.

commit ec6a1c13a5322064d9da4afecd0dbb611882255d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 25 12:15:57 2010 -0500

    Convert libbe.command.serve to WSGI for increased flexibility.

    The Python Web Server Gateway Interface (WSGI) is a simple and
    universal interface between web servers and web applications or
    frameworks.  See PEP 333 for details.
      http://www.python.org/dev/peps/pep-0333/

commit 9518e1a98e642175a2de74a8d6e54126b9399210
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 25 07:54:37 2010 -0500

    Rework fix for #bea/8fc# : be crashes on outdated id-cache

    Now we re-run CachedPathID.init in an 'append' mode, rather than
    starting over from scratch.  This avoids problems like

      ======================================================================
      ERROR: Should not be able to add children to non-directories.
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File ".../be.wtk/libbe/storage/base.py", line 680, in test_add_invalid_directory
          self.s.add('child', 'parent', directory=False)
        File ".../be.wtk/libbe/storage/base.py", line 248, in add
          self._add(id, *args, **kwargs)
        File ".../be.wtk/libbe/storage/vcs/base.py", line 737, in _add
          path = self._cached_path_id.add_id(id, parent)
        File ".../be.wtk/libbe/storage/vcs/base.py", line 267, in add_id
          parent_path = self.path(parent, relpath=True)
        File ".../be.wtk/libbe/storage/vcs/base.py", line 246, in path
          raise InvalidID(uuid)
      InvalidID: parent in revision None

    and similar.

commit a87dde3eab86554f0ff70fb53d142ca7bca28b55
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 25 07:31:57 2010 -0500

    Don't print 'Multiple paths' message on cache regen

commit 7d01fa142b05149479e633525fc4d7ddfa2addf0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 24 20:39:00 2010 -0500

    Fixed #bea/8fc# : be crashes on outdated id-cache

    Also explicitly avoid loading or saving settings for root comments.

commit bafb9fe5bb206422aae9baf3d083a035a072fa56
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 24 19:51:17 2010 -0500

    Added bug #bea/8fc# : be crashes on outdated id-cache

commit 53074356bf715c820d3b9b852cd45e5073ba765d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 24 11:20:47 2010 -0500

    Rewrote documentation

commit 9244610e37ed846bf3789601b0ef4645b4f98409
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 24 11:00:09 2010 -0500

    Added some bugs (and fixed typo) noticed while rewriting documentation

commit d02bebf9909f3ada44719b1823c302f56cc0637e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 24 10:59:20 2010 -0500

    Fix Diff.comment_body_change_string's difflib.unified_diff call

commit 69e595f71a6f1f3d393c2707d94508efceaf56aa
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 19:28:57 2010 -0500

    Fixed List --severity handling, added --important

commit 35e12f3d56dfc21c49f7e49a59ecf875a7770715
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 18:51:57 2010 -0500

    Fix vars call for `be target --help`

commit d3993355255769745d490ba7c6b25458fb8cd605
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 18:49:13 2010 -0500

    Update --subscriber option help string for Subscribe

commit f0e09f5615af0e7b794d802a25a06eddd142fade
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 16:49:46 2010 -0500

    Modern ID format in `be list` _long_help

commit 606a11d1b0a415d0b24cc56634660be2a985bb7c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 16:44:55 2010 -0500

    Fix broken handling of non-text/plain comments

commit 82cbdccfcd10e9b61e234c80e2a6d3703b2c93a2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 15:56:14 2010 -0500

    Added "Created comment..." output to `be comment`

commit 04cd30589f138704e9cf88ee37f6549733cbe7e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 11:40:11 2010 -0500

    Reorganized documentation to clean doc/ for user-readable files

commit 2f7045deeb0225fed1692b3390502077e4907758
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 11:11:04 2010 -0500

    Update test_usage.sh

commit 3b0f1436ce39ff7cfc2782ea4aa327d50736805d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 11:10:45 2010 -0500

    Fix typos in untested parts of List and Import_XML for test_usage.py

commit 14a4615880dacca1b96585fd9620d96a8cc46873
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 10:05:07 2010 -0500

    Added `be list --mine`

commit c8afe57fdc1111bdf5f053c0f2a9f4c38599c6de
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jan 23 10:05:00 2010 -0500

    Init should tell the UI about its connected storage and bugdir.

commit 331a641325daf3b067ecde2a51b5308c9287444e
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 20:38:57 2010 -0500

    Move BugDir, Bug, and Comment to new _setup_saved_settings

commit 4d925a688394b7840ec81165bbf2cdd43536f01b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 20:35:23 2010 -0500

    Added testSimplePropertySetStorageSave and relavant rewrites to settings_object

    It hadn't been handling the "attach storage after initializing"
    technique that BugDir, Bug, and Comment use when from_memory==True.
    Now it does, by refusing to overwrite self.settings with the
    newly-loaded settings.

commit e9c0a069dc1819fc3225501f362c3e9c130cb72b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 14:14:03 2010 -0500

    Add Bzr._vcs_exists() anyway :p

commit 355219426b8577123ea3db2d6b7247ec4fc085ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 14:13:08 2010 -0500

    We don't need VCS._vcs_exists yet, with exists only used in _add

commit e2507e15c2a7b46bfd2bd76056368e4a3398472f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 14:05:01 2010 -0500

    Minor cleanups + remove debuging line in Init doctest

commit aca616cef21fb7938e1aeb3edd87c96461476150
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 13:54:53 2010 -0500

    Add VCS._exists(), VCS.path().  Fix default handling in VCS._get().

    VCS.path() consolidates a bunch of distributed code.

    The VCS backend cannot distinguish between _EMPTY and '' entry values,
    so it assumes
      len(contents) == 0
    means _EMPTY.  However, it had been returing None then, not default
    like its supposed to.

commit d72430fee347e21a9b9e7912417615bbdb22e6d4
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 13:28:01 2010 -0500

    Added _EMPTY and Storage.exists() to libbe.storage.base.

    There seem to be problems distinguishing between "added but unset" IDs
    and "added and set to ''" IDs.  Now _EMPTY lets us mark "added but unset",
    and Storage.exists() handles "already added?" more clearly than the old
    hack "does .get() succeed?".

commit bda68bb5d93f4b608fb1dd17c5a0cf1bb406daf9
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 11:30:26 2010 -0500

    Reworked settings_object module, but command.init tests still fail:

    $ python test.py libbe.command.init
    Doctest: libbe.command.init.Init ... FAIL
    ...
    -----------------------
    File ".../libbe/command/init.py", line 47, in libbe.command.init.Init
    Failed example:
        ui.run(cmd)
    Exception raised:
        Traceback (most recent call last):
          ...
          File "/tmp/be.wtk/libbe/command/init.py", line 97, in _run
            bd = libbe.bugdir.BugDir(storage, from_storage=False)
          File "/tmp/be.wtk/libbe/bugdir.py", line 185, in __init__
            self.save()
          File "/tmp/be.wtk/libbe/bugdir.py", line 228, in save
            self.save_settings()
          File "/tmp/be.wtk/libbe/bugdir.py", line 204, in save_settings
            mf = mapfile.generate(self._get_saved_settings())
          File "/tmp/be.wtk/libbe/storage/util/settings_object.py", line 230, in _get_saved_settings
            self, self._setting_name_to_attr_name(k))
          File "/tmp/be.wtk/libbe/storage/util/properties.py", line 194, in _fget
            value = fget(self)
          File "/tmp/be.wtk/libbe/storage/util/properties.py", line 329, in _fget
            primer(self)
          File "/tmp/be.wtk/libbe/storage/util/settings_object.py", line 69, in prop_load_settings
            self.load_settings()
          File "/tmp/be.wtk/libbe/bugdir.py", line 194, in load_settings
            self.settings = mapfile.parse(settings_mapfile)
          File "/tmp/be.wtk/libbe/storage/util/mapfile.py", line 123, in parse
            c = yaml.load(contents)
          ...
          File "/usr/lib/python2.6/site-packages/yaml/reader.py", line 213, in update_raw
            data = self.stream.read(size)
        AttributeError: 'NoneType' object has no attribute 'read'
    ...

commit a818e71b0c3ae00e7c67ce745e49c7cef7ceac55
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 09:17:08 2010 -0500

    Added unprimableVal option to primed_property.

    For clearer handling of the "Tried to load but failed" case.

commit 2cd6b109becedafa7aab4060ab4fee66a624bf59
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 22 09:15:36 2010 -0500

    Added tests to Init to check for empty settings file

commit 6abea58e9359f14b256edb2dca0690b9c3ffe875
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 20:54:00 2010 -0500

    Add Comment.safe_in_reply_to to improve comment xml output.

    Now
      be show --xml ID | be-xml-to-mbox | catmutt
    shows appropriate linking regardless of missing references or
    references to alt-ids in the original comments.  On the other hand,
      be show --xml ID | be import-xml
    could alter alt-ids.  If that's a problem we could turn off
    save_in_reply_to usage via an option to the xml methods in the future.

commit 8b143aa8280181ebdd7b48ac72cda685329f3002
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 17:25:05 2010 -0500

    Don't raise MultipleIDMatches if one of the matches is exact.

commit 508c0c0ec73bdcb802d18b30a6e5f40a04dfed52
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 13:07:05 2010 -0500

    Fix be-handle-mail's notification creation for new libbe structure

commit e531ce31bd50db83919864fe3738914126337e91
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:52:24 2010 -0500

    Ajdust Target tests for cached BugDir.uuids() implementation

commit 268cf3260b21f44c14c4b819ef7dc41db8b0c6cf
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:48:07 2010 -0500

    Fix _uuids_cache reset in BugDir._clear_bugs

commit 7fae8599ba74ecf3d36c9466feec25b3c3f36529
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:47:38 2010 -0500

    Update libbe.storage.util.settings_object tests for new ._get_saved_settings

commit 98faed2675ef86c4c9e59de57e815526fcad57f2
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:45:49 2010 -0500

    Fix version import for mercurial <= 1.1.2

commit 98dc89a994db1c5b77db786498a4b3783edb325c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:24:45 2010 -0500

    Use _get_user_id() in New, remove unused 'user-id' prop. from Commit.

    Added creator field to bugs without creator information.  Mostly this
    is due to the recent lack of creator-setting in `be new`.

commit f0d54fa01b024f740cd421e8de95b2a9a6c29a13
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 12:24:05 2010 -0500

    Add _uuids_cache management to BugDir._clear_bugs

commit e5c65b664a56fe63fa8b6a40680200cd47219618
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 10:25:24 2010 -0500

    Add wrap_id to improve id handling in be-xml-to-mbox

commit a7134ad51224e33df79d4589b677ad0718387f48
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jan 21 09:17:40 2010 -0500

    Converted `be list --xml` to <be-xml> format.

    Fixed up be-xml-to-mbox following the recent libbe restructuring.

    Moved stdout manipulation in be-mail-to-xml into the if __name__ ==
    '__main__' block, in case some other module wants to recycle some of
    its functions/methods.

commit be2de86f947b7bf2bb44f415df0a6f685633a64b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 19:15:02 2010 -0500

    Fix not-yet-loaded bug in SavedSettingsObject._get_saved_settings()

    The earlier implementation only copied in the currently loaded
    properties and the required ones.  The new implementation copies
    in _all_ the non-default properties.

commit ca10c6d19b515bae54dcdfe44c65c32e57ac018b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 19:13:44 2010 -0500

    Improve `be import-xml` handling of root comments + tests.

commit dc77d9d23ed4707430c33f440ad8edd60b6e24d6
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 16:25:18 2010 -0500

    Fix BugDir._uuid_cache management for new_bug()/remove_bug().

    Initial implementation in wking@drexel.edu-20100120192451-j206hn1s78u9a3ys
    missed them.

commit 55f1e8588edc35410dd16b883e7cddd06ebc4ed6
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 15:44:39 2010 -0500

    Strip footers (signatures) in be-mail-to-xml

commit c8985785eb741ff646082879f1ca5e9cfe3873b0
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 15:22:28 2010 -0500

    'be-mbox-to-xml' -> 'be-mail-to-xml' + support for several formats.

commit fdc203bdae26aecb475a03c3da17cd44ee376a9c
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 14:24:51 2010 -0500

    Optimized BugDir.uuids, caching on-disk bug uuids.

    Output of
      python -m cProfile -o profile be list
      python -c "import pstats; p=pstats.Stats('profile'); p.sort_stats('cumulative').print_stats()"
    on my slow netbook before optimization:
       ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        10290    0.417    0.000   10.832    0.001 libbe/bugdir.py:237(uuids)
    after optimization:
          105    0.063    0.001    0.250    0.002 libbe/bugdir.py:237(uuids)
    The old generator produced many more calls than the new
    implementation, but the number of calls was not the source of the
    slowdown (data not shown ;).

commit 7e8237f5004a86be0bd90c77e0640cd265a61d72
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 12:28:26 2010 -0500

    Add entry points for functionality needed by CFBE (and probably other UIs)

commit d91aae83516d0326a0c4d19153f18d675674cc4c
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 09:27:16 2010 -0500

    Adjust to modern mercurial version definition.

      hg-stable$ hg log --patch mercurial/util.py
      ...
      changeset:   7640:9626819b2e3d
      user:        Matt Mackall <mpm@selenic.com>
      date:        Sat Jan 10 18:02:38 2009 -0600
      summary:     refactor version code

      diff --git a/mercurial/util.py b/mercurial/util.py
      --- a/mercurial/util.py
      +++ b/mercurial/util.py
      @@ -142,6 +142,14 @@
           """Find the length in characters of a local string"""
           return len(s.decode(_encoding, "replace"))

      +def version():
      +    """Return version information if available."""
      +    try:
      +        import __version__
      +        return __version__.version
      +    except ImportError:
      +        return 'unknown'
      +
       # used by parsedate
      ...
      hg-stable$ hg tags
      ...
      1.2                             7823:11efa41037e2
      1.1.2                           7497:11a4eb81fb4f
      ...

commit 4437e500b4ad6bf7c007d8207928b3b1b0c01d3c
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 09:06:58 2010 -0500

    Fix _u_rel_path problems in VCS._children

commit 116c6eb9e54dd223d715923dc6fb32e87a89aad6
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 07:32:56 2010 -0500

    Fixed `be help` (used to raise NotImplementedError)

commit 34b5bbd98e420672ecce64ba085bbf1a4205267e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jan 20 07:19:56 2010 -0500

    Add better help message on COMMAND-less be call

commit d5c54945c7d74fab9b41f39ce31ac5f039e864a2
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 10:46:41 2010 -0500

    Added shortname (.id.user()) data to `be html`s comment data

commit b3d2784971e7a4fc088da46122c8351e1aea405f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 10:37:31 2010 -0500

    Allow forward slashes (/) in commit email tags in be-handle-mail.

    Also move unitsuite definition to the end of the file so it picks up
    GenerateGlobalTagsTestCase.

commit ebcf057be68161a2a2ceee34622f24d89a7022a0
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 10:09:12 2010 -0500

    Fixed libbe.utuil->libbe.util typo in be-handle-mail.

    Also removed some references to the old XML interface.

commit 449d80de4bb035542498623133b9cd347e7cfe13
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 09:43:37 2010 -0500

    Use relative paths *._vcs_* methods.

commit 023bfa3195b3e45d1d12a6890f94e9c28b255f87
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 09:09:42 2010 -0500

    Marked #bea/ed5# as fixed

commit d8e23d5ef87a3ae4d6af38a28c095fc5a1bb1841
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 09:04:09 2010 -0500

    Adjust command.serve.Serve doctest to clarify remaining test failures.

    Current test output
      $ python test.py libbe
      ...
      FAILED (failures=1, errors=3)

    All failures and errors due to unimplemented functionality

    Errors:
      * Darcs._vcs_isdir() not implemented (for Darcs <= 2.3.1)
      * Arch._vcs_path() not implemented
      * Arch._vcs_changed() not implemented

    Failures:
      * command.serve.Serve tests not implemented

commit d616494d67e5d50f85fccf12c2e679389f7445e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 09:02:45 2010 -0500

    Better error messages in VCS._get

commit e86d95647ba1dbd451fc06d0a25407e1e39cb023
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 08:59:18 2010 -0500

    Work around the extra output of `tla file-find` to get path.

    Example output:
      * build pristine tree for ...--patch-1
      * from import revision: ...--base-0
      * patching for revision: ...--patch-1
      ./{arch}/++pristine-trees/...--patch-1/./.be/unlikely id

commit a3b0c3e2b90c392279208416eb6a603dae4a9b7a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 08:48:33 2010 -0500

    Generate string properly in libbe.util.subproc.CommandError

commit bcb526c0c8c48cfdcd34765198642b06d915114e
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jan 19 08:45:04 2010 -0500

    Work around Mercurial issue618 in Arch backend.

    Also add some NotImplementedErrors for clearer diagnostics.

commit a1eaad0ac5250ed062d86a3636ca06ec9aa95b67
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 16:35:33 2010 -0500

    Added changed() support for Darcs

commit f0fa5a2de59c409301b908d675d028bf2fe5e541
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 14:28:10 2010 -0500

    Fix modified ID reference in libbe.diff.Diff._changed_bugs

commit d1a6fe5580485e2de745c356dc1d053b0cf233a5
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 14:22:11 2010 -0500

    Add .changed support to HTTP storage backend.

    Also work around urlparse.parse_qs location in Python <= 2.5.

commit cf6ca270ea59b3a2afbdd83e65c8e81760f85633
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 14:05:59 2010 -0500

    Add ancestors support to HTTP storage

commit 51f24ff4b3bae358ecd9903537885f4eaf0d1e4b
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 13:12:46 2010 -0500

    Add .changed() support to Hg

commit 7c1df98108a94f14c7bdfa635f489aff7c1f52af
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 12:46:56 2010 -0500

    Fix VCS doctest for +revision InvalidID error message

commit e06f1aa3f5db039fa8bf1f26412059fe99588a2b
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 12:46:08 2010 -0500

    Add class name to StorageTestCase failure reporting

commit 0fbf5228f40a93b6090f5bfc392d4fb58349ed04
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 12:29:09 2010 -0500

    Use RevisionedBugDir, not .duplicate_bugdir() in libbe.command.diff

commit 3624886b80b506a9140cda1877c05c8fb831ac3d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 12:27:16 2010 -0500

    Optimized libbe.diff.Diff._changed when old bugdir is a RevisionedBugDir

commit 7ae29f930fe73adada5174a2ce74266411809ac7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 12:25:17 2010 -0500

    Added VCS._u_find_id_from_manifest for faster id->path calculation

commit c7945daa3e1413b7c789df182b39c12dfbe2b4db
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 10:12:25 2010 -0500

    Adjust VCSTestCase method docstrings for unittest.

commit 8e0e670cb788d941d3ce109da41d1d4491c85032
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 10:10:30 2010 -0500

    Added VCS._ancestors

commit 3de27f5863be5ce00a4afef7eb5a4ea918c136db
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 10:00:31 2010 -0500

    Added Storage.ancestors

commit bfd72d4fcd742ee356ec22d2fa4de5e2db23dde2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 09:28:16 2010 -0500

    Moved BugDir.duplicate_bugdir to RevisionedBugDir class

commit ba583f2af95291bf210da819978810dbbb9bfb56
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 09:26:53 2010 -0500

    Ignore paths with _u_path_to_id errors in VCS.changed

commit 9fd1decbc4631a8d4d3fcbfde11358ec215be162
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 08:45:16 2010 -0500

    Add .changed() support to Bzr

commit 310d934c08e99c10438df4e61e9f3e716444a57a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 08:06:30 2010 -0500

    Add .changed() support to Git

commit ed6e3707a45804a282601ab9ec1ac2b5c8ef47c0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 08:06:08 2010 -0500

    Add .changed() support to VCS

commit 1c42075f6b3ba35bbb32e3ec6549f30024ad7179
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 08:02:52 2010 -0500

    Too much trouble to handle Git's lack of dir versioning in test_get_previous_children

commit 8688804803235e1ca472526ed1904599bfba8e6c
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jan 18 07:53:59 2010 -0500

    Add VersionedStorageTestCases in make_versioned_storage_testcase_subclasses

commit 2ab53616af78a0f84b768f65c7a5dbb0c6ed9492
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 15 21:30:04 2010 -0500

    Added libbe.storage.base.VersionedStorage.changed() and a test.

    Also converted libbe.storage.base.VersionedStorage revision ids
    from integers to strings.

commit 1a066af44dd6f5b3f0a3a7abe79f4f9baf7b74b3
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 15 14:14:02 2010 -0500

    Update setup.py to install submodules.

commit d06f64279f2891df7bd0a85633c05610be525d50
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 3 11:38:53 2010 -0500

    Added #bea/343# : Attach tests to bugs

commit 3dc696a100fa912296dc236f465f47049387d2a4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 3 11:33:56 2010 -0500

    Changed `be list --uuids` to `be list --ids`

commit f08a1e8e195b37bef4bc78e5f66ae730c9ee061e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 3 11:06:48 2010 -0500

    Added doc/distributed_bugtracking with some simple use-case notes

commit dba76dc22663f3614d1c6a14fa1a79aee77034c7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 3 11:05:57 2010 -0500

    Add #bea/814# : Add Roundup-like flexibility

commit bc3cd9cfa6685ff7006b511e64a562ff9e41da9c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jan 3 11:04:50 2010 -0500

    Add #bea/ed5# : Slow and ugly diff implementation

commit 286c686cb50eb8240fa9b15365d61783279b86a2
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:54:01 2010 -0500

    Updated NEWS

commit 1676f2f2951739a276e071ef7821609193fe15b0
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:51:13 2010 -0500

    Fixed update_copyright.py's subproc import and updated copyrights

commit 65287e2dfe5c4958bfc5d06f99ea4371e4c67fe7
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:55:49 2010 -0500

    Serve.handle_*() now raise _HandlerError so the .do_*() methods know.

    Before there wasn't a good way to tell if the handler had experienced
    an error, or just didn't want to return anything.

commit f114d9add0610c025110681c09a2f2eb4acedfa5
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:48:03 2010 -0500

    Fixed commit handling in commands.serve and storage.http

commit 0679e0b1fd941d6aefef146fb4289472edee9b62
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:33:39 2010 -0500

    Use more kwargs in libbe.command.serve

    kwargs make things easier to maintain.

    Also make sure the .handle_*() methods return two items
      (content,ctype)
    even when both are None.

commit ecc2dd71287b46db316d8ef050a0bdb22bfc0fa5
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:11:48 2010 -0500

    Improved POST and error handling in `be serve`

    POST handling:

    Drop the cgi.FieldStorage() in favor of the old urlparse.parse_qs().
    We need a dictionary, which FieldStorage is not.  However, I added
    .read_post_data() since my old self.rfile.read() was hanging.  The
    read_post_data() implementation comes from the
    FieldStorage.__init__().

    Error handling:

    wrap .handle_*() blocks in try/except to handle Storage errors

commit 4112da95162240eae73b00f53078451f5b38d610
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 16:10:45 2010 -0500

    Fixed some stupid typos in libbe/storage/http.py

commit d7a8c4bc0ad6b96bad5ee1ff71602fcd3c70b678
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 15:33:23 2010 -0500

    Improved POST parsing, fixed Serve._long_help(), added --read-only.

    POST parsing via cgi.FieldStorage from Doug Hellmann's
      http://blog.doughellmann.com/2007/12/pymotw-basehttpserver.html

commit 5f26c407789a2f8fc51d89b6d0c590253b50c754
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 14:43:03 2010 -0500

    Added libbe.command.serve and libbe.storage.http for HTTP backend.

    Now the following works:
      some-BE-dir$ ./be serve
      $ ./be --repo http://localhost:8000 list

    I haven't come up with a clean idea for testing this yet, so other
    commands may be broken, but once we get the testing working, it
    shouldn't be too hard to get everything working over HTTP :).

commit d313d3651ae5875fda86491e693e1963d2de91a5
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 14:41:01 2010 -0500

    Hand nonexistent paths in VCS._u_search_parent_directories().

    search_parent_directries raises an AssertionError if the original path
    doesn't exist.

commit 95f9395487126f97225f5e25f0c833ee6c02a644
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 10:46:23 2010 -0500

    Return a meaningful Storage.version()

commit 4d4283ecd654f1efb058cd7f7dba6be88b70ee92
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jan 1 08:11:08 2010 -0500

    Updated copyright information

commit 2d1562d951e763fed71fe60e77cc9921be9abdc9
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 15:33:39 2009 -0500

    Use fragment in base command completion + command io fixups.

commit aacf928c27da30856a6e15b2ec7778f5707504ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 14:49:58 2009 -0500

    Updated NEWS and closed #bea/110#

commit 977ec6a64c8238bbed54bb41839aec2098a509ec
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 14:33:30 2009 -0500

    Brought be-handle-mail up to date

commit cfae8a8302f06a84196700138d7ddbb25e91ea31
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 14:32:39 2009 -0500

    Added UserInterface and other improved abstractions for command handling

commit 80e76f70d58672167b17ddaced6c7856ba703ece
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 12:36:29 2009 -0500

    Better import error messages in test.py

commit 0d31c5a14719ed8f18b1554b3975690aea81c719
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 11:47:33 2009 -0500

    Track connection status to allow multiple Storage.disconnect() calls.

    This makes cleaning up UIs easier: just call disconnect() :p.

commit 7452e54d3e08c8c40a52209a19e1436622987d36
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 31 06:51:27 2009 -0500

    Removed libbe/ui/base.py.  Basic UI definitions are in libbe/command/base.py.

commit 072a46eefb66733ae570a9fb9abbc9570461a490
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 21:53:58 2009 -0500

    Emptied interfaces directory

    Mostly throwing out a bunch of outdated GUIs.  The email interface
    hasn't been moved over to the new 'Command' format yet...

commit 16877141d526a5387a0f673b56c1cd6f3b900674
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 21:37:14 2009 -0500

    Correct for possible directory changes in mercurial.dispatch.dispatch()

    I ran across this when the hg unittests broke the vcs.base unittests:
      $ python test.py libbe.storage.vcs.base libbe.storage.vcs.hg
      ...
      OK
      $ python test.py libbe.storage.vcs.hg libbe.storage.vcs.base
      ...
      File ".../libbe/storage/vcs/base.py", line 914, in libbe.storage.vcs.base.VCSTestCase.Class._u_rel_path
      Failed example:
          vcs._u_rel_path("./a", ".")
      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.storage.vcs.base.VCSTestCase.Class._u_rel_path[4]>", line 1, in <module>
              vcs._u_rel_path("./a", ".")
            File ".../libbe/storage/vcs/base.py", line 921, in _u_rel_path
              path = os.path.abspath(path)
            File "/usr/lib/python2.5/posixpath.py", line 403, in abspath
              path = join(os.getcwd(), path)
          OSError: [Errno 2] No such file or directory
      ...
      FAILED (failures=1)

commit ec2472daa930a46949fcdb3fb9ca715f9bb3f200
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 21:25:33 2009 -0500

    Disable mercurial.demandimport, since it breaks Bzr

    Running
      python test.py libbe.storage.vcs.hg libbe.storage.vcs.bzr
    with the old setup produced lots of
      Traceback (most recent call last):
        File ".../libbe/storage/vcs/base.py", line 1010, in setUp
          self.s.init()
        File ".../libbe/storage/base.py", line 170, in init
          return self._init()
        File ".../libbe/storage/vcs/base.py", line 664, in _init
          self._vcs_init(self.repo)
        File ".../libbe/storage/vcs/bzr.py", line 88, in _vcs_init
          cmd.run(location=path)
        File ".../python2.5/site-packages/bzrlib/builtins.py", line 1685, in run
          format = bzrdir.format_registry.make_bzrdir('default')
        File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3452, in make_bzrdir
          return self.get(key)()
        File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3398, in helper
          bd.set_branch_format(_load(branch_format))
        File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3385, in _load
          [factory_name])
        File "/var/lib/python-support/python2.5/mercurial/demandimport.py", line 108, in _demandimport
          setattr(mod, x, _demandmod(x, mod.__dict__, locals))
        File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 106, in __getattribute__
          obj = _replace()
        File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 88, in _replace
          extra=e)
      IllegalUseOfScopeReplacer: ScopeReplacer object 'branch' was used incorrectly: Object already cleaned up, did you assign it to another variable?: _factory

commit 07ee90254ce64ec734dacebea715a0b7a24599af
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 21:17:39 2009 -0500

    Use ._vcs_is_versioned() in VCS._children()

    Otherwise Arch will return '.arch-ids' in its list, etc.

commit b1540a08131173ace920f2d3d0829e54b8f26283
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 21:12:12 2009 -0500

    Fixed make_*_testcase_subclasses() to avoid duplication.

    Also removed final check for 'parent' existence in
      Storage_add_remove_TestCase.test_remove_nonrooted()
    because some VCSs (e.g. Git) don't keep track of blank directories.

commit d595aba006a39a2d75067fb7fc82956538e7e16d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 20:13:43 2009 -0500

    We don't do much with Mercurial's ui, so _dispatch -> dispatch

commit 1a66c3f33c4ccbdf1c430c0d6af3d028ef261d4b
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 20:06:27 2009 -0500

    Don't chdir() in libbe/command/html.py doctests.

commit 182a44a4a284e118da03c1182f2b9a8b76dd0d93
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 19:53:13 2009 -0500

    Don't worry about whitespace in `be --help`

commit 1d764100cbe15c8fe26b836ed0e9d494ab14500d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 19:49:50 2009 -0500

    Remove libbe.ui.util.cmdutil

    All of its functionality has moved off into more focused modules.

commit 6ab6b8d0255ccf3557453fc0762d1529d39462ed
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 19:48:33 2009 -0500

    Propogate long_to_short_user() -> long_to_short_text() and inverse

    I'd missed some calls when I made the changes.

commit 9a62c4beea7c89905dc487bdbe2e46fed4b83f21
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 19:19:15 2009 -0500

    Restored post-colon spaces in doctests

commit 4372a17b4215df25b3da0b68daf4d6b490a8955c
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 19:00:40 2009 -0500

    Fixed up the completion helpers in libbe.command.util

    This entailed a fairly thorough cleanup of libbe.util.id.

    Remaining unimplemented completion helpers:
      * complete_assigned()
      * complete_extra_strings()
    Since these would require scanning all (active?) bugs to compile
    lists, and I was feeling lazy...

commit d0fdc606a0420807cfbde0519d1807bd16f14c37
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 11:28:40 2009 -0500

    Commented #bea/110/781# on why I'm not supporting Arch.child(revision)

commit 268713c0e2ed76edd84a2196b5c14fe1bc4ff08a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 10:39:09 2009 -0500

    Updated Darcs backend towards supporting .children(revision).

    ._vcs_isdir() and ._vcs_listdir() will need to parse the output of
      darcs show files [options] --patch REVISION PATH
    but both the --patch option and the PATH argument are new, and I can't
    get a recent enough version of Darcs to compile on my system.
    Theoretically they will work, but they remain untested for now.

    I don't think it's worth rolling my own
      darcs show files --patch REVISION
    to support earlier versions of Darcs, since the only solution I can
    think of now would be to check out the given revision and use
    os.walk() or some such, and that would be really ugly...

    Also added .version_cmp() for easy version comparison.

    Reindented ._vcs_get_file_contents() to remove trailing elses since
    the if clauses all contain returns.

commit b2d5da700c83f693191573c300aee1ffb80a8e98
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 10:18:20 2009 -0500

    Added an additional VCS._u_rel_path() unittest.

    Also re-enabled the unitsuite in libbe.storage.vcs.base, which
    I'd disabled while testing the VCS unittests.

commit 6dafff3ad4a88d8af7b1cd4837b90179ac34a1e3
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 09:46:59 2009 -0500

    Added root directory handling to VCS._u_rel_path().

    Now it returns '.' when you ask for the relative path from root to
    itself.  It used to raise AssertionError or InvalidPath.

commit 8bf8e2271f8273bdba3f8327d08b505a0fae11d5
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 06:40:38 2009 -0500

    Adjust Git._vcs_isdir() to Python-2.5-compatible syntax

commit aba3a8b27063a1765c49194cb7f9aba8b277d92f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 06:36:23 2009 -0500

    Updated Hg backend to support .children(revision).

commit 0aa80631bd2dc0a5f28f1dd7db2cbda7d14e67fe
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 05:52:27 2009 -0500

    Hg storage now based off mercurial module, not 'hg' executible.

    This should make repeated calls to Hg storage instances _much_ faster,
    since we avoid repeatedly loading and tearing down a python subprocess.
    For example, the testsuite runs ~6x faster on my box.

    Here's a run with the old Hg implementation:
      $ python test.py libbe.storage.vcs.hg
      ...
      =================================
      ERROR: test_get_previous_children
      ---------------------------------
      Traceback (most recent call last):
        ...
      NotImplementedError

      ---------------------------------
      Ran 49 tests in 133.285s

      FAILED (errors=1)

    A run with the new implementation gives the same results, except for:
      Ran 49 tests in 22.328s

commit d1726c47dccc7a7c7db1f038bc30a5712bb70153
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 29 04:43:42 2009 -0500

    Adapted BugDir.duplicate_bugdir() to use revision-dependend Storage.children()

commit e0e7328742b92cb5e08aeec348fce966375d7d52
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 13:22:27 2009 -0500

    Updated Git backend to support .children(revision).

    + some minor fixes to vcs/base.py and vcs/bzr.py

    Also removed .be/id-cache, which should never have been versioned in
    the first place.

commit c90044dff5feaf5f43fee9e8559fecec2ec60091
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 12:30:19 2009 -0500

    Fixed VCS.children() and Bzr.children() for non-None revisions.

    Now they both pass
      VersionedStorage_commit_TestCase.test_commit_revision_ids()

    The .children() implementation for previous revisions lacks the
    working directory's id<->path cache, so it's fairly slow...

commit 2d6ed9ec7181ef805f305c6c8b7152c1b9ec6ec8
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 11:13:49 2009 -0500

    Added VersionedStorage_commit_TestCase.test_commit_revision_ids()

commit e2b648f2148d7b6550fb3a4bcfde4eff714a7ec6
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 10:56:04 2009 -0500

    Allow external use of Command.usage() and use CmdOptionParser.set_usage()

    This fixes
      $ python be diff -2
      Usage: be [options]

      be: error: no such option: -2
    and we now get the correct output
      $ python be diff -2
      Usage: be diff [options] [REVISION]

      be: error: no such option: -2

commit 4fbf5d1d222610b0775f95472fe1a60aaedea29f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 10:40:48 2009 -0500

    Restore comment stripping to libbe.ui.util.editor.editor_string()

commit f96762deddc0cb6b1380abdcbbe7347ae23f18a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 10:28:58 2009 -0500

    Bzr storage now based off bzrlib module, not 'bzr' executible.

    This should make repeated calls to Bzr storage instances _much_ faster,
    since we avoid repeatedly loading and tearing down a python subprocess.

commit 7607146d13233dc4ca6c2ed99889ceb43d7298d0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 10:24:57 2009 -0500

    VersionedStorage_commit_TestCase now allows for versioned files created by self.s.init()

commit e0c58cc0577fbb1b692e051eabd8597ba35c886a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 10:06:40 2009 -0500

    libbe.storage.vcs.base.VCS._init() now creates the '.be/version' file.

    And
      python test.py libbe.storage.vcs.base
    passes again.

commit 292f341109b31c16213146f9184d0b93a425f316
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 07:10:47 2009 -0500

    Add most comments with ignore_missing_references=True.

commit 83d7624d1deeb73b7f0baddef88069ff27a128ab
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 28 07:09:18 2009 -0500

    Don't run pager for the 'comment' command.

    It may need access to the tty for the spawned editor.

commit cfebc238cbda9b6338ec57d5c215c4cbf0246f8b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 27 16:50:36 2009 -0500

    Moved InvalidStorageVersion from libbe.command to libbe.storage

    Also added ConnectionError pretty-print to ui.command_line, storage
    version checking to BugDir.duplicate_bugdir(), and optional revision
    argument to Storage.storage_version().

commit dff704764d77bffbf6cc94c5ba4bb03309da45f8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 27 16:30:54 2009 -0500

    Added storage.Storage.storage_version() and command.InvalidStorageVersion.

    Now commands automatically check for storage version compatibility.

commit 214c4317bb90684dcfdab4d2402daa66fbad2e77
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 27 15:58:29 2009 -0500

    Fixed libbe.storage.util.upgrade

    Note that it only upgrades on-disk versions, so you can't use a
    non-VCS storage backend whose version isn't your command's current
    storage version.  See #bea/110/bd1# for reasoning.  To see the on-disk
    storage version, look at
      .be/version
    To see your command's supported storage version, look at
      be --full-version

    I added test_upgrade.sh to exercise the upgrade mechanism on BE's own
    repository.

commit 89b7a1411e4658e831f5d635534b24355dbb941d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 06:44:20 2009 -0500

    Fixed libbe.command.diff + ugly BugDir.duplicate_bugdir implementation

    duplicate_bugdir() works, but for the vcs backends, it could require
    shelling out for _every_ file read.  This could, and probably will, be
    horribly slow.  Still it works ;).

    I'm not sure what a better implementation would be.  The old
    implementation checked out the entire earlier state into a temporary
    directory
      pros: single shell out, simple upgrade implementation
      cons: wouldn't work well for HTTP backens

    I think a good solution would run along the lines of the currently
    commented out code in duplicate_bugdir(), where a
      VersionedStorage.changed_since(revision)
    call would give you a list of changed files.  diff could work off of
    that directly, without the need to generate a whole duplicate bugdir.
    I'm stuck on how to handle upgrades though...

    Also removed trailing whitespace from all python files.

commit 380889988b6d7881c4e0b5968053f85676d27211
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 04:32:19 2009 -0500

    Fixed libbe.command.subscribe

commit c7c88ee199a3fd6d95a1de4f778bdab3f6f43e38
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 03:57:54 2009 -0500

    Fixed up libbe.diff

commit 58bedebfddbb8e1fc8f0a441163526feaecb753b
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 03:31:48 2009 -0500

    Transition to Command-format complete.

    Well, except for going through and updating the _long_help()
    strings.
      $ python test.py libbe.command
    succeeds for everything except Diff and Subscribe, which is expected
    since I haven't fixed up libbe.diff yet.

commit eb26ca7e4a6886f97740c45e9e3b7bdd2d08d76f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 03:05:34 2009 -0500

    Transitioned set to Command-format

commit 4370270929db62a32d168ae221ecc70a2d80269e
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 02:38:51 2009 -0500

    Transitioned target to Command-format

commit a1bd5432ffbf28bf2fadfed8a5b2db917f243344
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 01:52:17 2009 -0500

    Transitioned tag to Command-format

commit 66343859b94ab7417bd4560ccc1c023d9ba6d1d2
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 01:07:18 2009 -0500

    Transitioned diff and subscribe to Command-format"

    They don't work yet, since I still need to fix up libbe.diff and
    replace BugDir.duplicate_bugdir() with something based on the new
    Storage backend.

commit 21c3bf5ce2fcb9fdd4493b2385c6623979746829
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 15 00:04:55 2009 -0500

    Transitioned show to Command-format

commit 6e474b0dc04efa60aaeb82c09d4fd4f4b10678da
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 23:31:57 2009 -0500

    Transitioned status to Command-format

commit 1b9c628529848af370adbc67b5ba298236a1b86d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 23:15:58 2009 -0500

    Transitioned severity to Command-format, also added Command._get_*()

    The old
      .requires_*
    thing was rediculous.  The new ._get_*() callbacks allow the caller
    to provide a means for getting the expensive structures, which the
    command can use, or not, as required.  This will also make it easier
    to implement the completion callbacks.

    The callbacks should probably have matching .set_*() methods, to
    avoid the current cache tweaking
      cmd._storage = ...
    etc.  But that can wait for now...

commit 0786fc6693e40cdfaca7876b504acb3e5e7dc4d2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 21:29:48 2009 -0500

    Transitioned remove to Command-format

commit af5c37f7ddfb5e4b9428a1a8e7bd7dc882ec1690
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 21:18:06 2009 -0500

    Transitioned new to Command-format

commit 595e4efee8b736e97c31eb0810ffeea508257413
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 21:03:47 2009 -0500

    Transitioned html to Command-format

commit f9ee7a537561be80b9c232dd4fc848ddb564f6b0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 20:33:35 2009 -0500

    Transitioned help to Command-format

commit 0f87a22c20a019f49455005542d4c60216ce39d2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 20:13:30 2009 -0500

    Transitioned merge to Command-format

commit 3e5823d0985a54dec37f103dc72fda604d12a948
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 18:25:28 2009 -0500

    Transitioned import_xml to Command-format

commit d8a698ffff676ef4a222d2dbeb5fe304901521a0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 08:48:28 2009 -0500

    Removed email_bugs, to be replaced by assorted storage backends.

commit c855cd95fb777e2eef36b9f4bc05a01d8dc571f8
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 08:45:20 2009 -0500

    Transitioned due to Command format

commit df1d5b187ff68dc182a3b04294c3e37a8d580e49
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 08:33:43 2009 -0500

    Transitioned depend to Command format

commit 19fe0817ba7c2cd04caea3adfa82d4490288a548
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 07:37:51 2009 -0500

    Transitioned comment to Command format

commit 2f0ceedba5b6619faf476cd1aa67e826e91d5c7c
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 03:29:20 2009 -0500

    Transitioned init to Command format

commit 1bec5c0d3880a1cd848d765365104e221f390e71
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 02:01:06 2009 -0500

    Added parse_user() calls to Assign

commit 5e769027075ce0f95d5cf9006d097f7fe7d8b38d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 01:13:05 2009 -0500

    Removed `be open` and `be close`.  Alias `be status` instead.

    For example, in Bash
      alias be-open='be status open'

    If you need to set options, this won't work, but command completion
    with misc/completion/be.bash should make typing out
      be status open
    not too painful ;).

commit 9b1f9db34189744ded87a28aaa395d9344593df2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 14 01:12:08 2009 -0500

    Transitioned assign to Command format

commit 7addcc4aff8d391765b22d8f095afba739489511
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 23:25:07 2009 -0500

    The VCS storage backends are all mostly working now.

    Running
      python test.py libbe.storage.vcs
    yields some EmptyCommit problems, an issue with bzr revision ids, and
    some trouble with git's remove(), but nothing too critical.

    On the bright side, now
      ./be list
    Detects and uses the bzr backend :).

    Onwards to moving over the remaining commands...

commit b1ddf38a32c49f7e90168014c9ec1efce86cf1fb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 23:14:06 2009 -0500

    Moved Arch over to Storage format

commit e3a48b356ace6bd88f064fb65f16c53dfdc5f8eb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 21:56:34 2009 -0500

    Move Darcs over to Storage format.

    We have to work around the same issue as mercurial (hg) issue 618.  I
    can't find a Darcs bug report for this, but it's been fixed somewhere
    between 1.0.9 and 2.3.1.

    Example scripts demonstrating the bug:
      $ darcs=/usr/bin/darcs
      $ mkdir x; cd x; $darcs init; echo a > b; $darcs add b; \
        $darcs record --all --author 'x <a@b.com>' --logfile b; \
        echo z>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \
        echo g>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \
        cd ..; rm -rf x > /dev/null; $darcs --version
      Finished recording patch 'a'
      No changes!
      No changes!
      1.0.9 (release)
    And showing it's been fixed:
      $ darcs=~/.cabal/bin/darcs
      $ mkdir x; cd x; $darcs init; echo a > b; $darcs add b; \
        $darcs record --all --author 'x <a@b.com>' --logfile b; \
        echo z>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \
        echo g>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \
        cd ..; rm -rf x > /dev/null; $darcs --version
      Finished recording patch 'a'
      Finished recording patch 'z'
      Finished recording patch 'g'
      2.3.1 (release)

commit c83e48bb2e8ae304f629d7d6ae47fb97b5b325ff
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 20:35:14 2009 -0500

    Check for repo existence before initializing VCS

commit 86b5fba698855cb4709d6f009e84b4002361f0db
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 20:24:21 2009 -0500

    Adjust Bzr._vcs_revision_id for 1-indexed revision ids.

commit 7dc16313f3426640830a79be914be9dc01d08849
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 20:09:51 2009 -0500

    Adjust Hg._vcs_revision_id for 1-indexed revision ids.

commit fa491e55c00363009985dadca264bc23fd0fc76d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 19:58:50 2009 -0500

    Don't require new revisions on empty commits.

    For example, hg can't:
      $ mkdir x; cd x;
      x$ hg init;
      x$ echo a> b; hg add b;
      x$ hg commit -m 'r1';
      x$ hg commit -m 'r2';
      nothing changed
      x$ hg log;
      changeset:   0:e30558c36fca
      tag:         tip
      user:        W. Trevor King <wking@drexel.edu>
      date:        Sun Dec 13 19:48:47 2009 -0500
      summary:     hi
      x$ cd ..; rm -rf x

    We shouldn't need this functionality anyway ;).

commit 5fb31c1fa646de076b999532690375319b5d4eb6
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 19:40:06 2009 -0500

    Work around mercurial (hg) issue 618.

commit e8a0ff2488d1535cea0528aa1c7b9ef8aa43dfed
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 08:43:01 2009 -0500

    Don't regexp out the short-revid in Git._vcs_commit()

    The output version strings change:
      Version 1.5.4.3:
        Created initial commit 217efa7: MESSAGE
        Created commit acb3066: MESSAGE
      Version 1.6.4.4:
        [master (root-commit) c5b48cf] MESSAGE
        [master 66a48c1] MESSAGE
    Instead, get the full revid, and look for its beginning in the output.

commit d21c50ece316536b5972725eced19b40d6e2589d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 08:31:33 2009 -0500

    Fix Git._vcs_revision_id() offset bug.

commit 9fa977a31982a2eda08c2c18ade73bd114f477b1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 08:12:47 2009 -0500

    Handle non-int args to VCS.revision_id at the VCS level.

commit 1cd02476257a7673668f1bdcdeac2902f3f21adb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 08:03:58 2009 -0500

    Adjust Hg._vcs_revision_id to bail cleanly on non-int revids

commit 9147ab9e77cd5730c1b2d5a76c92f87564f4af8e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 07:53:17 2009 -0500

    Use detect rather than catching errors in _vcs_root().

commit ca52b5cca130fb3bd810276d9de1f198df3cf5b7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 07:45:43 2009 -0500

    .bzr transition.

commit 55e0abfa27b693768f495044d10444d9d92e4fca
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 07:39:55 2009 -0500

    More fixes for libbe.storage.vcs.hg + .git transition.

commit 85aa14161c125f996f0d146b93f9cb06a0b3928f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 07:26:37 2009 -0500

    Fixes to get libbe.storage.vcs.hg passing tests.

commit 6f23fccbde4ede1121d5baf35c81932b7c8aa7bb
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 07:20:31 2009 -0500

    Converted libbe.storage.vcs.hg to new Storage format.

commit c2a50865f1ea73f43f2d347b2e7595a484f43e78
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 06:33:50 2009 -0500

    Rearrange libbe.ui.command_line.CmdOptionParser._add_option() for Python 2.5

    Python 2.6 doesn't mind, but 2.5 doesn't like kwargs after a *
    expansion:

      $ ./be list
      Traceback (most recent call last):
        File "./be", line 5, in <module>
          import libbe.ui.command_line
        File "/home/wking/src/fun/be/be.restructure/libbe/ui/command_line.py", line 63
          *opt_strings, action='callback', dest=dest,
                             ^
      SyntaxError: invalid syntax

commit 4d057dab603f42ec40b911dbee6792dcf107bd14
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 13 06:19:23 2009 -0500

    Converted libbe.storage.vcs.base to new Storage format.

commit dff6bd9bf89ca80e2265696a478e540476718c9c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 12 20:57:59 2009 -0500

    Moved be to libbe.ui.command_line and transitioned to Command format.

commit 86f886399813d37f3cfcf74a824d352e01eb0d8c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 12 01:46:22 2009 -0500

    Use get_input/output_encoding() in libbe.command.base.Command

commit f8a498f76d7bbcb42cf7bbc80164d98bfe57f8ab
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 12 01:43:20 2009 -0500

    Added libbe.ui.util.user for managing user ids.

commit 8b4ad37815cbef1e06532179f9ca098588d9cb44
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 12 01:12:17 2009 -0500

    Moved command completion from libbe.ui.util to libbe.command.util

commit bf3d434b244c57556bec979acbc658c30eb58221
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 12 00:31:55 2009 -0500

    Added libbe.command.base (with Command class) and moved list command to new format.

commit a153347564e4c6baa0388fda05530f5548d16ac5
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 10 19:31:47 2009 -0500

    Moved bugdir, bug, and comment over to new id implementation.

commit f52fc3a243edf5ccef2dcdfd0c4b4cded4357e13
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Dec 9 07:23:54 2009 -0500

    Rethought libbe.util.id module

commit 3e6096fb5bcb9c9e8a50faa76461da96d145ca8f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 20:02:34 2009 -0500

    Reworked test.py to handle deeper directory structure

commit 79154201c1c012063aa3fe1881ff06a3f239fdc5
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 09:01:26 2009 -0500

    Moved properties.py and settings_object.py to libbe/storage/util/

commit 44b4e3f8b6405d0e1e0ebf6cb526ab62cdbbdb25
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 08:54:50 2009 -0500

    Transitioned bugdir.py to new storage format.

commit 7a8b1223fac612ef8b3dffd0e4c6832a97aa222d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 04:33:49 2009 -0500

    Transitioned bug.py to new storage format.

commit df3a136010c3a05166a4a77028fd00a948d7cdeb
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 04:10:10 2009 -0500

    Transitioned comment.py to new storage format.

commit 2ffef9d0ba47a48a048eed27a9ec35859008a649
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 04:01:38 2009 -0500

    Use .storage.is_read/writeable() rather than .sync_with_disk() in settings_object.py

commit eedd308ff46fb9d0529f4480d2d4ae17e435795d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 03:58:36 2009 -0500

    Use mapfile to only create & parse mapfile strings, not files

commit d64b6336f75078445f2b730b31598817ac1cdb7a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 03:52:37 2009 -0500

    Extended libbe.storage.base for separate read/write control.

    Rather than just having .read_only to set write permissions and
    assuming that read was always legal.  We also added user and backend
    control of both readable and writeable:
      do you want to read/write?
    and
      can you read/write?

    Specialized NotSupported into NotWriteable and NotReadable.

    Added automatic unicode encoding on .set(), and decode option on
    .get().

commit e5177b9150290004f472d08c13dfe78075f029e8
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 03:51:27 2009 -0500

    Extend libbe.util.id to handle id (path) creation.

commit fe1d6dff22f73671928eaadbf4c83bdaa21d9bb9
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 8 01:49:06 2009 -0500

    Added libbe.storage.base and test suite.

commit 49a7771336ce09f6d42c7699ef32aecea0e83182
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 20:07:55 2009 -0500

    Initial directory restructuring to clarify dependencies

commit c3bcafe12034d35f5c46f76a7dab97ab08b84dfd
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 20:07:36 2009 -0500

    Reorganization bug created

commit a06030436d3940dddfba37b344f90651366d67e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 19:51:21 2009 -0500

    Don't run pager for commands that may need a tty (e.g. for editor)

commit a2562bc912e33fb3748be9d01771c9ae0ed6010f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:34:14 2009 -0500

    Updated NEWS

commit fada10afd00989bef0468373ae435234224390c1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:25:18 2009 -0500

    Added --paginate and --no-pager to be

commit 0784330491a640f4e6016342b0bc2958d36b0b40
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:20:23 2009 -0500

    Use 'auto' for run_pager default rather than None

commit fdf9925ffaada614544d1b2d3ccecb42f1549acb
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:18:48 2009 -0500

    be --dir DIR COMMAND now roots the bugdir in DIR without changing directories.

    Previously, for the directory structure
      A
      |-- X
      `-- Y
    You could do something like
      A$ be --dir X diff --dir ../Y
    Now it's
      A$ be --dir X diff --dir Y

    The --root option to `be init` has been removed as redundant.  Replace
    calls like
      be init --root DIR
    with
      be --dir DIR init

commit 4e3ad6eacd83ebeac3156bc4944b8943247ffb2a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:02:15 2009 -0500

    Update libbe.pager copyright

commit adfd866bf1fafc3832e03506a09c9b5750fe7447
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 7 07:00:34 2009 -0500

    Added libbe.pager

commit ba31b657c49649ee0b00663a32e907bb482270ac
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 17:20:39 2009 -0500

    be --dir DIR COMMAND now roots the bugdir in DIR without changing directories.

    Previously, for the directory structure
      A
      |-- X
      `-- Y
    You could do something like
      A$ be --dir X diff --dir ../Y
    Now it's
      A$ be --dir X diff --dir Y

    The --root option to `be init` has been removed as redundant.  Replace
    calls like
      be init --root DIR
    with
      be --dir DIR init

commit fc131e3acbf657f42959910c4f4483a09c871016
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 04:24:07 2009 -0500

    Set BugDir(root=X) instead of os.chdir(X) in

commit bca7a2a9311a5a23d98229d9918b13d66302537e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 03:11:39 2009 -0500

    becommands.target.bug_target(TARGET-BUG) now returns TARGET-BUG

commit ff1ca79e6781447dbad6279d6c4cdad44fad5cdd
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 00:43:59 2009 -0500

    Marked as fixed 22b: Sorting targets chronologically

commit 206d6254a3e02adf34d2e1a49a817f9ef779ebf1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 00:28:22 2009 -0500

    Updated NEWS.

commit f285716a405775a2e62e9ede4abc67c960d2a62c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 00:27:24 2009 -0500

    Updated becommands/due.py copyright.

commit 0a54c4bd9929b385074e7488aadd8f848cdefcd4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 6 00:21:07 2009 -0500

    Added becommands/due.py to manage bug due dates.

    This fulfills the following part of 22b:7

      * "due_by"

      We could add "due-by" to Bug.extra_strings as well, so that anyone
      could set due dates for any issue they wanted.

    Currently there's not much going on, but perhaps other people will
    have ideas for useful extensions.  Maybe
      be due --sort BUG-ID [BUG-ID ...]
    or
      be --due-in-days 7

commit 2a7cf58a422bcd55478cea92c5f859df86c911a4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 23:52:07 2009 -0500

    `be target` gains --resolve and loses --list.

    `be target` now works with bug-style targets.

commit b1f88a431427319cc35d44b69472d8c3dbb2ffa4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 23:51:43 2009 -0500

    Docstring clarification in becommands.depend.get_blocked_by()

commit fadbadc2bf763351ef572c5a584964f42b349f96
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 22:00:04 2009 -0500

    Removed target stuff from becommands/list.py and tweaked options.

    Now --status, --severity, and --assigned all use
    cmdutil.select_values() for nice whitelist/blacklist selection.

commit 0295c3f04ac457081559064ddf965dc507d04553
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 21:35:56 2009 -0500

    Moved becommands.depend._allowed_values() to cmdutil.select_values()

    I like this code, and I want to use it for other places, e.g.
    `be list`.

    Also renamed depend options
      --limit-severity and --limit-status
    to
      --severity and --status

commit 4d6bc107406ce936639cd1bd314d6ac3b4e3bff3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 21:04:41 2009 -0500

    Removed Bugs-Everywhere-Web/server.log from version control

commit 3f7ec7f8c3dc9b52cd6d6b14866aad1faf502676
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 21:01:49 2009 -0500

    Removed Bug.target reference from interfaces/xml/be-xml-to-mbox.

commit 1f852b56004d50fd7412788a0ae208907acc1120
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 20:57:31 2009 -0500

    Remove Bug.target references from several becommands (all but target.py).

commit 1e32ab1eb4b4ed4d19de8514db1fd8c1b4fafc4e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 20:52:29 2009 -0500

    Added --limit-status and --limit-severity to `be depend'.

    Currently only effective in tree mode, but that's where it matters
    most.

commit f4a87cfb4fd66ad14ab6d077fe2defcb76dd2972
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 20:03:36 2009 -0500

    Added retroactive dependencies between the legacy targets.

    bug uuid                              created    resolved   target
    ee681951-f254-43d3-a53a-1b36ae415d5c  revno: 45  revno: 51  patch-52
    f51dc5a7-37b7-4ce1-859a-b7cb58be6494  revno: 41  revno: 41  0.1
    f5c06914-dc64-4658-8ec7-32a026a53f55  revno: 45  revno: 93  0.2

    reasonable target blockage:
      0.1 ------------| 0.2
         `-| patch-52 --|

    Here are the old targets
      $ be list --severity target --status all
      4fc:ct: patch-52
      47c:ft: 0.1
      bd0:ft: 0.2
    And here is the implemented dependency tree
      $ be depend -t -1 bd0
      bd0ebb56-fb46-45bc-af08-1e4a94e8ef3c blocked by:
       47c:ft: 0.1
        f51:ff: Can't create bugs
       4fc:ct: patch-52
        47c:ft: 0.1
         f51:ff: Can't create bugs
        ee6:cm: Support rcs configuration
       f5c:fm: Implement bug tree diff

commit 117425d1243a553b4566a4ff855a9d5db6b61348
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 19:46:11 2009 -0500

    Remove some more Bug.target references from libbe/bug.py

commit 6156b88b6d5b8eab7f8a2ad3df7c9e1d27951bd1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 19:43:54 2009 -0500

    Updated the new target bugs' status to match blockers

commit ea7d2deb318197fc9444f9c2fc7e01813e6a8e8d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 19:38:50 2009 -0500

    Upgraded to Bugs Everywhere Directory v1.3

commit 24dfc11bd82210f93a0a2c5dbcb803fc4edd05f8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 19:36:56 2009 -0500

    Added "Bugs Everywhere Directory v1.3" which transitions to bug-type targets.

    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.

commit 01db171aafdd01f184f707ba23c1484692a4a45b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 18:25:03 2009 -0500

    This addresses the following portion of 22b:7:

      * 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.

commit f8e29454d91e1ec818fb14fad3d77a159ebbe22a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 18:16:05 2009 -0500

    Fixed shortname -> bugname in becommands/show.py.

    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

commit af8bd49a6215029c08676a3d4a59cfcab1d80976
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 17:40:08 2009 -0500

    Commented on 12c: Bug aggregation.  Multi-repo meta-BE?

commit 882492c80f47b6b5330b2510e9b8ef4164666303
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 17:34:09 2009 -0500

    Adjusted be-mbox-to-xml to not drop author info from multipart messages

commit 9603b95fc0c0b949d2cec10e27215684629f2af1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 17:17:21 2009 -0500

    Added missing author entries to some comments + cleanups.

commit a1f3221ee5bd85a72b6e31a527b4c4e6f6933d6e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 16:50:34 2009 -0500

    Fix libbe.diff.Diff._changed_bugs() to handle subscriptions by bug shortname.

commit e8f1c5709af7fb0d618dcf142d51dc95ef7d6c2c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 08:31:04 2009 -0500

    Cleanup Dir in becommands/init.py doctest.

commit d3122f5c72cc0a0c345bf0bd545f9e3217ca934f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 08:15:52 2009 -0500

    Updated NEWS

commit e260fa7ed1e501404c75cdbe3d7461f29cd6c3e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 08:08:09 2009 -0500

    Adjust libbe.diff.DiffTree to fix failed doctest.

    ======================================================================
    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

commit cc58188259e36193c3174fbb55e37c790382a7ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 07:41:50 2009 -0500

    Use new libbe.diff.Diff.report_tree(subscriptions) in be-handle-mail.

    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.

commit 167a8d2ae883fecf4e9d375e333e406dc723ef3b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 05:38:48 2009 -0500

    Added libbe.diff.Diff.full_report() for speed with several subscription lists.

    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.

commit 3cf0394832176a18f658ef3a89521bcccd57cb9e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 04:21:04 2009 -0500

    More 'DIR'->diff.BUGDIR_ID updates

commit fbb8504a6c0438e90b046e44a60608159f4e3f63
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 04:11:39 2009 -0500

    Created diff.subscriptions_from_string()

commit e95de5d97dc05ce5dbb9a553d5e42e437ceccbbf
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 03:55:55 2009 -0500

    Added --subscribe option to `be diff`

commit 06f4869e74ed800156fb4c46116741a17fc04ef1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 03:53:26 2009 -0500

    Added BUGDIR_TYPE_MOD and BUGDIR_TYPE_REM to libbe.diff.

    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

commit f7f0d9c959aee752298fdfe7a73939cf4c09fda5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 03:32:06 2009 -0500

    Adjusted diff.Subscription.__init__() to guess type_root if required.

commit 1f59c7ef9019879d0b5e407492e4a6e04c5a29cc
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 03:22:25 2009 -0500

    Added subscriptions option to diff.Diff.report_tree().

    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.

commit 129c100046231ed15d2f16eaa90b5c01e41a442c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 01:58:41 2009 -0500

    Moved subscription types from becommands/subscribe.py to libbe/diff.py.

commit 281e98e998b4a1ec550c6702aee0eead003905be
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 01:30:30 2009 -0500

    Replaced `be diff` options --new, --removed, --modified, and --all with --uuids.

    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.

commit 49b8c7e7da7fa3a4f3c6092cf0bfdb1c1de863e8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 01:10:01 2009 -0500

    Set boolean options default to False in becommands/list.py

    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:

commit 1bbf068f28a6c05da563bc1224a4456f635227a4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 01:00:35 2009 -0500

    `be diff` raises UsageError if required revision control not possible.

    It had previously printed an message and exitted without error.

commit 69300422c6825af80574545b11d7565aa8f38ee3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 00:57:43 2009 -0500

    Fix cmdutil.help() calls in be to use args not sys.argv.

    sys.argv won't work if there are any options in the be call, e.g.
      be -d DIR diff

commit 282d5cf934eec5c0ae02a01c345c38d0ad7c9fa7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Dec 5 00:21:35 2009 -0500

    Add __eq__ and __ne__ methods to Tree.

    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.

commit a04fc28b3b840541dde0366b81fc6758823cfca7
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Dec 4 23:53:27 2009 -0500

    Updated NEWS

commit efb79f10cec777dfa7fdced96947f7f75119ba69
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Dec 4 23:39:15 2009 -0500

    Updated NEWS

commit f294b8793f241033d57431026aea12bb39a20250
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Dec 4 23:33:25 2009 -0500

    Added --dir option to `be diff'.

    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'.

commit 2d0bc3a0c2497be662a1742459622d2c37cce415
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Dec 4 23:30:32 2009 -0500

    Fixed removed comment listing in libbe/diff.py.

    Previous implementation guaranteed to raise KeyErrors, because new bug
    doesn't contain the uuid.

commit 4cb0182da105d18f067c1a10482c89c966b02827
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Dec 4 22:44:12 2009 -0500

    Use __cmp__ instead of __eq__ for Tree comparison.

    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`.

commit 8bcbda7e3c022b6d63d86123b3aacabbe6c21ec1
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 3 22:05:23 2009 -0500

    Don't necessarily initialize a new VCS in BugDir.load_settings().

    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

commit 864d694c818374ceb4c8e3b34612b0481de17f8d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 3 21:37:29 2009 -0500

    Don't get VCS version in VCS.__init__().

    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

commit 2ba535acb1f03fb7d1bdb57e4173d55661d300da
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 3 21:19:54 2009 -0500

    Added libbe.TESTING (defaults to False).

    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

commit 193bb7dc4fdb02ec1e79dcfacecdb4c352549a15
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 3 20:38:58 2009 -0500

    Added copyright blurbs to __init__.py files.

commit dc5ac53feb42841c48fe0a17a699aa96f5bb39c8
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 3 20:16:56 2009 -0500

    Remove _test() functions from plugin.py and cmdutil.py.

    Testing should be handled through test.py, not by calling per-module
    _test() functions.

commit 13784e6067b652e4fe08e488fdc4baabc37f24ef
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:29:04 2009 -0500

    Mark bug 565 as fixed: be email-bugs for bug submission from bzr-less users

commit 2156616c3dab8207a933295bfbc9d125dac4bc34
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:28:01 2009 -0500

    be-handle-mail uses more conservative --add-only for be-bugs:xml

commit 8773e0e95758539addbfbcd11e5f37a2648c6e58
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:26:09 2009 -0500

    Generalized doctest string in subproc.py

commit ef748431936015a9d914255db0dd20f2f8e1c426
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:36:38 2009 -0500

    Added some thoughts on import_xml merge algorithms

commit c903b668c13413f380f99720c01162b7fe90ec6d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:35:29 2009 -0500

    Fixed import_xml.py to live up to its longhelp description.

    Also added LonghelpTestCase to prove it.

commit c1fc4595171fa6eec802eb65a0fde0b53878a077
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:26:49 2009 -0500

    Avoid redundant Comment.alt_ids

commit 19cea054def7997bb13ecc77269b7b612f658d16
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 06:05:03 2009 -0500

    Changed Bug and Comment.merge() kwargs.

    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.

commit ff2475e98fe1726f8b1af1b3dc30746cc4e01071
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 30 05:05:49 2009 -0500

    Minor BugDir docstring typo correction.

commit 759c69d8c8a4bbd7ba9c42bb3a813cd0d06a52b7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 29 03:19:30 2009 -0500

    Moved comment.list_to_root() to Bug.add_comments() with some cleanups.

    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.

commit 832843d26eed9023f4cf4fc431527c63ca1d533d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 28 22:07:16 2009 -0500

    Added comment import to Bug.from_xml().

    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.

commit 7e95956f5088346807a233c63f5bc25436550ef8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 28 20:27:53 2009 -0500

    test.py now uses unittest.TestSuite 'suite' in becommands if present.

    Such 'suite' instances have been required for libbe submodules.  This
    will allow becommands to test themselves more thoroughly than they
    could with only doctests.

commit c90ed61e7deb594edf3707850f2d3a87601a581b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 28 20:24:19 2009 -0500

    BugDir.list_uuids() -> BugDir.uuids()

commit 3e050db00d2ffa2c011efc4d9b47d8edeac5c43c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 28 07:41:13 2009 -0500

    Added Bug.merge() and Comment.merge().

    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().

commit 614d4e40e148520ac511cbe0606bcbdcf24c8a08
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 15:18:02 2009 -0500

    Added restrict_file_access to becommands' execute() args.

    + associated adjustments in other files.

    See cmdutil.restrict_file_access.__doc__ for an explanation of the
    security hole this closes.

commit bb8dd5066f730f9bb0ac0398bf9a167e9736a808
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 14:54:11 2009 -0500

    Fix libbe.vcs.VCS.get_file_contents(allow_no_vcs=True,binary=True).

    In it's previous form it had ignored the binary option if
    self._use_vcs() returned False.

    Also added a few more details to the docstring, explaining the
    arguments.

commit 85fd7e2681005e8b47ffc1e73fcc0cca93025921
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 14:03:00 2009 -0500

    Updated interfaces/email/interactive/README for [be-bug:xml] interface

commit f1cb3e5d0f6341c4cdf457f4f029270037ecae16
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 13:53:09 2009 -0500

    Added [be-tag:xml] processing to be-handle-mail.

    Now it will automatically apply and commit emails from
      be email-bugs ...

commit 607c72ea7f3382f3a51598593b71eabbbdbef664
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 13:49:32 2009 -0500

    Adjusted `be import-xml` to properly handle croot_bug==None.

    If there aren't any root comments, then the user needn't specify
    --comment-root, in which case croot_bug will be None and we want to
    skip all the croot processing.

commit 65bf5f8d9ddf51625d6b3b282838a9a4c71868d3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 13:18:54 2009 -0500

    Fixed bug in be-handle-mail.Message.parse_comment() for emails w/o Message-id.

    You used to get:

    Uncaught exception:
    'NoneType' object has no attribute 'decode'
      File "./be-handle-mail", line 857, in main
        m.run()
      File "./be-handle-mail", line 591, in run
        command.run()
      File "./be-handle-mail", line 244, in run
        manipulate_encodings=False)
      File "/tmp/be.email-bugs/interfaces/email/interactive/libbe/cmdutil.py", line 82, in execute
        ret = cmd.execute([a.decode(enc) for a in args],

    A `print args' in Message.parse_comment() revealed
      [..., u'--alt-id', None,...]

commit 3b03b9aa1bd0d2550fab48940242453cff238508
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 13:08:05 2009 -0500

    Added interfaces/email/interactive/examples/email_bugs

    For testing the new [be-bug:xml] interface we're about to write.

commit cb6a9e819d05402ee8b9cde356d509ab22de4780
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 12:52:37 2009 -0500

    `be email-bugs` now uses `be show` internals to produce consistent XML.

    Broke the bulk of show.py out into new function show.output(), which
    is used by both show.py and email_bugs.py to reduce duplication of
    effort and increase consistency of the XML.

    Also a few relevant help string updates.

commit a07c70a8cb30fa7295471490a7b7fdfbd48a99ec
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 12:23:47 2009 -0500

    Upgraded `be show --xml` to new <be-xml> format.

commit 3b168403ff5e50d767476c4c0f037d1841bb2bf9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 21 10:53:04 2009 -0500

    Broke `be comment --xml` out and extended into `be import-xml`.

    It should currently do everything that `be comment --xml` did, but it
    still has a way to go before it lives up to it's longhelp string,
    mostly figuring out bug/comment merging.

    The allowed XML format also changed a bit, becoming a bit more
    structured.

    cmdutil.bug_from_shortname() renamed to cmdutil.bug_from_id().

    New functions cmdutil.parse_id() and cmdutil.bug_comment_from_id().

    Additional doctests in libbe.comment.Comment.comment_shortnames() to
    show example output if bug_shortname==None.

    Brought be-xml-to-mbox and be-mbox-to-xml up to speed on the current
    <be-xml>-rooted format.
      * Added <extra-string> handling to their comment handling.
      * Moved extra strings from email bodies to X-Extra-String headers
        (some comment bodies are not text, and we should keep the estr
        location consistent between bugs and comments.)

commit 75fedab07f9e566ca1c984051d7deece4d910e2c
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 17:09:08 2009 -0500

    Added Bug.from_xml() + some .from_xml() fixups.

    Moved comment.InvalidXML to utility.InvalidXML, so that bug and
    comment can share it.  Added docstring explaining the __init__
    arguments.

    Added indent and shortname options to Bug.xml() to match
    Comment.xml().

    Added .extra_strings export to Comment.xml().

    Converted Bug.xml() from string addition to list joining, which avoids
    a bunch of memory allocation/deallocation.

    Assorted " -> ' replacements.

    Elaborated doctests to check UTF-8, extra_strings, ...

    Added new comparison cmp_extra_strings for both bug. and
    comment.DEFAULT_CMP_FULL_CMP_LIST.

commit ccfd3f9b65eba4535d7975395dc689eea40b0547
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 17:07:57 2009 -0500

    Import os in libbe.subproc if _POSIX == True

commit 64cb5e5ec672cd357bc66a8480465e531db25f52
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 16:48:07 2009 -0500

    Fixed bug 529c290e-b1cf-4800-be7e-68f1ecb9565c (howto version BE).

    Also appended some of the recent discussion about releases to the
    comment list.

commit ec602165cca450dab09ff79f5baf90e8957535d4
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 15:10:59 2009 -0500

    Fix typo in becommands.init's doctest

commit 6d0f064203698638193e6641c1358676c6f37b60
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 15:09:42 2009 -0500

    Import select in libbe.subproc if _POSIX == True

commit b35dfdf10b2f58a0632d0a0542bd8232a39b0391
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 14:29:01 2009 -0500

    Adjusted test.py to use an installed vcs by default.

    Protects agaist the off chance that the user doesn't have Arch (tla)
    installed ;).

    Changed Arch.name from "Arch" to "arch" so that each VCSs .name
    matches the module name.  This allows us to use vcs.VCS_ORDER (a list
    of module names) to set up the allowed values of BugDir.vcs_name.

commit 19b3a1d77946b4bbec0788d1ac3270c5cddbd54a
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 13:25:08 2009 -0500

    Added becommands/email_bugs.py

    This send a list of bugs in a single email off to be processed by
    be-handle-mail.  Of course, be-handle-mail doesn't yet handle the
    [be-bug:xml] format that email_bugs.py creates.  On to that now...

commit 0d0dbf9587cb65b08365094d23818da2c8823110
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 10:48:36 2009 -0500

    Broke subprocess handling out into its own submodule libbe.subproc.

commit 401411e519f1b4e6206e9020902536a54ca8750b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 09:41:44 2009 -0500

    Removed superfluous 'import time' from becommands/commit.py doctest.

commit 9d90a63140f32a50dda9213859a1e168752fcab9
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 08:33:40 2009 -0500

    Created bug 56506b73-36cc-4e32-a578-258a219edba8 describing problem

commit 11930e31b3511354da05550d3f7cf9593828df76
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 07:57:17 2009 -0500

    Have release.py update copyrights as well.

commit 163b3aff3cc5de23bd5e88ba73dd957034cc206d
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 20 07:28:20 2009 -0500

    Added release.py script automating release process

commit 4c6a1e6439293c7e584aef4fda0da1a3968fe7c9
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 19 17:00:02 2009 -0500

    Ran the new update_copyright.py

commit 839c2146e6ac9ee3a3bb90faba0e8be2bf4bbeb5
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 19 16:59:06 2009 -0500

    Translated update_copyright.sh to Python update_copyright.py

commit 6e171ccd2ab07193b2f16350d00270229ec0c0a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 19 00:39:31 2009 -0500

    Updated README and Bugs-Everywhere-Web/README.

commit 8a2c80bbaa02fd29ac192135f1ec095b0a048e20
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 19:55:42 2009 -0500

    Updated NEWS file

commit f108f5a0fb0984c0daccd8be72ea0ffa309b3fff
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 09:47:44 2009 -0500

    Use unicode_output=False in some Darcs._u_invoke_client() calls.

    This avoids the following error:
      ======================================================================
      ERROR: Should get file contents as committed to specified revision.
      ----------------------------------------------------------------------
      Traceback (most recent call last):
        File ".../libbe/vcs.py", line 860, in test_revision_file_contents_as_committed
          full_path, revision)
        File ".../libbe/vcs.py", line 339, in get_file_contents
          contents = self._vcs_get_file_contents(relpath,revision,binary=binary)
        File ".../libbe/darcs.py", line 122, in _vcs_get_file_contents
          status,output,error = self._u_invoke(args, stdin=major_patch)
        File ".../libbe/vcs.py", line 488, in _u_invoke
          raise CommandError(args, status, stdout, stderr)
      CommandError: Command failed (2):
        patch: **** Only garbage was found in the patch input.


      while executing
        ['patch', '--reverse', 'a/text']

    After adding the unicode_output=False lines, I adjusted the
    VCS._u_invoke_client() definition to pass all it's kwargs
    automatically through to VCS._u_invoke().  To make this simpler and
    more consistent, I renamed the "directory" option to "cwd", and
    adjusted *._u_invoke() calls appropriately in several VCS backends.

commit 2a1bca807d4b94610924343169c813a9f7868147
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 09:04:37 2009 -0500

    Cleanup temp. dir. in libbe.vcs tests.

commit c47273486de9ec62dea5838d3e5966652fe683ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 08:48:14 2009 -0500

    "CommandStderr" -> "CommandError" in VCS._u_invoke()

    Corrects a mistake from using string replace to move output,error ->
    stdout,stderr a few commits ago.

commit 2f867266d4b47cc8ca0c7ccb3768d240e5096f11
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 08:43:44 2009 -0500

    Don't attempt to convert unicode objects to strings in *._setting_attr_string()

commit eaa6d158608b0b47c337fc1433902532bc646128
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 08:36:22 2009 -0500

    Set binary=True for mapfile file handling

    The YAML library produces Python string encodings of unicode objects.
    There's no reason to try and convert them back into Python unicode
    objects just to save them with binary=False, because the files are
    only read in to be passed into the YAML parser, which can handle the
    unicode characters correctly.

commit 32fbab0fb8f5defc3698d288024a10b8d32a0f25
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 08:25:15 2009 -0500

    Added unicode_output option to VCS._u_invoke()

commit b1dbae97e769346246e8a36424c60ce89ef7a310
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 17 08:21:56 2009 -0500

    rename "output","error" -> "stdout","stderr" in VCS._u_invoke()

commit 9abbc1a94d03e2aa7eb96fca549bce42a7872320
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 21 23:34:05 2009 +0200

    Fixed a typo in the --export-dir-template options

commit 89fe7bf7ab6813ed21361941ac17253895d07b03
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 21 23:30:35 2009 +0200

    Fixed a problem with the creation of nested directory
    (i.e.: be html -o dir1/dir2 failed to create dir2 if dir1 does not exists)

commit 85ab0b48299435a5ecfa6f93af95948d432e096a
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 21 01:18:40 2009 +0200

    Finished merge with Trevor branch

commit e6dd43d2542aa3f67ebba61dd77942fb0a48a1f2
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 21 01:14:10 2009 +0200

    added the --export-template and --export-dir_template
    to export the default template

commit 373b8e5edb8a03a5bcd857cdc152386445854016
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 21 00:37:18 2009 +0200

    The (ugly) colors are back

commit e308d438dbe74db0d432abb82cf92b8717a21602
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Oct 20 23:15:27 2009 +0200

    Fixed the wrong index_header values

commit 70af336493d976ec064049d4e6d112c28b13d207
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Oct 20 23:08:57 2009 +0200

    merged with Trevor branch

commit 74864cbce9ded7764e05647d5433fc7c9958e22a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 20 09:37:22 2009 -0400

    Save non-text/ comments as separate files.  Inline images.

commit 501014a3f86bdfb7be7b52c6d1d0eb4fd7a75f02
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 20 09:30:42 2009 -0400

    Pass content_type to Comment.new_reply() to fix error adding non-text/ comments

commit 833adcb9c41ff0aa82700ab0c99277d23fc18dd7
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 20 08:28:35 2009 -0400

    Restructured becommands/html to make templating more flexible + general cleanups.

commit 7620da908326d909c008c73dca17511f1e7a39f9
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Oct 19 21:36:25 2009 -0400

    General cleanup of becommands/html.py

commit 56ac90c26de76167871ec489260580c2c5cf0d4d
Author: Gianluca Montecchi <gian@grys.it>
Date:   Thu Oct 8 22:18:50 2009 +0200

    Reworked the html command template system

commit b4cb35d3ab73d50881b2ebac0a4368baf84ca2b7
Author: Gianluca Montecchi <gian@grys.it>
Date:   Thu Oct 8 01:17:03 2009 +0200

    Partially moved to a newer, better and simpler template system

commit 32a16930caa09094b97069f08d504fa5d0f9514a
Author: Gianluca Montecchi <gian@grys.it>
Date:   Thu Oct 8 00:41:31 2009 +0200

    Template system v1 completed

commit c65661ce0bcacf67169faf3f62d495a1e8269aa8
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Oct 7 20:41:49 2009 +0200

    Updated to trunk

commit 5ccc639e7c04abc97db15eb15677a256e9400b44
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 6 06:47:10 2009 -0400

    Oops, fixed return typo in libbe.darcs.Darcs._vcs_get_file_contents()

    For self.parsed_version[0] >= 2, was returning the entire output of
    ._u_invoke_client() (status, output, and error).  Now it just returns
    the output, which is what we want.  This fixes Chris' failed test:

    ======================================================================
    FAIL: Should get file contents as committed to specified revision.
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "libbe/vcs.py", line 852, in test_revision_file_contents_as_committed
        self.test_contents['rev_1'], committed_contents)
    AssertionError: 'Lorem ipsum' != (0, 'Lorem ipsum', '')
    ----------------------------------------------------------------------

commit 5323cc1ba94095938c54a2853a3827c14b420e66
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Oct 6 06:37:21 2009 -0400

    Moved VCS detection from _vcs_help() to _vcs_version().

    The version string is useful information to have around, while the
    help string is probably not.  For example, we use it in
    darcs.Darcs._vcs_get_file_contents() to construct an incantation
    appropriate to the version we're dealing with.

commit aa7546258e3f24bec3df2d8c4b203ed08e0acbce
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Oct 5 21:00:34 2009 -0400

    Moved from *.__del__() to exclusive use of *.cleanup().

    *.__del__() is run some unspecified time after the refcount for an
    object is reduced to zero.  Sometimes that means that the rest of the
    world has already been deallocated, which makes life difficult,
    especially when Python won't attempt to construct stack traces inside
    *.__del__().  We were always (hopefully ;) calling del(*) anyway,
    so we just replace those calls with *.cleanup()

commit 828721071e6283fbf7397ad7ad4b98c5d6ee49bc
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Oct 6 00:35:47 2009 +0200

    Initial implementation of a template system

commit cd8770308038114c79313fdc33a624f5e60468c0
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Oct 6 00:08:11 2009 +0200

    Added the verbose option

commit 877db84d2851680e8552c1d63a670155947aff9d
Author: Gianluca Montecchi <gian@grys.it>
Date:   Mon Oct 5 23:51:13 2009 +0200

    help

commit d34b3a3f0ff18857adb79bbdf46c8c37e22389f8
Author: Gianluca Montecchi <gian@grys.it>
Date:   Sat Oct 3 00:05:16 2009 +0200

    Added the initial support for css templates

commit b0b3c9473e3a4b728ea72a2876e39fe41284a9ed
Author: Gianluca Montecchi <gian@grys.it>
Date:   Fri Oct 2 23:46:24 2009 +0200

    Merged with Trevor's -rr branch

commit 071fef7c351c4fc23696aa6db693411b78da2edb
Author: Gianluca Montecchi <gian@grys.it>
Date:   Fri Oct 2 00:08:33 2009 +0200

    Fixed the merge

commit ed4a943875d81732bfa3127eb252c2db2e3588f4
Author: Gianluca Montecchi <gian@grys.it>
Date:   Thu Oct 1 23:39:28 2009 +0200

    Merged with head branch

commit e35ccf95ea89b6e622202caae30d3b8cca3f2473
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 13:49:26 2009 -0400

    Set self.ret if necessary in be-handle-mail.Command.response_msg().

    If an exception is raised during command exection, self.ret may be
    left at None.

commit 3fc33c5c19236e605f75566543ee2f315b2d2b07
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 13:02:18 2009 -0400

    Added "Confirm" and "Subscribe" pseudoheaders to be-handle-mail.

    Allowed values for both are "yes" or "no", case insensitive.

    Setting Confirm:no disables the confirmation email letting you know
    your new bug was successfully submitted.

    Setting Subscribe:yes automatically subscribes you to the new bug
    you're submitting immediately, without reqiring an extra control
    email.

    In the case where both Confirm:yes and Subscribe:yes, the submitter
    will only recieve the subscription email (which shows the "be show"
    view of the new bug) and not the submission email (which shows the
    output of all the executed submission commands).

    Both of these pseudoheaders were in response to a
      Would you like a direct response concerning your comments?
    checkbox on the web frontend that generates emails for a BE repo.
    When the checkbox is set, we set Confirm:yes Subscribe:yes, and the
    submitter gets a nice pretty confirmation email and will be
    automatically notified of any future action on their bug.  When the
    checkbox is not set, they get no response or submission emails.


    Also fixed up some bugs in in the subscriber_emails() parsing.  We now
    use ordered_subscriptions to ensure that we parse the "DIR"
    subscription first, since we don't want to include the same
    information twice, and the user might be subscribed to DIR:all and a
    particular bug (which would be wierd, but is easily avoidable).  This
    also ensures that the more central DIR level changes appear first in
    the email.

    We also check that there is an entry for a particular bug in bug_index
    before attempting to grab it, which could raise KeyErrors otherwise.

    Finally, we check to make sure we don't double-include bugs for which
    the user is subscribed to both that bug's new and DIR:new.


    A final minor correction is the capitalization of the first word of
    our log entries.  The logs are pretty cluttered, and the
    capitalization helps the lines I care about stand out.  A better
    solution would be to come up with a cleaner idea of what to write to
    the logs...

commit f6be0960f00fba5265bc21d7e24f85cce22ae8a3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 12:48:42 2009 -0400

    Load bugs in be-handle-mail.Message.subscriber_emails().

    Because subscribe.get_bugdir_subscribers() only looks for subscribers
    in bugs that are already in memory.

commit c43a753e999623086888d8e374db72d69168661b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 12:45:27 2009 -0400

    Fix agressive be-handle-mail.Message._strip_footer().

    It had been eating the last line of the message (which wasn't a
    problem when I had a blank line before the footer, but was when I had
    neither footer nor trailing blank line).

commit 9bd1ddd35544a3772e490494459d788ed5da62a3
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 12:43:40 2009 -0400

    Prefix cache attributes in be-handle-mail with underscore (_).

    To conform with Python convention for "hiding" class attributes only
    intended for internal use.

commit 7ec39c25f302c4b1056885c26508e20200494df6
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 12:39:37 2009 -0400

    Fixed invalid TAG error in becommands.subscribe.get_subscribers()

    Check that the string has the right tag before attempting to parse it
    :p.

commit 7850d9bdbb10cf1a1aa07458c20d28bd9a2e0e9b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 26 12:37:49 2009 -0400

    Added -a and -l options to be subscribe.

    It's useful to have some way to see the current subscription status
    from the command line ;).

commit a183301a11d67ef35727d3dec8dbef6b3529f631
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 12:18:31 2009 -0400

    Added normalize_RFC_2822_date() to be-mbox-to-xml.

    The
      if new_fields[u'date'] != None:
    bit avoids attemting to normalize missing dates (which fails).  You
    get messages with missing dates when comment_message_to_xml() is
    called recursively for multipart messages.

    Also fixed some unicode keys (['X'] -> [u'X']) for consistency.

commit b76fa539c4e8eb6b2d9bb6f34841c7c21b52e498
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 11:03:59 2009 -0400

    Added normalize_email_address() to be-mbox-to-xml

commit 868122d0b9076b4ffbedf50d2bff491f0493e8c0
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 10:47:17 2009 -0400

    Fixed mutliple in-reply-to splitting in be-mbox-to-xml

commit b910115f83a697cef38dd91c76b40c3a49954044
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 10:07:38 2009 -0400

    Fixed bugdir name collision in cmdutil.bug_from_shortname()

commit 81e7026c78c0a8426a7186df292c0713e70f9539
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 09:13:46 2009 -0400

    Use Bug.active to decide active status in becommands/html.py

commit 73bc42e2641a45147e5b4accd63079fa8eb1d09e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Sep 23 06:30:31 2009 -0400

    Convert incoming text/* email payloads to unicode in be-handle-mail.

    Switched from cStringIO to StringIO in be-handle-mail because:
      (from http://docs.python.org/library/stringio.html)

      "Unlike the memory files implemented by the StringIO module, those
      provided by this [cStringIO] module are not able to accept Unicode
      strings that cannot be encoded as plain ASCII strings."

    I'm not sure what all the fuss with sys.__stdin__ had been about in
    Command.run(), but I took it out and everything still seems to work
    ;).

    Also fix Makefail (again!) to install under $HOME by default.

commit e174881e3e39fbffa75aa0a1f858998827ad204c
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Sep 21 09:52:28 2009 -0400

    os.path.isdir() -> .exists() for check for "comments" file.

    "comments" should always be a directory if it exists, but if it is
    something else, be should fail rather than return an empty comment
    list.

    This fix was inspired by some browsing around in response to Thomas
    Habets' version of a fix for missing "bugs" directory.

commit 59414d47c0fe16b9b6eb8cf765038db9032410c9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Sep 19 17:58:09 2009 -0400

    Include stdout in CommandError.

commit 1ce20e765cde8a90f0c71e0072121826bd8b0346
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Sep 17 15:31:01 2009 -0400

    Fixed email.Parser typo in send_pgp_mime.py imports for Python 2.4.

commit 5d03e60a2a12074e8d2cfb705d47f40a45cdf730
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 15 18:59:16 2009 -0400

    Added `be --verbose-version' option to print full version information.

commit 0510a9773d213732892dd6a0a8644a252d95f4b5
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Sep 15 09:32:40 2009 -0400

    Added libbe.version, wrapping the auto-generated libbe._version.

    Two major benefits:

    1) Programatic access to the BE version.  Previously the
    version-string logic was internal to the commandline interface ./be,
    which left the other interfaces hanging.

    2) Simple to override auto-generated revision id version with any
    string you like (by setting libbe.version._VERSION, if that's the way
    you want to run things or the way your packaging system requires.

    Note that other modules should never read libbe.version._VERSION,
    since it may not be defined.  Instead they should use the output of
    libbe.version.version().

commit bac6ce2bc8b33850479b0dac7d646cdc988e5060
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 13 06:42:38 2009 -0400

    Fixed a few typos in be-handle-mail

commit 80dbdedeb556bbd8d7d5dd000f9f52e3a2a5c606
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 13 06:32:07 2009 -0400

    Mention commit message in interactive email README subject explaination.

commit 17fea62c1f79079a7fecde8d98c5ffd2975841b7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Sep 13 05:54:31 2009 -0400

    Explicitly set encoding to UTF-8.

    Because otherwise we run into problems when running be from inside
    cron jobs.

commit be6bf33dbb3689a13de88add209e85cdd632c4a4
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Sep 11 11:52:02 2009 -0400

    Typo EncryptedMessageFactory -> PGPMimeMessageFactory in send-pgp-mime.py

    I changed the class name in commit
      wking@drexel.edu-20090718201613-n242qfl4s3j3kfjf
    but missed two references.

commit 027cda3613f7a81de557d6dd929d0d4de40192a1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 14:19:40 2009 -0400

    Added docstrings to libbe submodules.

    Also a few minor tweaks to the module imports.

commit e67058f13ce09ab6870c8bd8ebfa2f198bd06b47
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 13:54:09 2009 -0400

    BugDir.duplicate_bugdir() fix for when parent bugdir's sync_with_disk == False.

commit 6d3fc831cdbba47a90b03706f25af1682abe862b
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 13:43:32 2009 -0400

    RCS -> VCS, BUGDIR_DISK_VERSION -> v1.2

commit 61445df504c4267c774d572521a63136c595f007
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 13:18:36 2009 -0400

    Use 'v#.#' for major/minor version in upgrade.BUGDIR_DISK_VERSIONS

commit 5e8576a48fae6e9f7a9699d57571e926d7e6e236
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 13:16:48 2009 -0400

    Upgrade duplicate bugdirs if necessary (e.g. for `be diff').

    Also moved pre-YAML mapfile handling in mapfile.parse() into
    upgrade.Upgrade_1_0_to_2._upgrade_mapfile().

commit 830522c293a479636d7bfc0fff125ec57f06e9a3
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 12:32:05 2009 -0400

    Added libbe/upgrade.py to handle upgrading on-disk bugdirs.

commit baa45573a54bf8f7fdcd7fc53d13f9f160954da7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 11:50:28 2009 -0400

    Made get_path() definitions consistent between bugdirs, bugs, and comments.

commit ab45531c788f48bf27dec1a5fff2d23ac92936f7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 09:54:55 2009 -0400

    Bug 22b (target-bugs) blocked by 519 (on-disk upgrade) and assigned to Trevor

commit 4fc659e20f80e49674aec8110c70138db38e18c4
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 02:31:21 2009 -0400

    VCS vs. RCS terminology blocked by on-disk upgrade path.

commit 4b90b878ab7d91ee852d1acddb8823155b56ffbc
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 31 02:26:19 2009 -0400

    Added comment 22b:7 about representing targets with Bug() instances.

commit 9cbd516eca851b5b0b03ddfd408e84269eee131a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Aug 16 16:02:18 2009 -0400

    Broke up be-handle-mail.parse() into parse_new(), _comment(), and _control().

    Also fleshed out the be-handle-mail docstring.

commit f5b6341b4f7bde79ded7ef4fe77a63fd2482fd78
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Aug 16 15:09:21 2009 -0400

    Added on-disk representation upgrade bug

commit 7e3f2172564953b6eb2cbfc13eb07d7031cc7331
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Aug 11 14:46:26 2009 -0400

    Handle BugDir.list_uuids() in the case of missing ".be/bugs/".

    Previously:
      $ be init
      $ be list
      ...
        File ".../libbe/bugdir.py", line 537, in list_uuids
          for uuid in os.listdir(self.get_path("bugs")):
      OSError: [Errno 2] No such file or directory: '.../.be/bugs'

commit c25e74648ec248954ada82922c8221e8f4c7b09d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Aug 8 10:24:33 2009 -0400

    "be html" fixes bug 2f0

commit 8de461d0a6dff522153a9f5ff392f40b0f9121d5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Aug 8 10:23:23 2009 -0400

    Oops, update comment.From->author and .time_string->.date in becommands/html.py

commit 1ba25941e538b2dedfc704c46a8416d9e59a1fd4
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 14:29:16 2009 -0400

    Updated AUTHORS and copyright info for becommands/html.py.

    Also adjusted update_copyright.sh to ignore Gianluca's temporary use
    of
      gianluca <gian@galactica>
    since he's now using
      Gianluca Montecchi <gian@grys.it>
    on becommands/html.py.

commit ebe24ed296dd5b905e08ceecfbba62dd0f83b77a
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:53:26 2009 -0400

    Sort bugs in HTML output.

commit 1aa5df91caaea3c40de334da159ec9982419c39c
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:49:47 2009 -0400

    XHTML attribute values should be strings, and cellspacing not allowed in tr.

commit 31a30297827225d280fa5efd89d43741936a6ea8
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:45:19 2009 -0400

    Escape HTML entities (e.g. & and @) in HTML output

commit dfff8f6f7913a9a7da9c5881c03137b2fd12f019
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:23:00 2009 -0400

    XHTML tags must be closed (e.g. <br />, not <br>)

commit ece3d7d54fe4bd93a6116fdb53363e0b0ae9b987
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:21:47 2009 -0400

    XHTML attribute values should be strings.

commit 9e2b59eb77c844576203d202939b837788f634a8
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:19:58 2009 -0400

    Protect bug html from libbe.settings_object.EMPTY

commit e8d8f2c829ba4bd062c21a9f75f338ad7e0c5053
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:15:19 2009 -0400

    Added DOCTYPE to detail html as well

commit 8b420dfbd79404a91adfedf15ac174fc9a9a81eb
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:12:08 2009 -0400

    Respect bugdir's encoding in html generation

commit 233b6412d6164e45ab4a5a5f7d9c415330d9a27f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:09:15 2009 -0400

    Added DOCTYPE and post-</div> endlines

commit 0343bff04f62db4adba0e9bb3014fc1e252a064b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 13:04:46 2009 -0400

    Improved threaded comment handling.

    The previous method only grabbed first line of a comment.  The new
    approach replaces the messy Comment->string->parse->html with
    Comment->html.

    Also replaced all open()s with codecs.open to allow for non-ASCII
    output.  Alphabetized the non libbe imports while I was adding codecs.

commit d5d2362b59a3b9851e10c0549e437fb3bce6222c
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Aug 7 11:52:39 2009 -0400

    Adjusted help/doc strings in becommands/html.py

commit e42729af0efc1a4c064e8875e728f9c3c1694a1d
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Aug 4 23:31:33 2009 +0200

    - closed bugs f77, 2b8 d8d
    - some changes to the css and to the html layout

commit 75577588a978be2d7d8a8a71a00ea5b6ee53d944
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Aug 4 15:42:49 2009 -0400

    Now libbe.git.Git handles missing name/email and guesses instead.

commit a109aa84c04079f438970df982bfa16a18bbf510
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Aug 4 15:34:19 2009 -0400

    Merged Gianluca's missing-git-config bug report

commit 71492739d8870fe352eeca281b4ae7df78a9047f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 3 19:28:34 2009 -0400

    Imported Ben's VCS vs. RCS bug report from the mailing list.

commit 3b96373f9ae82deb5b18ab8aae58ab39a0a7764e
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Aug 3 19:27:00 2009 -0400

    Ssupport for UTF-8 in "be comment" calls to EDITOR/VISUAL.

commit c200dda96479dfc1740efbeb14d08c56ba725264
Author: Gianluca Montecchi <gian@grys.it>
Date:   Mon Aug 3 21:29:21 2009 +0200

    Fixed width and index

commit 1063fc171482c8f826c6615612b0186cda8e5681
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Aug 1 14:16:09 2009 -0400

    Added dependency tree display with "be depend -t DEPTH BUG-ID".

    Should probably be a directed graph, since people might not make
    tree-like dependency graphs.  Cyclic graphs seem unlikely, though,
    so a tree only risks redundant bug entries.

commit 149ad4b8ffb20f22474887793fd7ee1422fd77d0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Aug 1 07:52:51 2009 -0400

    Added one-way-link repair.

commit 80ad0acc3506f977cf122923f4ebf143dee152c9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Aug 1 07:12:46 2009 -0400

    Added two-way dependency links.

    Still need to implement and test one-way-link repair.

commit 7208dc596d99d00aab46cc5b08f56994d7b40c05
Author: Gianluca Montecchi <gian@grys.it>
Date:   Fri Jul 31 23:54:05 2009 +0200

    Closed bug f77, minox fix to layout

commit f24d7264396cb1be8b46b17f9335abf7bcd09ef2
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 15:05:19 2009 -0400

    Now becommands.new's unittest cleans up after itself.

commit 58cba607535cd33c97fd5dc3737c9da4afa9a6bb
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 14:59:06 2009 -0400

    Improved unittest cleanup by adding BugDir.cleanup().

    Also simple_bug_dir -> SimpleBugDir class, which allows me to add
    utility.Dir cleanup to SimpleBugDir.cleanup().

    Still having a bit of trouble with the becommand.new tests due to
    bugdir loading though...

commit 3c4ce1b4519186007f2568569b1bff55cdbb108f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 05:24:05 2009 -0400

    Return to original directory after libbe.bugdir.SimpleBugDirTestCase().

    This was causing strange "RCS not found" errors in the bzr and hg
    unittests.  For example, the bzr tests all passed:
      wking@thor:be.wtk-rr$ python test.py bzr
      ...
      Ran 12 tests in 24.143s

      OK
    Except when run after the bugdir tests:
      wking@thor:be.wtk-rr$ python test.py bugdir bzr
      ...
      Ran 19 tests in 1.862s

      FAILED (errors=12)
    Where the failures were all
      AssertionError: bzr RCS not found

    Fixed by returning to intial directory after SimpleBugDirTestCase
    execution.  Problem is due to Python issues with unlinked directories
    though, so bzr/hg will _still_ not work from unlinked directories.
    This is for Python 2.5.4 on Ubuntu 8.04.3, but probably effects other
    pythons too.

    Details:

    Isolated problem to unlinked directories:
      mkdir /tmp/a
      cd /tmp/a
      rmdir /tmp/a
      python /home/wking/src/fun/be/be.wtk-rr/test.py bzr
    which fails with the same "RCS not found" errors because bzr fails:
      wking@thor:/$ mkdir /tmp/a; cd /tmp/a; rmdir /tmp/a; bzr --help; cd /;
      rmdir: removing directory, /tmp/a
      'import site' failed; use -v for traceback
      bzr: ERROR: Couldn't import bzrlib and dependencies.
      Please check bzrlib is on your PYTHONPATH.

      Traceback (most recent call last):
        File "/usr/bin/bzr", line 64, in <module>
          import bzrlib
      ImportError: No module named bzrlib
    which fails becase 'import site' fails:
      wking@thor:/$ mkdir /tmp/a; cd /tmp/a; rmdir /tmp/a; python -c 'import site'; cd /;
      rmdir: removing directory, /tmp/a
      'import site' failed; use -v for traceback
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/home/wking/lib/python/site.py", line 73, in <module>
          __boot()
        File "/home/wking/lib/python/site.py", line 33, in __boot
          imp.load_module('site',stream,path,descr)
        File "/usr/lib/python2.5/site.py", line 408, in <module>
          main()
        File "/usr/lib/python2.5/site.py", line 392, in main
          paths_in_sys = removeduppaths()
        File "/usr/lib/python2.5/site.py", line 96, in removeduppaths
          dir, dircase = makepath(dir)
        File "/usr/lib/python2.5/site.py", line 72, in makepath
          dir = os.path.abspath(os.path.join(*paths))
        File "/usr/lib/python2.5/posixpath.py", line 403, in abspath
          path = join(os.getcwd(), path)
      OSError: [Errno 2] No such file or directory
    which fails because our cwd doesn't exist.  That makes sense ;).
    Still I think Python should be able to handle it, so I reported it
      http://bugs.python.org/issue6612

commit 11d3b00bf4c12446dafeb3cfde9d0ae40608a85d
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 04:57:32 2009 -0400

    Removed libbe.bzr.Bzr's automerge on post-commit.

    I'd done this already in
      wking@drexel.edu-20090723154304-swmkxpfagdzff9ai
    but for some reason the merge with the email branch brought it back.

commit c0e6288158f30802866495c5ae433474c7daf16e
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 04:25:21 2009 -0400

    Fixed libbe.bugdir.BugDirTestCase.testComments(sync_with_disk=False).

commit 3a56bcd8744192de75e69b595056dfe0a43680a2
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 04:17:05 2009 -0400

    Fixed comment.cmp_attr unittest because "o" > "a" so cmp("o", "a") == 1.

commit 172df1fb94761481c28804e5af4730376942e304
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 31 04:13:33 2009 -0400

    Fixed indent spacing in libbe.diff.report().

    Only increment depth if data_part != None.

commit 22a38de80ee11ada710bc6766798ca608f938307
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 29 15:49:45 2009 -0400

    Corrected some problems with revision_id() before an initial commit.

commit 4e8882e74aad64859a16f17fa6bef8c04b33913d
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 29 15:46:37 2009 -0400

    Added clean messages on bug_from_shortname failure.

    So user's don't get confused.

commit d2cdec6be03037269c41b1726252c9d1420a13a5
Author: Gianluca Montecchi <gian@grys.it>
Date:   Mon Jul 27 23:59:40 2009 +0200

    Moved all the implementation into the html.py file
    Implemented the creation of the index for active and inactive bugs, with detail for earch of them

commit 59f6dd7c96df1cb33ad9b409574cab1c26b12243
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 17:04:42 2009 -0400

    be-handle-mail no longer sends blank subscriber emails when no change occurs.

    It had been mailing out the empty MIMEMultipart root returned by
    diff_tree.report().

commit cce10d1dfaacbd1110894a42d477cab036413dc8
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 16:38:30 2009 -0400

    Fixed _procmailrc rules.

    "[" is a special character.

    Also a few minor cleanups in be-handle-mail.

commit f5a9d0c5ce8fe82a445324e3e2c1cd72d0d2ec00
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 15:05:55 2009 -0400

    Restored Makefile to /home/wking installation

commit f5fdbda0472ad3b37e098561fcd52df6bf06199f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 14:42:17 2009 -0400

    Cleaned up be-handle-mail's subscriber notification emails (fewer attachments).

    Previously, every node in the DiffTree created it's own attachment.
    Now they're consolidated into a single attachment per bug.  higher
    level nodes are still one attachment per node.

    Also:
      * added send_pgp_mime.append_text()
      * pulled guess_encoding() out of send_pgp_mime.encodedMIMEText().
      * renamed data_string -> data_part in libbe.diff, since it needn't be a string.

commit dc69839cbe8ae9b03200a9bb2bd395ffebd6675e
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 09:24:46 2009 -0400

    Allow "subscribe" command via the email interface.

commit df1c1cb1b2a33452ee4fa197c5145f07302a741a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 09:06:27 2009 -0400

    Tweaked the output text for modified bugs in libbe.diff and be-handle-mail.

commit 92a6b40fd078fb069e987f6f45f967224df44e0d
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 09:01:04 2009 -0400

    Added "be-handle-mail --notify-since REVISION".

commit 48bccdb5f3a6b510e27ce4cbd83c1e0a0a796f7e
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 08:38:33 2009 -0400

    Added an additional format check to be-handle-mail's pseudoheader parsing.

    Marked outstanding email interface bugs as fixed.

commit 7f2ee356b76303edd01efad6bd049fbc7f01b5ff
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 08:11:11 2009 -0400

    Subscribing myself to all changes.

commit 08b226ce40f951818fab6bdbfc6eae6bfb0e7deb
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 08:09:20 2009 -0400

    Moved be-handle-mail over to new libbe.diff classes.

commit 0f42025f8f41ea6d354b68e9ba86f2e966cea4b5
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 07:59:38 2009 -0400

    Removed debugging exception from libbe/comment.py.

commit 8ac7a799ad7917324edbdb15ccbbd3bfcd529896
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 07:56:17 2009 -0400

    Comment.remove() now ignores .sync_with_disk when removing the root comment.

commit 0cacaf8809ade66e595361b30290234be3a6d8b0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 07:47:35 2009 -0400

    Added default to settings_object.versioned_property's change_hook_property.

    Now change_hook properties handle defaults, which allows them to avoid
    an initial
      None -> default
    save hook trigger.

    Removed the now-redundant read-only mode business in
    becommands/diff.py.

commit 2cc6145453fd50fb034e7578362159484ab8e6e7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 07:22:01 2009 -0400

    Put bd into read-only mode in becommands/diff.py.

    Otherwise comment comparison reads were triggering notice of the
      None -> EMPTY
    transition in comment.extra_strings, which was causing a write to
    disk.  This trigger is probably occuring in Bug and BugDir too.
    Perhaps I should just remove the trigger...

commit 159dc9303e10cef81388fb686f79312cc1018c65
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 07:18:13 2009 -0400

    Added cmp functions to libbe.comment, and fleshed them out in libbe.bug.

    Previous comment comparison had just been the default Tree.__cmp__.

    Fleshed out so A == B ensures no meaningful differences between A and B.

    Also added first line of comments to new comment output in libbe.diff,
    and added a comment/"settings" node and .comment_mod_string() (to
    mirror bugdir and bug).

commit 3711c5080619b0decf0ae040a9d244bf3b902c41
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 06:23:20 2009 -0400

    Hack Comment.load_settings() to work around From->Author change.

    "Author" -> comment.author obeys settings_object.setting_name_to_attr_name(),
    but all the current on-disk mapfiles talk about "From".  Add a hack to accept
    both forms of on-disk comment files.

commit 5ce4bd3f4ce955577c46fe8e3c5a8f54b60ce3df
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 05:57:40 2009 -0400

    Cache data strings in libbe.diff.DiffTree.

    This makes repeated .report() generation from the same tree more
    efficient.

commit e21a427afbc7369cfa3a3f786e51aaa1e3e01999
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 05:14:49 2009 -0400

    Major rewrite of libbe.diff introduces DiffTree and Diff classes.

    To make the interface proposed by becommands/subscribers.py easier to
    implement, I've moved the libbe.diff functionality into classes.  Now
    it should be easy two tweak the output as desired by subclassing these
    classes.  The basic idea is that Diff.report_tree() generates a
    diff_tree tree of changes between two bugdirs, where diff_tree is some
    subclass of DiffTree.  Each type of change has a default .*_string()
    method producing a string summary of the change.  DiffTree.report()
    moves through and generates a report by joining all those summary
    strings to a single root, and DiffTree.report_string() serialized the
    report to produce e.g. the output of becommands/diff.py.

commit 58e2b9fe7a13e7cd99e085059867453496712593
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 27 05:11:33 2009 -0400

    .sync_with_disk fixes for libbe.bugdir and .comment.

    In BugDir, only call bug.remove if bug.sync_with_disk==True.  If it's
    just in memory, automatic garbage collection is sufficient cleanup.

    Comment.set_sync_with_disk() had been setting .sync_with_disk=True
    regardless of the value passed in.  Fixed now.

    Also some minor textual adjustments.

commit 7c5b0f7abd46b2a6e093e47f7429e5f6c3eadab0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 26 20:40:08 2009 -0400

    Added DiskAccessRequired errors to libbe.bug.Bug and .comment.Comment.

commit 058dbd6da7c085674680254b68bdba8a6acda117
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 26 20:04:32 2009 -0400

    BugDir._in_memory was a stupid idea.  Took it back out.

    It was too confusing having three memory access levels:
      1) syncronized
      2) explicit
      3) memory-only
    with .sync_with_disk selecting between 1 and 2/3 and ._in_memory
    selecting between 2/3.

    Now there are only two:
      1) syncronized
      2) memory-only excepting explicit BugDir.save() calls.

    I avoid the problem of non-syncronized loading of on-disk bugs in
    simple_bug_dir by restricting .list_uuids() to in-memory bugs when
    .sync_with_disk==True.

    Beyond that, I shifted the order of the BugDir methods around a bit so
    that they were better grouped according to general idea.

    Note that the DiskAccessRequired exceptions on filesystem access when
    .sync_with_disk==False should be propogated to the Bug and Comment
    methods, but I haven't done that yet.

commit fa7dd91cd88377e8c41967ef00a9d31e44cb697b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 25 08:59:38 2009 -0400

    Added in_memory to BugDir.__init__ to disable saving/loading completely.

    The previous simple_bug_dir(on_disk==False) supprised me by loading my
    BE bugdir when called from the BE directory.  This functionality could
    probably move out to Bug and Comment as well, but I have avoided that
    for now.

commit a3d5316acfe99f835404d4f8728e5f8acaad4eff
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 25 07:32:12 2009 -0400

    Added on_disk option to libbe.bugdir.simple_bug_dir().

    Now you can easily generate simple_bug_dirs that live only in memory.

commit 9afbe4e78f7a332401ec03008ff66faa5c11e297
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 25 07:26:19 2009 -0400

    Renamed Comment.From and .time_string to .author and .date respectively.

    Now they conform to the
      libbe.settings_object.setting_name_to_attr_name()
    standard.

    I fixed the references I found in
      becommands/comment.py
      interfaces/xml/be-mbox-to-xml
      interfaces/xml/be-xml-to-mbox
    but there may have been some references or files that slipped through.

commit 987324916401466efd01a8aeefb22c59b5f5a766
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 24 16:14:57 2009 -0400

    Added autocommit wishlist request by Martin Krafft

commit 2a1a71dac497c38dd4b300a27eff2d801a51aecf
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 16:18:34 2009 -0400

    be-handle-mail successfully generates bugdir-changed notification emails.

    This still needs a lot of cleaning up, but it worked for an "all"
    subscription to "DIR", so I thought I'd lock in the current status ;).

commit 60e13a0a2f4f8cad3f6b0217e1e8c4e9ac7e9d6a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 14:24:36 2009 -0400

    "be diff" now compares agains the last commit (for versioning VCSs).

    This is the default behaviour of most of the VCSs own diff commands.

commit 45cc50d7ce0b5c32a2936d6eb87a3002670924bc
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 14:19:15 2009 -0400

    Added .revision_id() to all the VCSs.

    This makes it easier to compare recent revisions without a human
    around to give you revision numbers.

commit caf0111d9c571ac268c235880e6d18fa512e9efa
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 11:43:04 2009 -0400

    libbe.rcs.RCS.commit() now actually calls .pre/postcommit().

    It hadn't before, which defeats the Pu purpose of hook functions.
    This hand't caused any problems though, since only libbe.bzr defined a
    postcommit() and there were no precommit() definitions.

    Bzr's postcommit() had been to auto-merge from the default merge
    source.  Yikes!  Removed that ;).

commit 988b86a70cfc493f51b71e3e0b7effa439719a13
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 11:37:45 2009 -0400

    Broke encodedMIMEText out of send-pgp-mime.PGPMimeMessageFactory.

    It's useful enough even when you're not intending to encrypt
    something.

commit cff3dd5c32cb67b47d2712cf6a1b51e7b6eead4b
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 11:27:59 2009 -0400

    Added Tree types and get_bugdir_subscribers to becommands/subscribe.py.

    The Tree subclass SubscriptionType may be a few more lines to setup,
    but they should be really easy to extend and will automatically keep
    the longhelp and type handling in sync.

    An example extension for bugdir types would be
      all -> assigned -> <user>
    to subscribe only to bugs being assigned to the specified user.  You'd
    have to loosen the currently strict InvalidType checking to make that
    work, but the current type-tree handling would be up to the task.

    Also a bit of reorganizing to hide the private functions.

commit 678d074ba2d20c22255abdcc8c41f3c0e2ec2c2a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 10:08:04 2009 -0400

    Added bugdir setting comparision to libbe.diff.

    Renamed libbe.diff.diff -> bug_diffs, since it doesn't compare bugdirs.

    Load comments before bug comparision so cmp_comments will see them.

    Use .settings_properties rather than static lists to create attribute
    lists for change_lines().

    Removed trailing endline from becommands/diff.py output.

commit 0cdbb498a29d32b5d2d0a182079ed6cd5ddb7641
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 09:59:14 2009 -0400

    Added libbe.bug.cmp_comments(), and added that to default bug comparison.

commit 1ebad91e41ec011e734ccc555bcbe90b4c907d1a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 09:52:47 2009 -0400

    Fixed unrecognized "Test" typo in becommands/comment.py.

commit 9c4c86e387711f9c04d23ed58422c86c0dbaec8b
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 09:28:48 2009 -0400

    Added comment on notification granularity (commit-level).

commit 678fccaf505eca6d816b859e6d90d728d6426a02
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 09:25:34 2009 -0400

    Added libbe.tree.Tree.has_descendant().

    Tree equality is now based on instance id.  It had previously used the
    default list "equal if all elements are equal", which meant that all
    the leaves matched each other.

commit 2d381449ece1326b25c5fbbbf3ee7987f03d1ee2
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 23 09:20:52 2009 -0400

    libbe/tree.Tree.traverse(depthFirst)->depth_first & stripped trailing spaces.

commit 8611e235083367002e5f5f20b034da1216dfd682
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 22 14:54:39 2009 -0400

    Added becommands/subscribe.py to manage subscription list.

commit 8fd151cc1d4efad33341283c6509e28d8f139f50
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 22 08:44:38 2009 -0400

    Show text of comment's reference in notes when spawning EDITOR.

commit 694e2bfbdf64e2c50efae81aa848777b65e6dc0a
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Jul 21 23:51:33 2009 +0200

    Initial implementation of the comments export

commit 19fc927cf959005a71813ca702fc6c1aa28d3a92
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 16:24:24 2009 -0400

    Added: subscribe/unsubscribe (bug #..., "new bugs", "all", etc.)

commit 2d29e2ae07322371c597ccac564e481a926a87ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 16:21:42 2009 -0400

    I'll add Comment.extra_strings too, while I'm at it.

commit 571a8e73c7e332d2c7ab2cc5bca78277aed367ca
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 16:20:21 2009 -0400

    Added BugDir.extra_strings.

commit 257df923b9657a03d7a394d7862a449c2cd342dc
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 16:19:02 2009 -0400

    Bug._extra_strings_check_fn() guts now utility.iterable_full_of_strings().

commit 049825b147e291e11542b4c06ea7800cb0671bd6
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 16:14:53 2009 -0400

    libbe.properties unittest changes due to "extra change-hook save" fix.

    Missed these earlier.

commit 9ef8e376212786d8a99cfa19bfcd9c6e70735d0a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 15:22:09 2009 -0400

    I imported a few threads from the mailing list as wishlist bugs.

    12c:uw: Bug aggregation.  Multi-repo meta-BE?
    529:ow: How should we version BE?
    2f0:aw: Static html report generation
    22b:aw: Sorting targets chronologically
    d99:aw: CherryPy interface "Cherry-flavored BE"
    e08:aw: Interactive email interface

commit 949b17853e384d4bce85a2ab0b29cf28375465aa
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 15:14:59 2009 -0400

    Added "--no-comments" to "be show".

    Also moved the XML-header line to the top of the argument loop, since
    there should only be one.  We're still missing global tags wrapping the
    whole thing though...

    Also set options.XML default to False.  It had been defaulting to
    None, which was breaking the non-XML newline-adding check.

commit b6f34db0ce3b5d93ecb740bae064342f7eb05587
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 14:17:03 2009 -0400

    be-mbox-to-xml is now better at message-id, in-reply-to, and references.

    A previous "len(ret) >= 0" had been stripping the alt-id and
    in-reply-to from _all_ parts of multipart comments.  Now it only
    strips them from parts after the first.  The following parts do not
    specify and alt-id, and they all are in-reply-to the first part.

    I also added the KNOWN_IDS list for selecting amongst an array of
    possible in-reply-to or references ids.  This works well enough for
    now, but would be more robust if we could import a list of previously
    known ids from BE...

commit eee872e51ef0b44a526dc981ef78e48a93ad8116
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 13:32:24 2009 -0400

    "be comment --xml" now saves the comments (again).

    They are generated in memory (from_disk defaults to False)
      133:  new = comment.Comment(bug)
    With the leaner saving since I started trusting sync_with_disk, they
    were no longer making it to disk.

    Easily fixed with an explicit save once you've got them all set up.

commit ec21c8cae10abf14dd429eee484af8dd0b1c4c24
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 13:24:55 2009 -0400

    be-mbox-to-xml handles emails without explicit transfer encodings.

commit 74d1526226eeb084424ad8bcf333e60c751a6e67
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 13:14:24 2009 -0400

    Added cProfile notes to README.dev.

commit 795b15c60fd43e5d393f53926d679fb29c609359
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 12:07:27 2009 -0400

    Fixed extra change-hook save in testChangeHookMutableProperty.

    The actual fix was

    @@ -339,7 +355,10 @@
             fset = funcs.get("fset")
             name = funcs.get("name", "<unknown>")
             def _fget(self, new_value=None, from_fset=False): # only used if mutable == True
    -            value = fget(self)
    +            if from_fset == True:
    +                value = new_value # compare new value with cached
    +            else:
    +                value = fget(self) # compare current value with cached
                 if _cmp_cached_mutable_property(self, "change hook property", name, value) != 0:
                     # there has been a change, cache new value
                     old_value = _get_cached_mutable_property(self, "change hook property", name)

    The reason for the double-save was:

      >>> print t.settings["List-type"]==EMPTY
      True
        (the cached value here is EMPTY)
      >>> t.list_type = []
        (old fget compares cached EMPTY to current EMPTY, no change, so no
         cache.  fset notices change and saves EMPTY->[])
      >>> t.list_type.append(5)
        (now fget notices the change EMPTY->[], caches [], and calls extra save)

    The new way:

      >>> print t.settings["List-type"]==EMPTY
      True
        (the cached value here is EMPTY)
      >>> t.list_type = []
        (fget compares cached EMPTY to new [] and saves EMPTY->[])
      >>> t.list_type.append(5)
        (fget sees no change ([]->[]), which is correct)

    In addition to the fix and the related corrections to
    testChangeHookMutableProperty, I added details about mutables to all
    relevant docstrings and stripped trailing whitespace from both files.

commit 680b3a15076d24d9e1ba5cd96623081d74dbd441
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 10:32:15 2009 -0400

    Touched up becommands/diff.py's help message.

commit 4c7a9d837a268480e61124bba84b5fb01ec3728f
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 21 07:28:26 2009 -0400

    Cleaned up saving/sync_with_disk.

    Got rid of a whole bunch of redundant .save() calls when
    sync_with_disk==True.

    Fixed up the "File-system access" portion of the BugDir docstring so
    we can all remember how things are supposed to work ;).

    Note that some .save() calls are still required.  For example in
    becommands/merge.py, the copied comments have their .bug changed, but
    that is not a versioned property, so it doesn't trigger an automatic
    save, and we have to force the .save() by hand.

    libbe.rcs.RCS.mkdir() is now recursive by default, but you can set
    check_parents==False if you want it to fail in the case of missing
    parents.  Because of the recursion, we removed the .update() call
    on preexisting directories, since there will be at least one of
    these occurrences for every .mkdir(check_parents=True) call, and
    I don't know of any VCS that actually needs them...

    Also stripped trailing whitespace from some files...

commit 4d2f044142754e4c03c4fe9b4fd2ca9f93bb53b9
Author: Gianluca Montecchi <gian@grys.it>
Date:   Tue Jul 21 00:51:37 2009 +0200

    implemented the detail file and fixed the list of active bug

commit 9ef6ad576c01444e35b91dfee8d05b39ec911d45
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 18:39:31 2009 -0400

    Cleaned up some outdated libbe.settings_object.EMPTY cruft.

    From back before commit
      wking@drexel.edu-20090619184215-nfx205yaj02sqrqx
    cleaned up the versioned_property implementation.

    Also a few style fixes and typos.

commit f0ea26424119393a7c4baea4dab215af0c7bc9c4
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 17:37:31 2009 -0400

    Use shlex.split() to parse control lines in be-handle-mail.

    Split arguments following POSIX rather than at all whitespace.

commit 84a9c8a8b93b45940d194ce898f7f3ca2adfe8e4
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 14:59:10 2009 -0400

    Added pseudo-header list to interfaces/email/interactive/README.

    Also some minor textual cleanups.

commit a408bd6c1d631ef4c1271b8d9574e4171ae85d2b
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 14:30:40 2009 -0400

    Added psuedo-header handling to be-handle-mail.

    Many psuedo-headers had been ignored.  Now they are all implemented.

    Getting this working exposed a few bugs in error message generation
    for Commands with IDs in their argument list.  These bugs should now
    be fixed.

commit 6c8a35eef432e041e3e6e224405b189f3557e635
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 12:15:13 2009 -0400

    Added more VCSs to the delete-commit notes in interfaces/README.

commit e2c1aa813380694b2bc8f6cb07345aab23c71e27
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 20 11:44:11 2009 -0400

    Added interfaces/email/interactive/README and be-handle-mail options.

    The README should give enough info to install and use the interface.

    While I was writing it, I thought that be-handle-mail could use the
    --be-dir, --tag-base, and --test options.  generate_global_tags()
    helps implement the --tag-base option.

    I set up a unittest framework since checking is currently a
    pipe-in-emails-by-hand sort of arrangement, which can be slow ;).
    Currently only generate_global_tags() is tested.

    I also restored "show" to ALLOWED_COMMANDS, since it seems to have
    wandered off ;).

commit 10199c74f31ee69c08cfa44aa8c8d098ee1f13fa
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 16:14:12 2009 -0400

    be-handle-mail shown to successfully commit partially-failing emails.

    I've added the test-case that show it.

commit 5da3b7a07356dac806a66e5248acf0ee6f02f839
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 16:10:57 2009 -0400

    More verbose User/UsageError reporting in be-handle-mail

commit 06fce8dc2f382521421d06ae62c889ebfcf53367
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 16:07:14 2009 -0400

    Worked out some kinks in be-handle-mail's autocommit.

    For example, it's helpful to actually run the autocommit command ;).

commit b45c5006dc8746f6dd22cdcc59be7f51084f4d6f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 15:53:40 2009 -0400

    Fixed typos in be-handle-mail error message generation

commit 396b2ab5e79be869f66fad3833f107e54f6fa3ef
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 15:39:26 2009 -0400

    Adjusted final commit-handling in be-handle-mail.

    Now the final commit will run whether or not the preceding commands
    raise any exceptions.

    Note that since we've added the "--allow-empty" to "be commit", we
    don't need to worry about empty commits after read-only actions.

commit 989af0349bf90914f968456612ed801ff5a58500
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 15:32:41 2009 -0400

    Oops, _now_ I've fixed the multipart generation in be-handle-mail

commit a6d5f2891dc353ebe5d9d8598790a6674c174eec
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 15:24:51 2009 -0400

    Added --allow-empty to "be commit"

    Previously many backends would silently add an empty commit.  Not very
    useful.  When the new --allow-empty flag and related allow_empty
    options are false, every versioning backend is guaranteed to raise the
    EmptyCommit exception in the case of an attempted empty commit.

commit 9c956487a7d10f4b52ba4aeaceff35e90d027130
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 11:47:30 2009 -0400

    Fixed multipart bug in be-handle-mail.Message.response_email()

    I hadn't attached the mutipart body to the .response_header, which
    meant that the reply lacked target email addresses, etc.

commit b53c08507cfa43bac4461dc10f1c33a6893106fd
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 11:42:39 2009 -0400

    Added --disable-autocommit to be-handle-mail.

    Also restored repsonse-message logging to help track down bugs.

commit cb46052fc52a1d992057c1d2c67d8dd01fd02a45
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 11:05:32 2009 -0400

    be-handle-mail now commits after every successful email execution.

    Caveats:

    It will produce blank commits after emails that make no changes.
      Todo: --fail-on-null option to "be commit"
    It will not commit changes due to emails that are partly successful.
      Todo: add "be revert"

commit b3ce47285a66a35904e5e50636ce471ecb4ce29d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 10:48:12 2009 -0400

    Added becommands/commit.py and minor fixes.

    Now we can commit changes from the command line with a unified
    interface.  The interface is much less flexible than using your
    particular version control system's commit command directly, so this
    command is mostly intended for user-interfaces and other tools that
    don't want to be bothered with the extra flexibility.

    Normalized spacing in rcs.RCS.commit to produce:
      summary
      <BLANKLINE>
      body
      <TRAILING-ENDLINE>
    messages regardless of the input string format.

    Also fixed a "--complete" handline bug in cmdutil, and some minor
    docstring typos in libbe.rcs and .editor.

commit daae395762a45dde2a388d3f4bb77de0601a1583
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 10:36:21 2009 -0400

    Added more allowed commands and pseudo-headers to be-handle-mail.

    The new pseudo-headers are currently ignored.

commit 0cce2f8703c88a00c9c49d3b6e4a974bcd0f8fa8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 09:59:41 2009 -0400

    Added interfaces/README with commit-deletion notes.

    Up to now, my email interface never committed automatically, in order
    to avoid locking in inappropriate changes.  However, with the ability
    to modify bug status, etc., it could be hard to determine the correct
    status with a single email's effects removed.  In order to make that
    easier, I'm switching over to a "auto-commit after every user action"
    model, and I've looked up the incantations for commit deletion for bzr
    and git (the VCSs I use).  These incantations are recorded in
    interfaces/README.

    Next up: add auto-commit functionality.

commit aa1bb530b3e4d587b31d8d7a99bde1f795bc4eff
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 08:36:56 2009 -0400

    be-handle-mail's new DBT-style interface handles the example emails now.

commit 170b87f3499b2c8a224dccf5927ae9b4e6be2013
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 07:57:28 2009 -0400

    Reworked be-handle-mail to be more like the Debian Bug Tracker.

    Changed all the example emails over to the new format.
    Now it's time to try them all out and fix all the bugs ;).

commit e0af316ac69977437d063785040d3e4e74feed53
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 19 06:24:24 2009 -0400

    Generalized _procmailrc to allow several tags: [be-bug...

    This is part of a process to make the email interface more like the
    Debian Bug Tracker's.
      http://www.debian.org/Bugs/Reporting

    _procmailrc had been out of date anyway, [be-mail] should have been
    [be-bug].

commit 80d4ea738b62f0a958bb3924b9f4c46d810bcd14
Author: Gianluca Montecchi <gian@grys.it>
Date:   Sun Jul 19 00:58:14 2009 +0200

    Created the index

commit e190c53b9e1c6d749277ba73074a0db02f72b1c2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 17:53:20 2009 -0400

    Added new_with_comment ability to be-handle-mail.

    Waiting for a response so you can get the bug ID for your initial
    comment is silly.  Now you don't have to :)

commit 2fffcfc2df9369ce1a4b60225e441a81afd55cb5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 17:02:11 2009 -0400

    Assorted bugfixes to get reworked be-handle-mail working.

commit 9b67dfc5c49df7663c97d5b992ae967359cbcea1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 16:16:13 2009 -0400

    Major be-handle-mail rewrite to make things more modular.

    Added Command and Message classes, and use new flexibility in
    send_pgp_mime.py.

commit fa18ec73f4b2b3bba47186570b05f2adb8ada8ab
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 15:29:26 2009 -0400

    Oops, forgot to reset from/to_addr in send_pgp_mime.py unittests

commit 8feacb745c3093bf89caf14899ea82edb637d3d4
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 15:17:11 2009 -0400

    Major send_pgp_mime.py reorganization to better integrate with email.Message.

    Now send_pgp_mime.py passes it's unittests again, and it should be
    easier to use from be-handle-mail :).

    Renamed Mail -> EncryptedMessageFactory, since its role is to generate
    message bodies of various types (plain, signed, encrypted, ...)

    Separated the header processing from Mail, now you need to
      header_from_text()
    your header text to create an email.Message which you can use in
    EncrypedMessageFactory.sign(), .encrypt(), ...  Once you've created
    the body message you want, you can attach it to the header with
      attach_root(header, root_part)
    where both header and root_part are email.Message instances.

    Made EncryptedMessageFactory doctests more robust, through the use of
     # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
    which removed the need for the .strip*() methods.

    Also added the configurable from_addr and to_addr, which allows you
    to run the doctests with successful gpg calls.  Just set them to
    some address from your private keyring, and pass the passphrase for
    that key in to your test via a file (or gpg-agent...)
      python send_pgp_mime.py -tP path/to/pasphrase/file

commit f88fd2faac0d7cc550d69561afc5a59649a399da
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 11:49:05 2009 -0400

    Starting to seperate message handling in be-handle-mail.

    The goal being to make handling commands differently easier, rather
    than just passing off the whole interface to becommands.

commit b8d8a9c47005f010a34725faa49d5a6c6e10dac5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 11:10:27 2009 -0400

    Normalized whitespace in be-handle-mail and send_pgp_mime.py.

    Also removed "commit after every message" from be-handle-mail,
    because
      a) not implemented yet
      b) don't want to commit spam, since we'd have to find a way to
      remove it later.

    Suggested future workflow:
      * "bzr diff" to poll for activity, blank output = no activity.
      * on activity:
        1) look at changes
        2) remove whatever
        3) commit email-interface repo.
        4) merge changes into your private repo
      * on private repo changes:
        * if activity in email-interface repo:
          1) deal with email activity as above
        * push your private repo onto the email-interface repo
          (and update the email repos' working tree, if required)

commit 70c8a070bfa520d72f0a5b487ca3bb2574d6de1e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 11:03:43 2009 -0400

    be-handle-mail now handles non-text comments.

    This required replacing both the codec-wrapped sys.stdin _and_ the raw
    sys.__stdin__ with StringIO(stdin).  becommands/comment will use only
    one or the other depending on the comment's content type.

    Caveat: Get_body_type only grabs the body and type of the first
    non-mulitpart section, which may not be what the user expects.

    Todo: Add multiple comments for each part of a multipart message, like
    we do in interfaces/xml/be-mbox-to-xml.

commit 111b5358db203c6d4116f285c7112353e03e79c9
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:48:37 2009 -0400

    In be-handle-mail, don't mess with stdin if the command doesn't need it.

    This fixes problems with StringIO(None).

commit 9952f26c3f63ff6525e0bd3e6392dea8600f3ae0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:45:13 2009 -0400

    In be-handle-mail, give new bug summary via command line.

    Fixes incorrect implementation of _comment_ bodies via stdin in my
      wking@drexel.edu-20090718143517-mkd6toxmcoij3qwk
    commit.

commit 0baf6034dba2178f4141d3fe87d0d41061946299
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:41:11 2009 -0400

    Import sys in becommands/new.py.

    Required for reading the bug summary string from stdin.

commit 611da693ba37d39d0f9682973a2f5c0a991c74e7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:35:17 2009 -0400

    For be-handle-mail, pass comment body in via a temporary stdin.

    This avoids decode-recode issues inside libbe.cmdutil.execute(), as
    well as problems due to large comment bodies.

commit e8f8975d1d76e18ba1e8da1f095568c54c9ea6b0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:29:11 2009 -0400

    Fixed broken path in libbe.rcs.RCS._rcs_get_file_contents(binary=True).

    I'd forgotten to prefix the directory root, so calling
      be show --only-raw-body COMMIT-ID
    would fail if you weren't executing it in the repository root.

commit ab27f54efd8c7f8fd095c64a136a2e88852e1e88
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 10:03:48 2009 -0400

    Corrected author_addr -> info["author_addr"] in be-handle-mail

commit c11db47e9708ee53771598205fa82437bcbbe957
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:51:17 2009 -0400

    Fixed typo in one of be-handle-mail's InvalidCommand calls.

    Also restored Makefile target to home (from local), which I'd
    accidentally committed two commits ago...

commit 313a760feded62ba39910bf36fc4d62b56d07858
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:47:46 2009 -0400

    Allow external override of libbe.encoding.get_encoding().

    The previous procmail encoding fix failed, because the becommand
    execution checks libbe.encoding.get_encoding() on it's own, and got
    the procmail encoding.  This one works.

commit d433366708c7b198d4a43254e502ed3fc64a6fa0
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:36:23 2009 -0400

    Fixed some missing references in be-handle-mail.InvalidSubject

commit ef57ff352250c68c86d449fed426e825408ba916
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:31:44 2009 -0400

    Hardcoded UTF-8 encoding in be-handle-mail.

    When run by procmail, the encoding returned by
    libbe.encoding.get_encoding is ANSI_X3.4-1968, which chokes on unicode
    output.  I can't think of a more elegant solution than hardcoding in
    the default encoding.

commit c1a84ab2e9fbdc28fde4ba377e65e9c8e53ee64f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:21:03 2009 -0400

    Added "to_unicode" to send_pgp_mime.flatten()

    be-handle-mail wants unicode output, since all it's internal
    processing is done with unicode.  However, the flatten calls in
    send_pgp_mime work with the encoded binary string output, and
    execute(sendmail, stdin=flatten(msg, to_unicode=True)) fails
    with
      Exception: u
      while executing /usr/sbin/sendmail -t
      sendmail: fatal: wking(1001): No recipient addresses found in message header

commit 6c0b67973dd95dfdc0ddfb29edfb793773f7115c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 09:04:25 2009 -0400

    send_pgp_mime.py attempts to avoid UTF-8 for MIMEText messages.

    This keeps the transfer-encoding out of base64 if possible.

    Also added a "help" example to interafaces/email/interactive/examples.

commit 906f1ecc5199e0c99d344bb0589958043609ca3f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 08:47:11 2009 -0400

    Added send_pgp_mime.Mail.encodedMIMEText() for unicode handling.

    Now be-handle-mail handles examples/unicode without crashing
      cat examples/unicode | ./be-handle-mail -o -l -
    But the output email is encoded in base64:

    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: base64
    From: BE Bugs <wking@thor.physics.drexel.edu>
    To: John Doe <jdoe@example.com>
    Date: Sat, 18 Jul 2009 12:22:05 +0000
    Subject: [be-bug] Re: show
    In-reply-to: <abcd@example.com>

    UmVzdWx0cyBvZiBydW5uaW5nOiAoZXhpdCBjb2RlIDApCiAgc2hvdyAKCnN0ZG91dDoKCjw/eG1s
    IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiA/Pgo8YnVnPgogIDx1dWlkPmY3Y2NkOTE2
    LWI1YzctNDg5MC1hMmUzLThjOGFjZTE3YWUzYTwvdXVpZD4KICA8c2hvcnQtbmFtZT5mN2M8L3No
    b3J0LW5hbWU+CiAgPHNldmVyaXR5Pm1pbm9yPC9zZXZlcml0eT4KICA8c3RhdHVzPmZpeGVkPC9z
    ...


    This is perhaps the best we can get out of python < 3.1/2.7, see
      http://bugs.python.org/issue1368247

commit 57222070fe85d19173f7bb4879b4b893bb8ae5da
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 08:23:13 2009 -0400

    Fixed options.logfile -> logpath typo in be-handle-mail.open_logfile().

commit 467db1a731630891c28cfa78a3a754cdc3027555
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 07:43:29 2009 -0400

    Better unicode handling in be-handle-mail.

    be-handle-mail now gets a bit further on
      cat examples/unicode | ./be-handle-mail -o -l - 2>&1 1>/dev/null
    It successfully reads in unicode output from the command execution and
    successfully prints that output to the log ("-l - 2>&1 1>/dev/null" sets
    up the log to be printed to the terminal's stdout).  However, it chokes
    later on with
      responding to John Doe <jdoe@example.com>: show
      Traceback (most recent call last):
        File "./be-handle-mail", line 274, in <module>
          main()
        File "./be-handle-mail", line 266, in main
          response_email = compose_response(ret, out_text, err_text, info).plain()
        File "./be-handle-mail", line 210, in compose_response
          LOGFILE.write("\n%s\n\n" % send_pgp_mime.flatten(response_email.plain()))
        File "/home/wking/src/fun/be/be.email/interfaces/email/interactive/send_pgp_mime.py", line 165, in flatten
          g.flatten(msg)
        File "/usr/lib/python2.5/email/generator.py" ...
        ...
      UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in position 2581: ordinal not in
      range(128)

commit 54113960c5633c4f43865f68c8463e05d1cfbc1a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 18 06:50:40 2009 -0400

    Added tracebacks to be-handle-mail's "uncaught exceptions".

commit 574dd85e5fcb6e03269d4bc3077ff1227c35b5f3
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 17 09:09:44 2009 -0400

    Added an email interface example requesting unicode comment output.

    Indeed, be-handle-mail chokes... :(

commit 5f6cce866b059f05940f76354692149636715432
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 17 09:00:54 2009 -0400

    Added "be-handle-mail --logfile LOGFILE" for sane logfile handling.

    The previous setup had been pretty wimpy; now there's a degree of
    flexibility.

commit 9680f67793e5c2eab34c863170dc2cbacdbefc0a
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 17 08:24:33 2009 -0400

    Added symlinks to libbe and becommands in interfaces/email/interactive.

    With this set-up, be-handle-mail run from its own directory will load
    your working-state BE setup, not your system-wide BE installation.

commit edad653b9ecffb996d187ccdbbf13e307e5863e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 17 08:21:49 2009 -0400

    Setup be-handle-mail.BE_DIR to point to the BE repo by default.

    At least, it points to the directory where be-handle-mail lives.  If
    you haven't moved it, that will be somewhere inside the BE repository.

    This removes my hardcoded BE_DIR.

commit 3f2fe9c57ba89818af4b80636087c6dfba1d329e
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 17 08:16:45 2009 -0400

    "be-handle-mail --output" added to support easy testing.

commit 94e2e0827ed52b3126ca225ab80f1b344b897cd0
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 16 09:13:07 2009 -0400

    Removed debugging reply-address adjustment from be-handle-mail.

    Everything seems to be working now.  On to the remote tests ;).

commit 86342902e131fdfa21ee4072b3e55b18be978b48
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 16 07:34:31 2009 -0400

    be-hand-mail now catches errors and sends appropriate responses.

commit c215f4bce94c7a0f1fbc36a5921f130db3d8512d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 16 06:40:55 2009 -0400

    Now be-handle-mail successfully catches stdout/stderr.

commit dfb7878b674e8eed1cfa55928d5464dc6fb0f085
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jul 16 05:50:31 2009 -0400

    Renamed test->manipulate_encodings in becommands.*.execute.

    Reminder from my initial libbe/encoding.py commit:
      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).

    I'm also trying to catch stdout/stderr from be-handle-mail, and I ran
    into the same problem.  It took me a bit to remember exactly what
    "test" was supposed to do, so I thought I'd make the argument name
    more specific.  If you need other changes when running in "test" mode,
    you'll have to add other kwargs.

commit b39f68dcb0ecdc5f2c3f12fe75b47ff1f4d51e86
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 15:50:58 2009 -0400

    Oops again, removed some old debugging logging

commit c3bb31ecee8f3736cb98f9f99b788639ec1c591b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 15:48:55 2009 -0400

    Oops, the header keys in be-handle-mail should all be unicode.

    Even though I convert to ascii in send_pgp_mime.Mail.__init__(), it's
    still good to be consistent inside each module ;).

commit 5fd7c1f7103d52e41099080d958c49de8d83a698
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 15:45:27 2009 -0400

    be-handle-mail succesfully sends replies.

    Although I'm not catching stdout/stderr yet, so the replies aren't
    very useful ;).  Still it the send_pgp_mime.py interface is working :).

    I've added rudimentary logging (via LOGFILE) to keep track of what
    be-handle-mail is up to.  There's also BE_DIR, which sets the
    directory that BE lives in (important ;).

    The author handling got more consistent, thanks to
    send_pgp_mime.source_email (using the new return_realname option) and
    email.utils.formataddr().  Now author_addr should look the same
    regardless of which phrasing you use to set it (e.g. "NAME <ADDR>" vs
    "ADDR (NAME)", and possibly others.)

commit 6e00d65df9e79b1277676723741ad86042f0f2fa
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 15:33:36 2009 -0400

    Adjusted _procmailrc to not match reply emails.

    You might want to keep the output to read later ;).

commit 6be75eed079b67cadf5a2566c1bf86d1df258580
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 15:13:39 2009 -0400

    Add unicode-header handling to send_pgp_mime.py

    Also:

    Switched
     email.message_from_string()
    to
     email.parser.Parser().parsestr()
    for parsing the header, for access to the headersonly option.

    Adjusted module import order to alphebetize non-mime email modules.

    Added return_realname to source_email(), which makes it more useful to
    be-handle-mail (currently uncommitted).

    Added a doctest for the plain() output and removed redundant
    Content-Type line from the doctests (which we'd removed from the
    output with the last commit).


    Note that many doctests _will_fail_ unless me@big.edu and you@big.edu
    are in your gpg keyring.  At some point I should make those addresses
    options to --test...

commit e40048f10311f01a25cdd1872ac1dc014b9eef20
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 14:06:03 2009 -0400

    Minor tweaks in send_pgp_mime.py

     * No reason to set maxheaderlen to something other than the default.
     * MIMEText sets content-type and charset automatically.

commit f04ada1e90aaff9da1af46455a0ead597fc4deba
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 13:18:19 2009 -0400

    Added --mode=plain option to send_pgp_mime.

    Also a few more tweaks to get things working.  I think be-handle-mail
    is parsing the incoming messages correctly now, but I'm not getting
    replies back for some reason.  Some of the adjustments:

      * Moved send_pgp_mime -> send_pgp_mime.py, otherwise Python doesn't
        recognize it as an importable module.
      * I use postfix now instead of msmtp, so send_pgp_mime.sendmail now
        points to postfix's sendmail-compatable frontend.
      * Added "--mode=plain" option to send_pgp_mime.py, so I can test
        my procmail rules and send_pgp_mime itself without worrying about
        be-handle-mail.
      * Fixed some typos in be-handle-mail.

commit 8562c18a92d726d1ad23d6625a3b5a5be4f6e439
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 12:43:34 2009 -0400

    First attempt at real response email.

commit dbbbb08aa74fbff314b1d99e653deb8d49f95ace
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 12:10:19 2009 -0400

    Added some comments to send_pgp_mime

commit bf6a5fdf33daabc0aa8e05b75d0a24cd3abbbdf6
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 09:55:20 2009 -0400

    Incorperated send_pgp_mime into be-handle-mail.

    Todo: generate a real response email to replace the current dummy
    email.

commit 7286b98027a7230d948ff7517fd2e25bfd1f66a2
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 09:43:34 2009 -0400

    Ran update_copyright.sh on be-handle-mail and send_pgp_mime.

commit 76dcb8b118486c1c7a6d84bd027c66ddc35d7035
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 09:37:52 2009 -0400

    Added my send_pgp_mime module to the project.

    This is a bit of a shameless plug, since there's not much motivation
    for encrypting bug emails.  However, I've already written it, and it
    does send emails, so I'm using it ;).  Perhaps some company will want
    to keep the bug submitter's contact information securely in a BE
    database.  Anyhow, there's very little reason to _not_ use PGP, and
    the module certainly doesn't force you to encrypt anything. ;)

commit 2137b2606f7312d57f16365228adc6aac372de43
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 15 09:32:35 2009 -0400

    Don't install xml tools (e.g. be-xml-to-mbox, cattmutt, ...).

    There are lots of interfaces.  They should each have seperate
    installation targets, to allow the user to pick only the interfaces
    they expect to use.

commit c7d4427c4e3c1c9294e06d3bdfef0d40eda1ac01
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 17:10:51 2009 -0400

    Added be-handle-mail and some example emails.

    So far, it parses the emails and executes the specified task.

    Todo: email the sender back with the output/errors/exit-status/etc.

commit f98f688c326e8254a02b261ae9b21c1b95539c3a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 17:09:32 2009 -0400

    Added --author and --alt-id to "be comment".

    You could already add this info via the --xml input, now you can do it
    from the command line too.

commit f88f3e349393ecfde389a4d3916c433302627d33
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 16:04:19 2009 -0400

    Removed xml.sax cruft from be-mbox-to-xml

commit 1cb19d8c51dde8ed091ee875c095066165a5488d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 15:49:58 2009 -0400

    Added _procmailrc file for interactive email handling.

    The beginnings of an interactive email interface to BE.

    With a working procmail setup, copying _procmailrc to ~/.procmailrc
    should sort through incoming email to that user, passing all messages
    with subjects starting with [be-mail] on to the script be-handle-mail
    and deleting the rest.

    Now I just need to write be-handle-mail ;).

commit 3db8405bcedf2cc85b21d31427e31745b493324a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 15:25:44 2009 -0400

    libbe/_version.py made PHONY in Makefile.

    It should be updated after bzr commits, but Makefile doesn't
    understand bzr, so just update every time.

commit 34b5f9ee925ec67965a9d995d8218360501e6776
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 15:24:18 2009 -0400

    Updated Makefile to match new organization

commit e7d150fd7ca22b01defd0c615000b6bfc367aacf
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 15:18:07 2009 -0400

    Reorganized directory structure, mostly to put all the interfaces in
    one place and make things clearer to the uninitiated.  Here's my
    current understanding:

    .
    |-- libbe          (the guts of BE)
    |-- becommands     (plugins for all "be *" commands)
    |-- doc            (documentation, currently just the man page)
    |-- interfaces     (non-commandline interface implementations)
    |   |-- web
    |   |   |-- Bugs-Everywhere-Web    (in Turbogears)
    |   |-- gui
    |   |   |-- beg    (in Tkinter)
    |   |   `-- wxbe   (in WX)
    |   |-- email
    |   `-- xml        (xml <-> whatever conversion)
    `-- misc           (random odds and ends)
        `-- completion (shell completion scripts)

    Note that I haven't attempted to use the web or gui interfaces in a
    while, so I'm not sure how well they're holding vs the core
    development.

commit c38907c85bbb62a2b3bb00dd05eeb588ecc6845d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 14:34:40 2009 -0400

    Updated README to match current status.

    Mostly updated the list of supported VCSs.

    Also corrected spacing inconsistency in README.dev.

commit 859fbf4a83f2806fdd785ca2f312d7dca8b2163e
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 08:13:47 2009 -0400

    Updated GPLv2 to current GPLv2.

    Fixes Ben's bug 00f26f04-9202-4288-8744-b29abc2342d6.

    I also tweaked update_copyright.sh to make possible future
    copyright-blurb revision easier.  The new algorithm is greedier,
    overwriting _all_ consecutive comments after a '^# Copyright' line, so
    do
      # Copyright
      #   GPL ... GPL ... GPL

      # Your comment here...
    not
      # Copyright
      #   GPL ... GPL ... GPL
      #
      # Your comment here...
    Without the blank line, your comment would get overwritten by the next
    run of update_copyright.sh.

    Note that catmutt is ignored by update_copyright.sh because Moritz
    Barsnick has only licensed his grepm code under the GPLv2 (not
    GPLv>=2).  See the initial catmutt commit for details.

commit 1bfa1a8469753c3dbc2c4c1dfc735f056c00d2b8
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 14 06:54:42 2009 -0400

    Updated setup.py url and switched to rolling version names.

commit 17fd19f7603b095eda4a8a0ac4b74372832ef8d2
Author: Alex Miller <alex55miller@gmail.com>
Date:   Tue Jul 14 06:22:54 2009 -0400

    Merged Alex Miller's git-config-not-found patch

commit 17adbfb1c04684b986bf2c97cc4fa5197198aadc
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 13 07:46:58 2009 -0400

    Fixed "be --dir --complete"

commit 197fc012f26816c233b4844c82c32f2efc449fab
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 13 07:32:11 2009 -0400

    Added --dir option to "be"

commit ffb8e95faed6fec4e1b06d7bfba3cc21661c677f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 13 07:23:16 2009 -0400

    Use CmdOptionParser in "be".

    All the becommands have been using cmdutil CmdOptionParser for a long
    time, but "be" parsed its options by hand.  Now it used
    CmdOptionParser, which makes adding new options much easier.

commit 77fe8d1e2c71fb783160ab9946d9dc9e471a11c1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 15:27:40 2009 -0400

    Added (commented out) /usr/local PREFIX to Makefile.

    I got a bit confused and installed be into "/usr/local " instead of
    "/usr/local" with
      PREFIX = /usr/local # ${HOME}
    With the alternate PREFIX line right there, there should be less
    temptation to do again :p.

commit b5c4896d7ffd219a3118a3e6885db5956bf79e55
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 14:32:55 2009 -0400

    Added "be comment --xml --ignore-missing-references ID COMMENT".

    Now you don't have to edit them out by hand.

commit 37c4e7f0f0d012e8df88b94022bc9a9d75373831
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 13:56:05 2009 -0400

    be-mbox-to-xml passes attributes on to each part of multipart messages.

    Previously "message[<some-attr>]" just returned None if it wasn't set
    for that message part, which overwrote anything passed in through
    fields.

    "from" and "date" added to list of attributes passed along.

    For be-xml-to-mbox, "alt-id" was added to Comment._attrs,
    and Comment.print_to_mbox was adjusted to handle the case where
    we have no information about the parent bug.

    With all of this, I can complete the loop
      be-mbox-to-xml example.mbox | be-xml-to-mbox > example2.mbox
    without errors :p.

    Finally, be-xml-to-mbox has been adjusted to also work on files (it
    had previously only handled data via stdin).  We can't add stdin
    handling to be-mbox-to-xml though, because the mailbox package needs
    an actual file to work on, and I haven't setup a tmpfile workaround
    yet...

commit d49efee62f70c9f49a5236719fd8c52dabd37dae
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 13:12:08 2009 -0400

    Altered be-xml-to-mbox to work with non-ASCII input.

    Now it runs off xml.etree instead of xml.sax.

    Removed "No matching bugs found" from "be list --xml" output.

commit 096ab4f25e368641de3c57266d1611797eb7497e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 09:50:24 2009 -0400

    Added timezone handling to libbe.utility.str_to_time.

commit e757fd3eb3a600a919b9d1542bc68c3a4e9ae939
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 09:05:05 2009 -0400

    Not escaping whitespace (e.g. endlines) outside the XML document root.

    ElementTree.XML was choking on them.  I should unescape all whitespace
    (e.g. tabs, etc.), but I'm lazy and don't have any XML that's strange
    enough to need it ;).

commit 51dee303dd3673dc702d54107c272f4180f43fb7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 08:52:50 2009 -0400

    Minor fixes to get unittests working again.

commit 76d552e5401df990a601f245f30f45d7c13cdd1e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jul 12 08:38:40 2009 -0400

    Added be-mbox-to-xml.

    Reworked to allow "be comment" to handle unicode strings (see bug
    e4ed63f6-9000-4d0b-98c3-487269140141).  The solution was to escape all
    the unicode to produce and ASCII string before calling
    ElementTree.XML, and then converting back to unicode afterwards.

    Added a unicode-containing comment to the end of bug
    f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a so that there's a handy unicode
    comment for testing.

    XML headers (e.g. '<?xml version="1.0" encoding="UTF-8" ?>') are
    now added to all xml output from be.

    Switched non-text/* encoding library to base64 instead of
    email.encoders, which makes that code in libbe/comment.py simpler.

    Changed libbe/mapfile.py error encoding from string_escape to
    unicode_escape so it can handle unicode.

    Everything's still untested, and be-xml-to-mbox doesn't handle unicode
    yet, but I felt this commit was getting a bit unwieldy ;).

commit a65b273fa14df2a085342bac14abb8a2167ff98a
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 10:09:27 2009 -0400

    Went through "closed" bugs looking for miss-categorized bugs.

    Found a few that were actually "fixed" and one that I reopened.
    Perhaps we should add a "merged" status to the default, so that the
    merged bugs don't clutter up the closed bugs category...

commit 5208a2808a2a87cbfa9d8589d5ac254aa0dea64f
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 09:46:38 2009 -0400

    Updating "be set --help" and "be status --help".

    I don't really like the "defaults to None" for the settings that have
    funky initialization procedures (most of them :p), but I'm not sure
    how to handle that cleanly yet.  Perhaps
      be set --current
    I also need to find a method of adding complicated settings like the
    nested lists for severities, etc from the "be set" commandline.

commit a03fea1b2b2eeb95d8ab62c49724bbf0cf631f19
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 08:13:34 2009 -0400

    Removed <abentley@panoramicfeedback.com> from copyright blurbs.

    These didn't work with my update_copyright.sh.

    I went with
      Aaron Bentley and Panometrics, Inc.
    instead of
      Aaron Bentley <abentley@panoramicfeedback.com> and Panometrics, Inc.
    just because of line length, but I'm open to convincing if people
    prefer the latter...

commit c5fcffdcf6944eecc8fac0582ab938961eb987a8
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 08:01:45 2009 -0400

    "be comment --xml" now translates comment uuids to alt_ids.

commit f87355fddc2a931e3f984d074a713f4313d5f709
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 07:46:22 2009 -0400

    Adjustments to new versioned_property behavior.

    Also adjusted libbe/comment.py to move to user-specified alt_ids,
    rather than uuids.

commit 4038e118782113b404f0995e3c919d6e58195c22
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 07:13:17 2009 -0400

    Fixed versioned_property(default=None, generator=None) defaults.

    Now the behavior conforms to the docstring:
      If both default and generator are None, then the property will be a
      defaulting property which defaults to None.

commit f3d16a7f477e1470aeb4bf342888c082ee1b7d67
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Jul 11 06:46:49 2009 -0400

    Fixed minor doctest failure in cmdutil.py

commit f0300038113e2754d83ee73f32a51072ad9b1f3b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 10 17:58:49 2009 -0400

    seems to work ;)

commit c5da71a900d6263e29deb94d81aa22e6ba6f34ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 10 14:14:24 2009 -0400

    Save whole bugdir in becommands/tag.py.

    It doesn't matter now, but at some point Bugdir might implement some
    sort of repo-wide caching which would need to be saved.  The
    BugDir.save() method should be intelligent enough to not save things
    that have not changed, so efficiency should not be effected either.

commit 0f09cef7c497ea826df526d2d3a5b018279c4d2f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jul 10 14:11:23 2009 -0400

    Simplified error handling in ./be

    Removed superfluous nesting in ./be's error catching.  Also replaced
    KeyErrors due to unknown commands with the more specific
    cmdutil.UnknownCommand, since all sorts of programming errors can
    raise KeyErrors.

    Untested, since my working tree is a mess at the moment, but what
    could go wrong? ;)

commit f33d0625cdd8caad858e6ab8b0df3cede051733e
Author: gianluca <gian@galactica>
Date:   Fri Jul 10 00:56:48 2009 +0200

    Changed the index layout

commit 98f16c2d4daaaafae20f31879bbb5bd0cbaa8d49
Author: gianluca <gian@galactica>
Date:   Thu Jul 9 00:49:24 2009 +0200

    Added the last 10 bug open list

commit e5c0d5f2f3f7637cad6baca9e33778d0c054195d
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jul 7 22:18:56 2009 -0400

    Added new-bug-from-stdin to mirror comments-from-stdin.

commit 9e1430329040913810378bdbaf5c9b7919821fd7
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 6 16:15:09 2009 -0400

    Added "be show --only-raw-body COMMENT-ID".

commit ab1b33b702c4c84a90fd5d7ba8c6dd0078fc303a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jul 6 15:54:13 2009 -0400

    Added ability to show individual comments with "be show".

commit 2a8eb1f87a2c3f92d9113419ff125afb98b2e4ed
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jul 3 20:47:33 2009 -0400

    Remove the "Lines Up" link because it probably does not.

commit ec6eaa8b6ced6b23256513e76f97cfa3a0e26a5d
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jul 3 20:45:05 2009 -0400

    Fix the typo in the README.

commit 299dddeb62f5e7f91c3eaf6a65ca98334a617472
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jul 3 20:42:56 2009 -0400

    Rename the LICENSE file.

commit 8e78184f4a9b13d01bd8d4c3a9c542af99ef8378
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jul 3 20:41:56 2009 -0400

    Add a README file with some basic information.

commit ab16d23c3d82c427e0c4e969573db6e087e9f2dc
Author: gianluca <gian@galactica>
Date:   Sat Jul 4 00:57:18 2009 +0200

    Initial implementation of the html repository export.
    Creation of the index file

commit a536332660c8374e2000541e2db5ad6cea3b0e5e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 1 22:37:57 2009 -0400

    "be init [ROOTDIR]" -> "be init [--root ROOTDIR]"

    Following Ben's Wed, 01 Jul 2009 11:31:51 +1000 suggestion.

commit 8de10d8570c198de16f08d4e5ee3dbf2af85dab4
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 1 22:21:52 2009 -0400

    Updated darcs put command for darcs >= 2.2.0, following Chris' report

commit 45741b5c4e507e80fe037d0a36e5487e795430e9
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jul 1 22:20:32 2009 -0400

    Updated copyright blurbs and AUTHORS and included script for future updates

commit 86604581b9727af7dcaa58fb0809967300124d79
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 30 19:40:01 2009 -0400

    "be set-root" changed to "be init"

    On the advice of
      Martin F Krafft <madduck@debian.org>
    as posted in
      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477125
    on
      Fri, 12 Jun 2009 17:03:02 +0200

commit 92b9b013ea13ea1278600488bc1ce65d226a92c8
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 30 15:26:56 2009 -0400

    "be comment" now handles the default options.content_type.

    Previously it choked when options.content_type == None.
    I'm not sure how that made it past test_usage.sh...

commit b8f67af510fe92bb4250c779bf48ac246561a6df
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 30 11:54:56 2009 -0400

    Add "--show-status" flag to "be depend"

commit 1e8cc09743d624c52c192459c31773c6be288144
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 30 11:29:06 2009 -0400

    Added darcs support.

    I don't know much darcs, so I make no claims about the beauty of my
    implementation.  It seems to get the job done though, until a darcs
    guru comes along.

    I also tweaked the libbe.git.Git._rcs_get_user_id to handle the case
    where user.name or user.email are not set.

    I also added the option to pass a stdin string into the
    libbe.rcs.RCS._u_invoke* functions.

commit db4adfd8be31c253239a54b5ae8a90af46bded7b
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 30 11:00:46 2009 -0400

    Remove blank line from bug.xml() output when bug has no comments.

commit 97aeb18b20f901950da0355471fdc17055f3f4a8
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 26 09:27:50 2009 -0400

    Added ability to handle non text/* MIME types.

    The main problem was the encoding/decoding that was happening to _all_
    input/output.  Now many I/O activities have a `binary' option to
    disable any encoding/decoding.  The `binary' flag is set whenever the
    comment content-type is not a text/* type.

    In order to print valid XML (and make life easy on xml/be-xml-to-mbox),
    non text/* types are printed out as base64-encoded MIME messages, so
      be list --xml | be-xml-to-mbox | catmutt
    works as you'd expect.

    With the standard (non-XML) output from `be show', we just print a
    message telling the user that we can't reasonably display the MIME
    type and that they should use the XML output if they want to see it.

commit 033a4446c1522c9ff288afa6bc47c3d15d290216
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 21:57:02 2009 -0400

    Updated help strings, man page, and completions

commit 9bd629f4af4835bef4ba7d9711deb011bb4c3766
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jun 25 19:04:24 2009 -0400

    Get rid of the images.

commit 1da0b687776fa83cf8098d6783195e2ed48ca972
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jun 25 19:03:32 2009 -0400

    Revamp the layout to look less awful.

commit 362f264efa192ce7662870b987e90152580f18a9
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jun 25 17:57:27 2009 -0400

    Minor formatting.

commit cc14e7e4ca90f007117a595b34e45dec2c805d77
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jun 25 17:54:18 2009 -0400

    Fix the EMPTY problem.

commit 01d2ad07456974c3b4d4539a7b49f4af0916795b
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jun 25 17:38:02 2009 -0400

    Fix cfbe to work with the latest version of be.

commit 3cc479535865e3e1948ce8812f12e1d0a34031c8
Author: wking <wking@mjolnir>
Date:   Thu Jun 25 17:10:57 2009 -0400

    Fixed libbe.rcs.RCS.installed to handle missing backend binary.

    This makes all the failed tests understandable, since they all crash
    with strings like:
      AssertionError: Arch RCS not found
    Which makes more sense than spitting out the raw CommandError.

    It also means that installed_rcs() actually works now ;).

commit 93402b914313e102aa56d5d59a2fead428ae8463
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 13:42:19 2009 -0400

    Updated .bzringore and Makefile.GENERATED_FILES

commit fc9c1d719629858fcaa077ad5661bf414864220a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 13:31:31 2009 -0400

    Added auto-generated version info. (be --version)

commit 586a426cedc62893d857f54b9b3e588289f78f0c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 13:30:23 2009 -0400

    Remove blank line from tag's output if no tags exist

commit 05892f36554a0cda289b207718289216670ac214
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 10:05:25 2009 -0400

    Added regexp matching to `be list --extra-strings'

commit 5fd3c3c3afa8be4680798978e4e5fb0436fbf00c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 09:51:41 2009 -0400

    Added extra_strings functionality to libbe.bug.xml and be-xml-to-mbox.

commit ea62dd57fa0ea41a164c02129cb0e70a3298bc9f
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 09:10:04 2009 -0400

    Added `be depend'.

    This closes bug 7ec2c071-9630-42b0-b08a-9854616f9144.  BE is now bug
    free ;).  At least until the next commit :p.

    Writing depend.py turned up a few style points in tag.py which I also
    fixed.

commit d61b9a76a1ffc9daec72456aa4549bf3e3093f29
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 08:30:52 2009 -0400

    Added `be tag --list' to list all tags.

    Loading all the bugs for the list search had the side effect of
    updating all the bug values files to the new YAML format.

commit e95942bdf1f5ad6703c20e87b3368302801370ae
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 08:16:47 2009 -0400

    Added -e/--extra-strings option to `be list`

    Now you can limit your list to bugs matching certain extra strings,
    e.g. "TAG:working".

commit 706d1837c99a938fd8ae0d78d72525eb6a3e6aee
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 08:05:43 2009 -0400

    Fixed settings=None bug when bug values file is blank/missing.

    Just return an empty dict instead.

    Steps to reproduce:

      $ mkdir /tmp/BE-test
      $ cd /tmp/BE-test
      $ be set-root
      $ be new 'having too much fun'

commit 797bf225ff29a73fa0770d6cefef12a27cc3d760
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Jun 25 07:45:57 2009 -0400

    tag --remove now returns bug.settings["extra_strings"] to EMPTY.

    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.

commit fdb2c3c3084a5c290e9fa89372e65e20918157bc
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Jun 24 17:41:56 2009 -0400

    `be target list` -> `be target --list` to standardize syntax.

    And avoid confusion with bugs who's shorname is `list'? ;)

    Now the usage info and help string also reflect the new method.

commit 08d811aa7b56af39441a50358ebd23da092d8db2
Author: Chris Ball <cjb@laptop.org>
Date:   Wed Jun 24 17:40:59 2009 -0400

    Add documentation and testcase for "be target list".

commit f108aa1fe803407ff47f86e44f2ff9414eeaf00d
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Jun 24 17:26:50 2009 -0400

    Only print a target in "be target list" if it's a string.

commit 4a9dde55b83b92866daae3f408c7a31e20d9e0ab
Author: Chris Ball <cjb@laptop.org>
Date:   Wed Jun 24 17:25:02 2009 -0400

    Add "be target list", to show a list of existing targets.

commit 40859e85fc1690ad95a85e6adc7b7ef4e4157e49
Author: Gianluca Montecchi <gian@grys.it>
Date:   Wed Jun 24 17:20:12 2009 -0400

    Add ability to list all current targets.

    From his Wed, 24 Jun 2009 23:08:25 +0200 email to the list:

    Hello

    As I noted some time ago, there is not a way to list all the present targets
    in the current repository.

    At the time, Chris send me a patch to have this feature, but it still not
    merged in the last revision (314).

    So this is a patch for this feature to apply against revision 314. It is
    basically a port of the old Chris's patch.

    bye
    Gianluca

commit 269778a3983bc56b02c921a306b257b18fe16c47
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 23 19:59:50 2009 -0400

    Use generator instead of default for libbe.bug.Bug.extra_strings.

    This avoids the problems associated with mutable defaults.

commit 1bf91af13020de706608293139f358e3a6712c72
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 23 19:52:20 2009 -0400

    Added test case for mutables to libbe/settings_object.

    This continues the line of changes started in libbe/properties with
    the last two commits.  Also straightened up stranch double-default in
    libbe.settings_object.versioned_property and moved the fn_checked
    before checked, which shouldn't matter because I never use both at
    once, and can't think of a case where you'd want to.

    I've also added some docstrings to the settings_object unit tests,
    since apparently docstrings get printed during the test if they exist,
    and they look nicer than the name of the unittest itself.  More like
    ./configure output ;).

commit 94ec388327e2418ff54431ed4e4f05cd6fc82e85
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 23 14:05:36 2009 -0400

    Cleaned up libbe.propertied.change_hook_property for mutables.

    Now (except for a wimpy hash function) it's as good as it's going to
    get for true mutables.  Calls to change_hook occur for all changes,
    sometime after the change-enducing action and before the next
    attribute access.  See testChangeHookMutableProperty for an example of
    the expected behavior.

    If you're doing some mutable-modification (e.g. t.x.append(5)) and you
    want to `flush' the changes into a change_hook call, just assign t.x
    to a dummy variable.  e.g.
      t.x.append(5)
      dummy = t.x

    If you _really_ need post-modification change_hook calls without such
    a flush, you're on your own.  Would you get the property-owning class
    to poll for changes?

commit 0940a0196db1e589a9c91652d92a284b28cd5629
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 23 11:44:06 2009 -0400

    Added becommands/tag.py

    Oops, I forgot to add becommands/tag.py with my last commit.  Here it
    is now, with the added ability to remove tags.

commit 83e06581ad007e1a1f27f311ccb3a747f0a81ade
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Jun 23 11:35:23 2009 -0400

    Added Bug.extra_strings to support add-on functionality, e.g. `be tag`.

    Versioned properties whose data is a mutable type are tricky, since
    the simple comparisons we'd been using in
    libbe.properties.change_hook_property don't work for mutables.  For
    now, we avoid that problem by assuming a change happened whenever a
    mutable property is set.  change_hook_property is a bit untidy at the
    moment while I work out how to deal with mutables.

    As an example of using Bug.extra_strings to patch on some useful
    functionality, I've written becommands/tag.py.  I'd suggest future
    add-ons (e.g. becommands/depend.py?) use the "<LABEL>:<value>" string
    format to keep it easy to sort out which strings belong to which
    add-ons.  tag.py is still missing command line tag-removal and
    tag-searching for `be list'.  Perhaps something like

      be list --extra-strings TAG:<your-tag>,TAG:<another-tag>,DEPEND:<bug-id>

    would be good, although it would requre escaping commas from the tags,
    or refusing to allow commas in the tags...

    libbe.properties.ValueCheckError also got a minor update so the
    printed error message makes sense when raised with allowed being an
    iterable (i.e. check_property) or a function
    (e.g. fn_checked_property).

    All of this digging around turned up a really buggy
    libbe.bugdir.MultipleBugMatches.  Obviously I had never actually
    called it before :p.  Should be fixed now.

    libbe.comment._set_comment_body has also been normalized to match the
    suggested change_hook interface: change_hook(self, old, new).
    Although, I'm not sure why it hadn't been causing obvious problems
    before, so maybe I'm misunderstanding something about that.

commit 37195a33108299504f8d37042dec06df0540d0d2
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 17:31:13 2009 -0400

    Consolidated outstanding bugs.

    Only one live bug left:
      7ec2c071-9630-42b0-b08a-9854616f9144

    I've decided (mostly due to the huge Trac post, see bug comments) to
    _not_ hardcode dependencies, but to add an attribute-creation
    mechanism that a becommand/depend.py could use for dependency
    tracking.  Time for a new branch to think this out...

commit 4e5dc3888699076e46bdc1d94f901ca889b88b05
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 16:27:46 2009 -0400

    Added `be list --sort *` for user-selectable sorting.

    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.

commit 0f6e647f18a2d6165c0333cb7d123fc781c8e4e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 14:30:42 2009 -0400

    Use Comment.content_type in xml output.

commit 107c15bfd9c5702554d14583dd589226cc573985
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 12:16:27 2009 -0400

    Created be-xml-to-mbox.

    Converts the output of `be list --xml` mbox format.
    For example:
      $ be list --xml | be-xml-to-mbox | catmutt

commit adbc4ed0c63b521cd87863b6d25a293f473f14d4
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 11:50:09 2009 -0400

    Only print RFC 2822 date in bug xml output.

commit cabb531e2300c5643447ccd1ffd311ee5690773a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 10:39:05 2009 -0400

    Escape XML strings.

    Since
      <creator>John Doe <jdoe@example.com></creator>
    is not valid XML.

commit fb342df1b66897ab17377d6e923049e292149683
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 10:15:07 2009 -0400

    Adjusted catmutt for portability following Mortiz' suggestions.

commit 22aad60c0372e7a573ee2f9b908c11c96c48468f
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 10:02:11 2009 -0400

    Fixed libbe.settings_object.EMPTY output in bug/comment XML.

    The xml() method hadn't been updated since the settings_object revamp.

commit 447c4f625d22a27134d333cd6ccc211acb5d3922
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 09:15:22 2009 -0400

    Adjusted comment XML fields for consistency.

    Renamed "name" -> "short-name" and "in_reply_to" -> "in-reply-to".
    Reordered uuid before short-name.

commit bfeb35712e37acfd7f393c9ca6f9d67090dab739
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Jun 22 08:38:09 2009 -0400

    Converted xml/grepm to xml/catmutt.

    Now
      $ cat example.mbox | catmutt
    works.  Onwards to be-xml-to-mbox!

commit 2553cc43edd5a792c2f12d10ea1ab4f8cd771cc1
Author: Moritz Barsnick (at dot) <moritzbarsnicknet>
Date:   Mon Jun 22 07:22:26 2009 -0400

    Added grepm as a template for an output-mbox-to-mutt script.

    The goal is to turn grepm into catmutt, and end up with
      $ be --xml list | be-xml-to-mbox | catmutt
    to browse current bugs and comments in mutt.

    Moritz has generously donated grepm under GPLv2.  Not GPLv>=2 yet, so
    if the project decides to go to GLPv3 for example, this file will have
    to stay behind.  Not that I see such a change coming, but I thought it
    was worth commenting on, so we don't forget.

commit 665e64fbe8fea91f68be42cbbda79082d9a58c30
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 21 21:54:07 2009 -0400

    Replaced some doctest output with ellipses.

    Following Chris' advice.  Don't know what I was thinking before ;).

commit 331be32ec51360389fe729e5a946020429e1cf95
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 21 09:41:13 2009 -0400

    Added --xml option to becommands/list.py

commit e362eb8e722ea6c63b2addc0d4550b4a7daa55db
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 21 09:22:31 2009 -0400

    Restored completion/be.bash.

    Oops.  I seem to have removed it in my Thu 2008-11-27 19:35:55 -0500
    commit.  Luckily, the version I removed was still sitting right were
    it belongs as
     /etc/bash_completion.d/be
    Now it will be back in the tree.

commit 8aa307584c1e35dfde114e04ace12b7862579014
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Jun 21 07:56:05 2009 -0400

    Touch missing userwide config file before read if it's missing.

    Another bug introduced by James Rowe's user-config patch.  Obviously
    it's hard to read a file if there's no file there.  I'm not sure how
    it passed the unit tests earlier.  Maybe I forgot to install the
    pre-commit version before running the test suite...  Anyhow, fixed
    now.

commit 6ecbe654d3f33cbfb90bb767bffbd252144d08c9
Author: John Doe <jdoe@example.com>
Date:   Sun Jun 21 09:51:39 2009 +1000

    Conform new docstrings to PEP 257.

commit 133fdec6db0e01e77cc99d81cccd254dc1191dcc
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 19 16:26:01 2009 -0400

    Added comments-from-stdin, so we can add tracebacks, e.g. with

      $ be list --invalid-option | be comment <bug-id> -

commit 9fb7b0d84872c9db0bb33ea791874e147c7e5f0d
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 19 15:16:49 2009 -0400

    Allow defaults for config.get_val() in case of missing user-config file.

    Fixes bug introduced by James Rowe's previous patch:

      $ be list
      Traceback (most recent call last):
        ...
        File ".../libbe/rcs.py", line 34, in _get_matching_rcs
          import arch
        File ".../libbe/arch.py", line 29, in <module>
          client = config.get_val("arch_client")
        File ".../libbe/config.py", line 70, in get_val
        File "/usr/lib/python2.5/codecs.py", line 817, in open
          file = __builtin__.open(filename, mode, buffering)
      IOError: [Errno 2] No such file or directory: '/home/wking/.bugs_everywhere'

commit 6215862d89ed606c18df896feafbecb31bbe8ec6
Author: James Rowe <jnrowe@ukfsn.org>
Date:   Fri Jun 19 15:10:34 2009 -0400

    Merged James Rowe's arch-shouldn't-create-userwide-config-file patch.

    From his email to the be-devel list:

    From: James Rowe <jnrowe@ukfsn.org>
    Date: Tue, 3 May 2009 11:44:41 +0000
    Subject: [PATCH] Don't create config file unless we're using arch.

    Hi,

      I find the current behaviour of creating a config file simply to set
    a default for a revision control system I'm never going to use to be
    a little annoying, the attached patch changes this behaviour to only
    set the default in the config file if you're actually using arch.

    Thanks,

    James

commit 8949c86542fcabbe1ddea8e9936c4436698654db
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 19 12:06:32 2009 -0400

    Removed unused libbe/restconvert.py and fixed a typo in README.dev

commit 3100ca2c893425c97a7c1d93acff56329f156574
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Jun 19 11:06:59 2009 -0400

    libbe/encoding.py

commit 3d68aa87e761a5347da8ec3afdc6ba2aa25d8a81
Author: John Doe <jdoe@example.com>
Date:   Mon Jun 15 20:13:22 2009 +1000

    Follow existing docstring whitespace convention.

commit 4029c15d863ea2d6a2ada5f2306b2c99dadcf75f
Author: John Doe <jdoe@example.com>
Date:   Sun Jun 14 17:27:18 2009 +1000

    Distinguish tests for VCS which can't handle an uninitialised identity.

commit 1e2bb2b79fbb7a3eeb3f0a86d520b2a01c64ad64
Author: John Doe <jdoe@example.com>
Date:   Sun Jun 14 17:24:29 2009 +1000

    Refactor mega-testcases into separate true-or-false testcases.

commit b0c7c274d394ccfba2ea84fa6e9785f41f4cddd8
Author: John Doe <jdoe@example.com>
Date:   Sun Jun 14 14:34:11 2009 +1000

    Make RCS testcase subclasses dynamically.

commit 6b55225e19cec676bc67a1e584bf73276dc31940
Author: Chris Ball <cjb@thunk.printf.net>
Date:   Sat Jun 13 08:43:28 2009 -0400

    Use a more general regex to test GIT commits; GIT's output has changed.

commit aba3cc6fe99b844bf9038e3a02fd8ef147e866d7
Author: Steve Losh <steve@stevelosh.com>
Date:   Mon Mar 23 17:14:59 2009 -0400

    Added a license file (MIT/X11).

commit 0e44870a1582840f9bde8d641a4f87501ff951ed
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 16:35:51 2009 -0500

    Added tag alpha for changeset abfe7aa4bdf3

commit fef8edebcf48eb2e106af7a7e8e6361fdf1359f3
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 16:34:23 2009 -0500

    Tagged the alpha release, and added mroe bugs.

commit a032aaa4aee2e4a738c23ab004f5291b62d2eb05
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 16:34:08 2009 -0500

    Added tag alpha for changeset 8d8c7f52f3af

commit 5f40e22c9f3898b4c186e49d82cc1b519cca7c31
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 13:38:05 2009 -0500

    Bug changes.

commit 0c326359b8f5e1b8302620b51ceaf362c09bb286
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:51:40 2009 -0500

    Got rid of the stupid config file.

commit 76ad23dfc107113a8b9a5a04a471d6351e427204
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:42:23 2009 -0500

    Changed some bugs around.

commit c5f0fab5422d8785a1693426e479a0b91f1f2962
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:39:45 2009 -0500

    Apparently not enough though.

commit 6132015512a0eec6852c8e2a3125f695e0840fb1
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:39:19 2009 -0500

    Refactored more into the web interface.

commit 5f61c45a6f5265deb5a9da1fd53da66b4baae104
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:35:37 2009 -0500

    Forgot to rearrange the script.

commit 7a10b49793e57ec22280816107e07963e0fb87d9
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:34:51 2009 -0500

    Forgot some imports.

commit ab14edcd57eeac529d3085f053fa6d3124a0432a
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:33:28 2009 -0500

    I really need to learn more about Python packages.

commit c8f65ce798528648121de03c744c730d89b41435
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:31:02 2009 -0500

    Pulled out the web interface.

commit 8cc309af61344901d964b95aed131742a01f79b5
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:27:02 2009 -0500

    Removed the debug print.

commit 0276e63065d9ab71da2056c8d236c5efb6927830
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:25:21 2009 -0500

    It works!  Just need to debug one more thing.

commit 9692858f76f190955230482dfb378b44a6c72fc3
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:23:23 2009 -0500

    I think I may have it figured out.

commit d70a5395f55409d1653a5e935e676511cf5ee440
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:20:59 2009 -0500

    I has a module!

commit 475ee11059ac68faecd372b9e5a6dfb2a756d05d
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:20:22 2009 -0500

    Testing out some more packaging issues.

commit 7b703174d6e48f81683c51bf5b56c25b464b631b
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Feb 7 12:17:22 2009 -0500

    Testing out some packaging issues.

commit d29f2c497b61e39408cbad015a2f27307021cb75
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 21:19:59 2009 -0500

    Starting packaging up.

commit 33d22e0bf80c3268578676dc8895a133df5a878b
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 20:12:59 2009 -0500

    Added two more bugs.

commit 08a8ebadbc3d20875048ff157cd618f596cb7cba
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 20:06:17 2009 -0500

    Bug assignment.

commit 7a4f6d29874b0a800c0163a12195ffa9cb8727d6
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 20:01:13 2009 -0500

    Changes before Laura checks it out.

commit f0bd55c68d3e5fc7e117c43a00fcf24585021d10
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 18:02:31 2009 -0500

    Implemented bug editing.

commit f2e64e8c05e9255be619ae4ce47e9419088b5005
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 17:28:05 2009 -0500

    Got bug detail editing working, except for the summary.

commit 55322caec86a2778fe973cb782043c3bc08fa988
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 16:10:24 2009 -0500

    Closed the commenting bug.

commit 122b5aef8aaa94e71ea91facb156a26607575575
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 16:09:50 2009 -0500

    I can has commenting!

commit 59c742611d77ce59414d073e98782014dfb70d8f
Author: Steve Losh <steve@stevelosh.com>
Date:   Sun Feb 1 15:45:52 2009 -0500

    Implemented bug adding.

commit b11274dde06473582f3f6ecb87c034d57d3917f4
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Jan 31 02:26:36 2009 -0500

    Added the links in the bug list.

commit 46953e63dd929637f67a4d10065a3f28c403dbdf
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Jan 31 02:24:31 2009 -0500

    Implemented the single bug view.

commit 4aae653f364f80c4c9e9c2ea39fd2ed62aa03524
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Jan 31 00:36:04 2009 -0500

    Added my last name.

commit 57b59118f2d55c802e3c431aaaf07a33ec1c54bc
Author: Steve Losh <steve@stevelosh.com>
Date:   Sat Jan 31 00:19:57 2009 -0500

    Fixed a minor filter bug, more bug reports.

    Starting to plan out the alpha release mroe thoroughly.

commit 120720baf3ce09aacaddb82c0937af596aea62fe
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 23:53:09 2009 -0500

    Implemented the status filter.

commit 012817b8ed9c47354fe3b1e7657b82bcda4e77a4
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 23:36:31 2009 -0500

    More minor design changes.

commit 7ab69a21d18c70d06de741ca990ebfa35f20362f
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 22:23:44 2009 -0500

    Table striping.

commit 222237e0745861ec081678f8d23de12982e2bc76
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 22:07:59 2009 -0500

    Minor changes, and added lots of bug reports.

commit 4cd9b7a520a4902267be73b03b24435ab2923d26
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 21:45:15 2009 -0500

    Made it prettier, and added assignee filters.

commit 4096632287d468c98d7f808079a3f877e7f55fda
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 20:53:41 2009 -0500

    Oh my god I have CSS display directives.

commit de82c493eab41330169949254a8152f5c7d9302c
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 19:13:56 2009 -0500

    Got the layout looking pretty nice.

commit 6a019eea492e6de184e487d41c5fb35049eced9b
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 18:39:11 2009 -0500

    Moved the layout quite a bit further.

commit 56ea256123ddee86d517cc5904c6898a094cda5a
Author: Steve Losh <steve@stevelosh.com>
Date:   Fri Jan 30 17:43:07 2009 -0500

    Started layout work.

commit 7b9a7702aa3f49f21260bbe8ee9f1c13cae1cf34
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jan 29 22:20:29 2009 -0500

    Added a few bugs.

commit a47d059bd54deeb7309375c62a619300bfcfc86d
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jan 29 22:17:03 2009 -0500

    Started using Bugs Everywhere to track the bugs.  How appropriate.

commit ee7c28659703f2f832eeadfbc1d13607e845e39a
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jan 29 21:41:39 2009 -0500

    Got the static serving working.

commit 17bd39c87dc4133d4e31ec0fd11e155f3fe209a9
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jan 29 21:31:29 2009 -0500

    Very basic working skeleton.  Gets stuff from the bug directory, renders with Jinja.

commit 90fdd9601e2450a420564668b01fb6df1287c196
Author: Steve Losh <steve@stevelosh.com>
Date:   Thu Jan 29 20:54:33 2009 -0500

    Starting off with an hgignore!

commit bd8d5fdc0d37970824daac68f8d7c76975e9d36d
Author: Thomas Habets <thomas@habets.pp.se>
Date:   Wed Jan 7 19:39:32 2009 +0100

    XML output for "be show"

commit 07dc865218f825f61a4eb0f89d73bb7c184a6520
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Dec 21 00:35:12 2008 -0500

    Fixed spelling mistake in test_usage.sh

commit 986e46aa72a2fc5086d2bf3232b7e71b9184e96a
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 18:33:33 2008 -0500

    Fixed lack of user_id caching in bugdir.BugDir

commit f1359fd35716840554b8e7f7606285c0c95d3d82
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 13:06:10 2008 -0500

    Closed search bug

    9a942b1d-a3b5-441d-8aef-b844700e1efa

    Aaron says it's already implemented in the Bugs-Everywhere-Web, and
      $ be show `be list --status all --uuids` | grep -A5 -B5 XYZ
    works pretty well for me on the command line.

commit 72f9263f3d812fb817e0bc4f5c7d07b60df2cd6c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 12:40:39 2008 -0500

    Added per-tree default assignee option.

    The new setting is currently only used when creating new bugs with
    becommand/new.

commit ef6b94bbba261c38ed9f136c4b370e07b9edf0fb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 12:24:24 2008 -0500

    Closed a few old bugs that seem outdated/dealt with.

commit ebeca26c2c8fdf2dab77c57e1e1ab9b2a0a704dc
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 12:07:49 2008 -0500

    Fixed missing directory error when merging comments onto a bare bug.

    If bug_A had no comments (and so, no comment directory), changing
    comment settings before saving raised missing directory errors.
    save_settings had previously assumed the
     .be/bugs/XYZ/comments/
    directory existed, which wasn't true for comment-less bugs.  Now it
    checks, and creates the directory if necessary.

commit 2447b5df014630d402f1fe28db6898a981f5ada0
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 11:56:34 2008 -0500

    becommands/severity and status now handle --complete appropriately.

    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

commit b5b8d7214b24338ba5c97287810a4a67e61c3c06
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 11:32:57 2008 -0500

    Per-tree status levels working.

commit 1449bf7d1a42d187c30ed72074b2c45b5131d6bc
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 10:44:29 2008 -0500

    Closed 4a4609c8-1882-47de-9d30-fee410b8a802

    Per-tree severity levels working.

commit 6af76d83e10bd59ceb4aa706c0c30960fbe6f476
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 10:40:24 2008 -0500

    Adjusted becommands/list.py to use current bug severities levels.

commit d1dfc45b051b0e14c0e2d7ed6dbf1d32927d7bfb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 10:32:10 2008 -0500

    bug severity verification now works with per-tree severities.

    I adjusted the YAML format following
      http://pyyaml.org/ticket/11
      Unicode support
    To remove '!!python/unicode' escapes and allow unicode in the output.
    We can always have unicode in the output because the output is encoded
    (as per the BugFile.encoding setting) before being sent to the outside
    world.

commit ca347e86bef7bbdd0d1007beaf283f29ec1bbdff
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 09:54:39 2008 -0500

    Per-tree settings now passed into bug module.

    becommands/severity gets the configured settings appropriately.

    Todo:
      adjust setting-validation to compare against the current values.
      setup becommands/severity to --complete severities.

commit 83e320a61eb74dab6eddfdda010f34fa42eedc0c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 09:14:01 2008 -0500

    Added per-tree configurable severities.

    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...

commit f6c5402f58b8450ee4e1a78da87b560491abbd45
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Dec 4 08:52:23 2008 -0500

    Cleaned up some older bugs.

commit 57a55f2e33a54b81ab48af6ca8e82bb4dabc2265
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 19:23:04 2008 -0500

    Added support for bug reporter field.

    Closes e2f6514c-5f9f-4734-a537-daf3fbe7e9a0

commit 0f9429a25175007fe0291814dc25e088983abbfa
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 19:06:24 2008 -0500

    Fixed comparison bug in Bug._get_time.

commit 5fa64ba20ad15124d36386c816ea93ab56f83f39
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 11:12:56 2008 -0500

    Added auto-completion for becommands/set property names.

commit 6b8eb93cd6b35840b7186c02225c75091a603b64
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 11:06:00 2008 -0500

    Converted Comment to the settings_object system.

commit 742ecad12d831ed296d8ae00fe8e130b0ecd54d0
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 10:39:52 2008 -0500

    Bug moved to the settings_object system.

commit 6a94d050bbd72b3812fd7cb05445a66484103214
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Dec 2 10:14:06 2008 -0500

    Added decorator-style properties to bugdir.  Created settings_object module.

    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 ;).

commit a98aafc8572bb826a0fda1b6bca0011fc4ef126a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 1 14:42:20 2008 -0500

    Added decorator-style properties to libbe/comment.py.

    Also some typo corrections and some reworking of bug/bugdir to better
    support the lazier loading.

commit 5c3b1999a162d6b1434e9746717f293ea24462aa
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Dec 1 14:08:59 2008 -0500

    Fixed some erroneous "no test suite" messages in test.py.

commit a37e4d0b047cccfa77dd60424c2958f29f4d2322
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 28 23:08:10 2008 -0500

    Added libbe/properties to make property management easier.

    libbe/bug has been moved over to the new system.
    comment and bugdir still to go.

commit 0f81920080f550af3c8df6fc1d16e57cc7f432e1
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 28 10:15:15 2008 -0500

    Added more helpful error message for libbe modules missing test suites.

commit 01bf5c7970b3d7cb872902f5a5298b489da3defb
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 19:35:55 2008 -0500

    Optimized bug loading from becommands/comment with partial-uuid matching.

    The code is a bit uglier now, but it's a good deal faster :).

commit 7a67efb3bc61ec499c9af7de7c54a7b98db7eafd
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 11:34:44 2008 -0500

    Added becommands/comment completion.

commit 7603adce0d52e387b8d0e14d881c1a7749a5f9e5
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 11:12:26 2008 -0500

    Completion support added to becommands/help

commit 84551c20fe603ee9832b0b17061660cdf31a913e
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 11:03:21 2008 -0500

    Added bugid_args option to cmdutil.default_complete.

    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).

commit 216e39db0bd3491ee3740f69a8f2afd49f76eb2f
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 10:16:18 2008 -0500

    Command completion simplified and working for list, dummies for other cmds.

    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

commit 8e989347bdefab6a77e32072265fa0bd8c143c43
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 09:34:54 2008 -0500

    Merged --commands and --options into --complete.  Simpler that way.

commit adb7e854b56aa7c3df6fae677fe383f417e364c4
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 09:26:52 2008 -0500

    Basic bash completion is now supported.

    I'm still working on a clean implementation though...

commit 998525bf43305b1d53927975621ab9f211d0ed95
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 08:06:12 2008 -0500

    Fixed typo in becommands/comment help string.

commit 3c70ddc0a08c70435d42cafa4f731af2f86925e4
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 27 07:35:40 2008 -0500

    Added --commands option to be to help with bash completion.

    A'la ditz
      http://gitorious.org/projects/ditz

    See also this good intro to bash completion
      http://www.debian-administration.org/articles/317

commit 0c032afab8b5a22428d6148bd611cfe171934ae2
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 25 16:45:42 2008 -0500

    Added -a/n/m/r to becommands/diff.py.

commit da9c84914deb5da645f46cff892d1245cd4eaf99
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 25 16:07:08 2008 -0500

    added -u/uuids option to becommands/list

commit 5699aef2a5741c5ffc24d9cb12d6bc9b085d484a
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 25 15:47:19 2008 -0500

    Added libbe/encoding.py to wrap input/output/file access appropriately.

    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.

commit ed4d971d1375a692fbd3a394237f56e851bb5d0e
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 25 07:12:52 2008 -0500

    Oops, should be passing libbe.tree.Tree.sort() args to children.  Fixed.

commit 0f3f492bd1c9db89b98f719f7371b183c9c8d838
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 22:03:20 2008 -0500

    Hack to fixe encoding bug in becommands/show

    The situation really calls for a global encoding setting rather than
    lots of hardcoded "utf-8"s.  See bug
      f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a

commit e6d48051cbce1f74ec3c50fc0ccb72003258889e
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 21:20:56 2008 -0500

    Added becommands/merge to join duplicate bugs.

commit 4c6f8ceeafd1eadb4de8f86fed93f779613deece
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 21:15:55 2008 -0500

    Adjusted becommands/set to handle user_id properly.

commit cb18ea54f783ed37a39fc12561329b398830d656
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 20:55:24 2008 -0500

    Added invalid-value checking to becommands/set.py.

    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).

commit 2c3f6c066ceb03ae3579dff029bf01f0b62c1f82
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 17:02:16 2008 -0500

    Tweaked usage strings to increase consistency.  Also added README.dev.

    I tried to stick to CAPS for argument placeholders.

commit 442e5b00c8b5bf65041d0a1dafbf8c7eac0d5356
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 16:30:52 2008 -0500

    Fixed broken doctest and inconsitent indentation from not wrapping comments.

    Also emptied becommands/__init__.py.  I didn't understand the plugin
    interface when I wrote it.

commit bd43a971bae09f0e9a8faa23ea67786b293d43bf
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 08:49:44 2008 -0500

    Marked c45e5ece-63e3-4fd2-b33f-0bfd06820cf4 as fixed.

    It's been fixed for a while

commit 116c356bdb9b8e6d32af2419dda1d423b238efe1
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 08:11:08 2008 -0500

    Removed auto-wrapping from comment.Comment.string().

    It makes tracebacks almost illegible.  I doubt markup/markdown systax
    or auto-formatting is really useful, since bugs-reports are ususally a
    short comment and a traceback.

    I also closed a4d38ba7-ec28-4096-a4f3-eb8c9790ffb2 and
    7bfc591e-584a-476e-8e11-b548f1afcaa6, which have probably been fixed
    for a long time...

commit 5fd5bc89a2ec270d3e0b01f583012eaaf7750693
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 07:47:06 2008 -0500

    Added Bug.comments(), BugDir.has_bug() & cleaned up diff.diff().

    + some other minor fixes and cleanups.

commit d248dbca39e1e8a26a5aa9d39b28038690a406a0
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 07:31:51 2008 -0500

    Replaced direct filesystem read from bugdir.py with RCS mediated read.

    Also replaced utility.FileString with StringIO() in cmdutil.py, which
    allowed the removal of utility.FileString and utility.get_file.

    The only remaining file().read() outside the RCS framework is the read
    in utility.editor_string(), but should probably not go through the
    RCS.

commit 63a7726eba738fe2ed340027039ba655ff91898a
Author: W. Trevor King <wking@drexel.edu>
Date:   Mon Nov 24 07:09:03 2008 -0500

    Added 'allow_no_rcs' flag to RCS file system access methods.

    Now mapfile access has fewer special cases, and there is less
    redundant rcs.add/update code.

commit d80720fcad22215cdbd1f2b39434945364ba11d5
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 14:46:51 2008 -0500

    Created bugdir.MultipleBugMatches so bugdir no longer imports cmdutil.

commit 8517f6856983b81363155e4b8ce58deb549e333b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 10:58:40 2008 -0500

    Removed outdated beuuid import from libbe/bugdir.py

commit 298c3b34765821a81fede2ff6edc8769e87c0c27
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 10:08:18 2008 -0500

    libbe/diff.diff() was missing newly created bugs.  Fixed.

    Also added blank lines to separate the new/modified/removed groups.

commit 510c9f33393c1f222ee56732c026f229ed8ae49d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 09:50:56 2008 -0500

    Go back to lazy bug loading to get execution speed back up.

    Fixes bug b3c6da51-3a30-42c9-8c75-587c7a1705c5

commit 333fc7968794deff9aa7a7a91d72cf17763df855
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 08:43:40 2008 -0500

    Improved user-id saving/loading/caching & save user-id into duplicate bugdirs.

    Fixes the duplicate bugs
      a403de79-8f39-41f2-b9ec-15053b175ee2
      c894f10f-197d-4b22-9c5b-19f394df40d4

commit 1864e9d3736125ae80c7be33dd181d7636d912e7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 08:16:19 2008 -0500

    Added bugdir user-id caching and save/load from settings file.

commit b08c53301aa3d998ffe099a34b8b42414e741d75
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 07:40:11 2008 -0500

    `be show` now supports showing multiple bugs with a single call.

commit 21f5f348b458c306fdfea3e33414f3c3071a292b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 07:31:14 2008 -0500

    Oops, dba25cfd-aa15-457c-903a-b53ecb5a3b2c was fixed with commit 253.

commit a657c217def0ea7eadd11707a0f76c4b7441e177
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 07:26:15 2008 -0500

    Oops, dac91856-cb6a-4f69-8c03-38ff0b29aab2 was fixed with commit 242.

commit 1edae6ccd13951120b8347e97130de57a3d6f60e
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 07:19:36 2008 -0500

    Fixed "'NoneType' object is not callable" error in libbe/utility/Dir.__del__

commit 9e0a846ff4fdaac45665e5a1e085aa37e3fa135b
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 23 06:51:30 2008 -0500

    Added archive/project init code for `./test_usage.sh arch`.

    Also some minor cleanups.

commit 4a626e67b3f401b8e242a55571a802147123a196
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 22 19:45:37 2008 -0500

    Explicit rcs.cleanup() in bugdir test.

    Don't use del(rcs), because if there was an error, there is still a
    reference to rcs in the traceback, so it is never cleaned up.  This
    can leave the external archive cluttering up your Arch install if
    you're using the Arch backend.  See the __del__ documentation

      http://python.active-venture.com/ref/customization.html#l2h-175

    for details.

    Also fixed some out-of-date method names in libbe.diff

commit 9524d061aa93451a282f45150944878d6b5cf065
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 22 16:46:42 2008 -0500

    libbe.utility.Dir was complaining of a missing shutil in __del__().

    Presumably the cleanup process removed shutil before cleaning up the Dir.
    Now Dir keeps a local reference.

commit c38d190505f11e428533837dad42dac75e22c48d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 22 16:30:24 2008 -0500

    Oops, bug 8e83da06-26f1-4763-a972-dae7e7062233 was fixed by commit 254.

commit 6d4785e75e1552b3f04b1499fede6fdef2732c39
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 22 16:15:16 2008 -0500

    Created and fixed bug 496edad5-1484-413a-bc68-4b01274a65eb.

    I figured out why Arch was complaining.  For non-Arch users, file
    system access has been tweaked a bit see the BugDir doc string for
    details.  Also, you should now set BugDir.rcs instead of .rcs_name.
    .rcs_name automatically tracks changes in .rcs (the reverse of the
    previous situation), so read from whichever you like.

commit 93801606303d79cfe9c1483cd6627cb1b93dedc7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 22 16:14:04 2008 -0500

    Oops, these new submods are used by the new, classified Bug & BugDir.

    I'd forgotten tell bzr...

commit 23179f50092d91dbeab97ad2b88cdaadb79b615f
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 21 14:56:05 2008 -0500

    Another major rewrite.  Now BugDir, Bug, and Comment are more distinct.

    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.

commit a2bdbab9ccd9ca24ce470d2beeea86afb7ede2ae
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 19:47:46 2008 -0500

    Updated misc/gui/wxbe with wxPython -> wx changes.

    I'd like to be able to sort the bugs by clicking on the various column
    titles, but I don't know enough about wxPython to pull it off.  After
    wrestling with it for a bit, I realized that I'll only be using the
    command line interface anyway, and other people can use the web
    interface.  Probably a common feeling, which would explain why the
    GUIs feel so abandoned ;).

    At any rate, I think the effects of turning the RCSs into classes have
    been passed through and stabilized, so my churning should decrease...

commit f3d13ed7f24dbf24ce431e862dac5ce80f093521
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 19:47:00 2008 -0500

    names.creator() replaced by rcs.get_user_id().

commit 0e57e0c247f7499f5d54e135d116c2a30a74146e
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 12:02:23 2008 -0500

    Some more fixes to get BE-Web working with libbe changes.

commit 5ee35ad5ae30efd17a4c99d3056232b57bd4529b
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 11:55:40 2008 -0500

    Added identity discussion to BE-Web README.txt & require login to edit bugs.

commit 3b0bfcb7488132cd40733812da41772f890c99b2
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 11:12:43 2008 -0500

    Added BE-Web repo-access warning to Bugs-Everywhere-Web/README.txt.

commit 1ca9b73832c1ca685fdba85f2be354e855bc0b5c
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 08:31:45 2008 -0500

    Updated Bugs-Everywhere-Web to work with new architecture.

commit 3697d561fef7f4ee15a6b4d9906a9a9114412965
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 08:05:17 2008 -0500

    Merged bug.new_comment into bug.Bug.new_comment.

commit 35b7aaa33c1826d7b39dc8a0f32100f5c0c5788d
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 07:57:57 2008 -0500

    Moved bug.new_bug code into bugdir.BugDir.new_bug.

    Also removed explicit comparisons from beweb/controllers.py, since
    they are now built into the Bug.__cmp__ method.

commit 4c4f80d65e778544554ff0c9faebcf9ccff43614
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 07:45:36 2008 -0500

    Added test_usage.sh pointer to the README.

commit d4a5225b388e63bb2fc34a60ab9ef83a409ab8cb
Author: W. Trevor King <wking@drexel.edu>
Date:   Wed Nov 19 07:40:47 2008 -0500

    Removed libbe/tests.py

    Not needed with stronger test.py.  It's only use would be testing an
    installed libbe in place...  Maybe that is useful enough?  If so, we
    can bring it back.

commit 4403767ac9965fc81ee639d23cf5c4dd3d94a9f1
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 18 20:51:16 2008 -0500

    One of my tests left my bzr name as John Doe.  Seems to be fixed now.

    I checked with

    $ python test.py
    ...
    $ ./test_usage.py
    ...
    $ hg showconfig | grep ui.username && bzr whoami
    $ git config user.name && git config user.email && tla my-id

commit 19b153b9a86377a2b30cc80fa3f475fed892e2fe
Author: W. Trevor King <wking@drexel.edu>
Date:   Tue Nov 18 20:42:50 2008 -0500

    Major rewrite of RCS backends.  RCS now represented as a class.

    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.

commit e4018dfe8cfa553adbd20898c5b42c3462ca1733
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 15:59:41 2008 -0500

    Added 'hg', 'arch', and 'none' RCS modes to test_usage.sh.

commit 2b071a28a2cedab54c713948c6b6f4bd27bb45e2
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 15:37:14 2008 -0500

    Fixed another bug in git.strip_git() (bug 0cad).

    Also added git mode to test_usage.sh.
    I'll go through and add modes for the other RCSs...

commit b5959aee578055431eeb80befde7272754b2b8ad
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:55:55 2008 -0500

    Oops, I'd forgotten to tell bzr about my becommands/remove.py.

commit 4bc4079e6d1495f47398a6b685f45fe40e304a0c
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:47:16 2008 -0500

    Added ./test_usage.sh as an example usage scenario.

    It is also a good integration test.

commit 34049acff00a71ff866807b1c851f04d35039a82
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:35:53 2008 -0500

    Removed dud bug 11e.  Moved several bugs from 'closed' to 'fixed'.

commit 8634003f4a85e03108e055155015579191fa9c39
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:32:19 2008 -0500

    Fix Bug.string() handling of None times.

commit 45640a0b55cebe2a04c9a35f3864c541b2e78cc1
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:14:49 2008 -0500

    Removed the empty bugs 14c and 38b.  Fixed bug.string() call in libbe/diff.py.

commit e7c376ed286b3bf741ae9e364eef7dd2114d77c7
Author: W. Trevor King <wking@drexel.edu>
Date:   Sun Nov 16 14:12:06 2008 -0500

    Added 'remove' command to remove bugs.  Use __desc__ for command help.

    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.

commit dbe327909b048e0709b598fd60f02ef53b25a0ea
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 18:53:45 2008 -0500

    Fixed '-' parsing bug for list --assigned option.

commit 3c34141a7b7f91f599c9e254b864e21847934505
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 18:48:08 2008 -0500

    Fixed some errors produced while moving bug_summary to Bug.string().

commit 03011f286420d8e091052019ee41eba021041e61
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 18:35:41 2008 -0500

    Moved libbe.cmdutil.bug_summary() to libbe.bug.Bug.string().

    This seems like a natual place for a function that only operates on Bugs.

commit 137f084f2931a0e2e1fa3076beadac17b88ef6b6
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 18:31:04 2008 -0500

    Removed libbe/template.

    This file is not used anywhere, and appears to be an outdated version
    of libbe/diff.py.

commit 2a800d09623720fc0a0c745611d627faec20a9ca
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 16:17:05 2008 -0500

    becommands/show.py gives more specific bug information.

commit a6861cc61a662872783f2359019e72869636441d
Author: W. Trevor King <wking@drexel.edu>
Date:   Sat Nov 15 15:48:30 2008 -0500

    Generalized becommands/list.py to allow more specific bug searches.

commit 8895be5592b93780bcedf16a40d522a86f891fa8
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 20:34:57 2008 -0500

    Fixed a few more Comment.date->time calls.

    Bug keeps timestamps in Bug.time, so working towards consitency for
    Comment.

commit e76aa4d29f532fc5c116f62b77ec4fa179a3cdac
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 20:32:15 2008 -0500

    Removerd the diff3 functions from mapfile.py.

    They don't seem to be used anywhere...

commit 9e6f068085042de9f1beb44b560986f767934795
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 20:21:29 2008 -0500

    Fixed some bug.py split effects in diff.py

    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 ;).

commit 87e356c9208e955fcf6c20c0b271db87bdd48014
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 19:25:44 2008 -0500

    Split Bug and Comment class out to bug.py from bugdir.py

    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.

commit 91b284cde8c4443cf0997798f4f847ce95409cd3
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:32:38 2008 -0500

    Changed __get/setattribute__ calls to get/setattr() calls.

    See
      http://www.python.org/doc/2.5.2/lib/built-in-funcs.html#l2h-33
      http://www.python.org/doc/2.5.2/lib/built-in-funcs.html#l2h-66

commit 41c369fafb6b775c50ba1d50efc57c024449b97c
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:24:08 2008 -0500

    Replaced libbe.arch.invoke() with general rcs.invoke()

commit f1356144841ff5fb8b9cd7a3525725271803807b
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:23:09 2008 -0500

    Added caveat about using short bug names to unique_name().

commit 67127ba95f877071ba2958d507527690ba70b231
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:10:44 2008 -0500

    Cleaned up and docstringed libbe.cmdutil.unique_name().

    Now the first bug will have a 3 char short name (used to be one char,
    with the second bug having a 3 char name).

commit ae7cf46ed388d22aa380b96e540cafd830395daa
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:03:04 2008 -0500

    Remove blank lines from `be list' output

commit f64ed8e403cd33690f654ee62f9347681768cace
Author: W. Trevor King <wking@drexel.edu>
Date:   Fri Nov 14 00:00:51 2008 -0500

    Closed bug 210 (target options not parsed).

    I imagine this has been fixed for a while...

commit f6253f4c6ba301954a5b9beed4e5b41e74bb8004
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 15:27:07 2008 -0500

    Oops... *Now* I've fixed 0cad

commit 49f81fa291ca925ec985dc52f51b9a37bb3106ee
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 14:31:49 2008 -0500

    Fixed 0cad bug with smaller fix.

    Hubert Chathi's fix was confusing for me, so I made a simpler change.
    Seems to work so far.  The problem was that

    os.path.dirname('filename')

    returns an empty string ('') if there are no directories in the
    filename.  So when `git rev-parse --git-dir` returned '.git', os
    returned ''.  Later programs didn't recognize '' as a valid directory
    and crashed.  My fix returns '.' in this case, so we don't crash,
    and avoid having to use full paths.  I'm not sure why I don't want
    to use full paths; they just give me bad vibes...

commit 859d57514518e10f3648de2ab1896c689af88164
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 14:19:38 2008 -0500

    Added Hubert Chathi's git set-root bug report.

    Bug report patch from
    http://void.printf.net/pipermail/be-devel/attachments/20080623/49500aaf/0cad.bin

    Reporting thread
    [Be-devel] Re: set-root in git repository fails
    Hubert Chathi hubert at uhoreg.ca
    Tue Jun 24 03:49:23 BST 2008
    http://void.printf.net/pipermail/be-devel/2008-June/000038.html

commit c5d7551e6a6e98bb6da7c7d11360224edfda2f14
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 13:10:13 2008 -0500

    * use python2.4/2.5 compatible import of ElementTree
    * catch Popen() calls to missing VCS binaries
    * test.py should only test installed backends

commit 4671bb85ad36b1ac70d0316ee4d92229d459b90d
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 12:31:40 2008 -0500

    Updated imports to handle Python 2.5 ElementTree module.

    Opened, fixed, and closed as bug 31c.

commit d57ab5228547c416e0c4b5c2d60fef23681e5393
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 11:40:06 2008 -0500

    Created bug c4e.  Wrote a simple (an hopefully correct) be/test.py docstring.

commit c1aa82084fabc7a44339f52c2d63a91323cfd473
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 11:30:18 2008 -0500

    Created late bug report for Popen OSError catches

commit e5460203573f54a74c06f1b0922dcbbb1076f64c
Author: W. Trevor King <wking@drexel.edu>
Date:   Thu Nov 13 09:02:22 2008 -0500

    Catch OSErrors from Popen()s

    From the subprocess module documentation:
    http://www.python.org/doc/2.5.2/lib/node530.html

    "The most common exception raised is OSError. This occurs, for example,
    when trying to execute a non-existent file.  Applications should prepare
    for OSError exceptions."

    And from the os module documentation:
    http://www.python.org/doc/2.5.2/lib/module-os.html

    "exception error
        This exception is raised when a function returns a system-related
        error (not for illegal argument types or other incidental
        errors). This is also known as the built-in exception OSError. The
        accompanying value is a pair containing the numeric error code
        from errno and the corresponding string, as would be printed by
        the C function perror(). See the module errno, which contains
        names for the error codes defined by the underlying operating
        system.
        When exceptions are classes, this exception carries two
        attributes, errno and strerror. The first holds the value of the C
        errno variable, and the latter holds the corresponding error
        message from strerror(). For exceptions that involve a file system
        path (such as chdir() or unlink()), the exception instance will
        contain a third attribute, filename, which is the file name passed
        to the function."

    I turned this up running be/test.py, when it defaulted to the tla client
    which I didn't have installed.  I don't have things working yet, so I
    can't create a bug at the moment...

commit 9055757a1b30c55798173f2454de8d4fa0676d40
Author: Chris Ball <cjb@laptop.org>
Date:   Fri May 16 15:25:59 2008 -0400

    Don't require python2.4 for "be".

commit f98ccf59ee91429ee71c82babbf5f82d2b5d357e
Author: Chris Ball <cjb@laptop.org>
Date:   Fri May 16 15:25:16 2008 -0400

    Require editbugs permission to edit bugs.  Patch from j@oil21.org.

commit 08816fb364e02fb6dc8be1c31a1d72dcaf1165b6
Author: Chris Ball <cjb@laptop.org>
Date:   Fri May 16 14:43:02 2008 -0400

    Add GIT support, from Chris Ball and Michael Stone.

commit e222cd0989725aa5735a81437f105cb227c14da6
Author: Jelmer Vernooij <jelmer@samba.org>
Date:   Wed May 14 14:40:18 2008 +0200

    Fix branding: Bazaar-NG -> Bazaar.

commit 14be4c8389bbd4db12468973f9ecb3094ee0df64
Author: Jelmer Vernooij <jelmer@samba.org>
Date:   Wed May 14 14:40:06 2008 +0200

    Make setup.py executable.

commit c3d37232a49f5edfe954ac2b706839767e2603c5
Author: Ben Finney <benf@cybersource.com.au>
Date:   Fri Apr 18 20:08:49 2008 +1000

    Makefile: Add with 'clean' target.

commit 0254c113ac7eff42e2036c38c83698ba067c85cb
Author: j^ <j@oil21.org>
Date:   Mon Apr 14 18:43:33 2008 +0200

    Bugs-Everywhere-Web works with python2.5 do not hardcode python2.4

commit 1593e9300da22446f601fb9158a3b45186ec1f33
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jul 30 10:47:43 2007 -0400

    Assume commit messages are in utf-8 for now...

commit 6219c38d9c2bd6a8eeaf320ed0f1fa4bdf1b1fba
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jul 16 13:33:06 2007 -0400

    Add support for VISUAL

commit e8d004d66e6de5bb29cc874290d2114cb7146d51
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jul 16 12:22:59 2007 -0400

    Ensure that Arch tests have a user id set

commit 25f31f1ca881d891adffb9b13ab0b8c7e0d3ec60
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jul 16 11:24:03 2007 -0400

    Clarify VISUAL meaning

commit 9eb6176df13b1972f1e1640098240c23e53a59a2
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sun Jul 15 12:45:25 2007 -0400

    Add setup-tables script

commit 5b8d7d525d572b9f9c3d24804c7320bf024cd8a7
Author: Jelmer Vernooij <jelmer@samba.org>
Date:   Sun Jul 15 16:35:07 2007 +0300

    New bug.

commit b14962ab20d38c2a8fdaba8ecde55174141891a5
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Feb 5 17:00:40 2007 -0500

    Fix long lines

commit 79b7df5566226c572d66673be4fc2de8be17e10b
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Feb 5 16:35:50 2007 -0500

    Get beweb mostly working

commit f21ed78e5e4238d2f51607a5fa6c744d01f2ad83
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Jan 23 15:30:02 2007 -0500

    Add support for Mercurial (Steve Borho)

commit ea15510609d1516000daa8a685731df5d549bfba
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Dec 5 16:08:03 2006 -0500

    Mostly upgrade to turbogears 1.0b1

commit 43fe901fa3f239b57e2343fbca322f2f5a91320f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Dec 5 12:30:04 2006 -0500

    Add top_level.txt

commit a6468f21dbbcc40ec52061ba85288beaa98afb9d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Oct 17 15:26:02 2006 -0400

    Disable commit behavior because it's not reliable

commit 45810df053add5209d3c324b3c0a8ad06246fcc7
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Oct 17 15:24:53 2006 -0400

    New bugs

commit 6c6532dcae518aa6b137d2b45cd30c887232fbde
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Sep 5 13:15:06 2006 -0400

    Fix double-invocation bug

commit bb87321ddc66ca8c7e8f42007fa2f678f93988a6
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Fri Aug 11 18:25:36 2006 +0300

    line-endings in .bzrignore

commit ceddaf2589e8111671f10ed92fa45bd0a2c34845
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Fri Aug 11 18:15:02 2006 +0300

    don't use std. commands module 'cause it's Linux-only. Grab code from this module and adapt it to win32

commit 6fb3c0b6a0d6695c9678ee810977a3fe79fc288a
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Wed Jul 19 23:54:33 2006 +0300

    ignore .shelf

commit 111c5fdbcf84e60bf0329127fcebdb2cdcc14f1c
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Wed Jul 19 23:53:44 2006 +0300

    win32: fix crash of 'be show' when bug don't have comments

commit 138e6a04e8d65e497cb9d64f917b365e06a6a425
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Wed Jul 19 23:52:50 2006 +0300

    subprocess: win32 don't have os.execvp() so have to run command in a shell

commit 16acc74181767343289c729f668fb34d50212441
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jul 19 10:14:03 2006 -0400

    Use subprocess-native functionality for changing directory

commit 906ef74e2e941794df5297b5622be58d8c352e50
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jul 19 10:04:27 2006 -0400

    Use Popen.communicate instead of reading the individual streams (why needed?)

commit ecc284d367fc2792b2e7dd97e5667fcb0ca11830
Author: Alexander Belchenko <bialix@ukr.net>
Date:   Tue Jul 18 22:46:09 2006 +0300

    .bzrignore

commit f58a77a5a720de90036cbfd070d06bdc82055283
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 18 12:43:31 2006 -0400

    Handle UTF-8 comments

commit 4146eb30e62625216e49b103f7d32279730e5630
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 17 17:01:16 2006 -0400

    Note the dependencies/reverse-dependencies debate

commit c3d70d6f4b36b7b13ee3d9d4dba6b1f23ad60a52
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 17 17:00:26 2006 -0400

    Fix help printing (Lee Braiden)

commit 3b618f172c11d251f5f09874baa999b38e8ccc1f
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sun Apr 16 17:14:27 2006 -0400

    Added prompt to comments

commit 5035fa5e4cc0d0236017bc0de1d07f346e767184
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 12:47:26 2006 -0400

    Revert change, because it messes up stripey tables

commit ae953c5c20a6cc95abe9a187c922d104edbc8b20
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 12:45:25 2006 -0400

    Hide closed using display:None

commit c9f34b955da4f2c91233b9aa085d5cb90e506a26
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 12:34:12 2006 -0400

    Remember search value

commit 6847a36aec833b3a2927d013594f39b9df872d49
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 12:31:27 2006 -0400

    Tweaked colours of odd/even rows in tables

commit 17694fa83dbb2e237173de89610c82988405ca37
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 10:38:01 2006 -0400

    Teach PrestHandler to handle bad paths cleanly

commit 313a51b173bf7c9caadd1480911ec5809ae14501
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Apr 12 10:17:13 2006 -0400

    Use relative path to database

commit 3edaf3974b197c89189803b2f99834fd8d735c64
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 11 18:32:26 2006 -0400

    Used identity for new comments and bugs

commit ec4b4a390bff3a0225681380ae949e6da64401c6
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 11 16:41:47 2006 -0400

    Use people listings from identity framework, not config, on bug pages.

commit 868f40a1fce89c338a50290437afc6834fcf094d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 11 12:03:28 2006 -0400

    Enable identity tracking

commit 98c04f8745010cafa774d562fd7e109319e49ed4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 11 10:25:17 2006 -0400

    Fixed up config a bit

commit 881d1ce81bc97d53f44997ff7a0198717b754df2
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Mon Apr 10 23:56:23 2006 -0400

    Updated NEWS

commit 3747b40e76b3497da1ad081767e5d64a242deccf
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Mon Apr 10 23:11:45 2006 -0400

    removed unused files

commit fdca73fa25874063c3af8f03b4028f2db5de949a
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Mon Apr 10 23:10:43 2006 -0400

    Got rid of machine-specific paths

commit 68df9cb4413c2642bac15a940c26e68f9d1391cb
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Mon Apr 10 22:07:54 2006 -0400

    Updated beweb to use TurboGears 0.9

commit 16ed63b5c8dc2e211a29ba3636cd00b547ceb9aa
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Mon Apr 10 19:24:23 2006 -0400

    Noted bug

commit 4d61b78146f12a93d4c3a0c3657439102ed8f63d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Apr 7 12:35:01 2006 -0400

    Added copyright notice

commit 255e0c47d97b202e30f4092fac4aac48e3c26bfe
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Apr 6 22:24:51 2006 -0400

    Adjust version number in setup.py, so we don't hit 205 prematurely :-)

commit e88848cb5d9ac6e1e2a195171bc892266826481d
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Apr 6 22:17:45 2006 -0400

    Add Zwart to AUTHORS list

commit d63c1b07b8eed0c1b8822ab03ad2d953df0b6f69
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 14:06:08 2006 -0400

    Auto-commit

commit 64ea14acca6f6420ea17c0c2126a71de2c3ef91d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 14:05:47 2006 -0400

    Add ReST support to web front end

commit 2ff5693ac2dc6b0e8a1650d2f5f9774f8262166a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 12:54:54 2006 -0400

    Auto-commit

commit fe4ccf48aa2a2f4f085e2fa828cffa7795db594f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 12:54:02 2006 -0400

    Auto-commit

commit 9d65987087f58ade8261551c0f388553d637a998
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 12:52:54 2006 -0400

    Auto-commit

commit e762576b97dc1c7ccbb7b0d07b94d9d42ec36b9d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 6 12:50:57 2006 -0400

    Support for content-type in comments

commit e312d44cc6967e18b21955c6d9658d4c04259a92
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 23:12:49 2006 +0200

    Friendlier error message on "inprogress" or "open" with no arguments.

commit 06c627a8532f5c4531483ffcbeba5ddf724d5685
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 23:05:27 2006 +0200

    Friendlier error message on "close" with no arguments.

commit 28dd7abe5900cf3f16e62f3641fd62040764fad8
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 18:12:35 2006 +0200

    Correctly interpret the "no merge location" message from bzr 0.7.

commit 47f552ea663ccf37097051ed7c42ffaa754704dc
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 17:41:21 2006 +0200

    Determine plugin_path from the location of the plugin module, not from argv[0].

commit 7be507f7dd05da93e241f35c1cda7afa14d82671
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 17:33:45 2006 +0200

    Install the be script.

commit aecdc0d3bf4b3ba08757db23f2416c2416cf1e9d
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 17:20:51 2006 +0200

    Exit with a nonzero status if the tests fail.

commit ba072da930d0f9fd6e62277a9bcd76d6978c919d
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 02:35:31 2006 +0200

    Add setup.py

commit 6691e2276112b3aad603a7b14ff80b53f77e03e3
Author: Marien Zwart <marienz@gentoo.org>
Date:   Wed Apr 5 02:19:17 2006 +0200

    unbreak some tests.

commit 5d75c1f4b7362ef184276f781346e69c34bd4874
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Tue Apr 4 19:52:25 2006 -0400

    Fixed tests to use lists, so that optparse can mangle them

commit c1f60d534fbc5496a0e3df2cb7c0d053e5fa40a8
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Apr 4 09:52:50 2006 -0400

    Added support for threaded comments

commit 971bea53d6b5cf8ad35a978f4025fe0ac9ea3350
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 3 15:40:04 2006 -0400

    Removed debugging code

commit f02f16f04cd1dd51863886fc29ab85ac6db7e922
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 3 15:03:16 2006 -0400

    Updated NEWS

commit 6c7f9ce0663e9c6bf60afac47adf19cf10a99b43
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 3 14:46:17 2006 -0400

    Help cleanup

commit b29e00c9cc5ef707719019728a25a71faa5a66a8
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:26:07 2006 +0200

    added help to 'upgrade'.

commit 4ca8ca0bab5d57bc6d9e3d714294474829a78e80
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:23:28 2006 +0200

    parsified 'target'-help.
    (target or aim..)

commit c41778afc9b9d487e6a45d5030a8bef9a5c318ce
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:16:45 2006 +0200

    added help to 'show'.

commit 54001214bc8fb46702060e62bde42ff15963b8f1
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:14:21 2006 +0200

    changed severity.py-help to parsing.

commit a5a63b3ae06f5cb0c24baa0d37af07ce7014f933
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:13:45 2006 +0200

    changed set.py to parsing.

commit 755256e88d53ab478b8a6f54280bd2d6d01bca59
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 20:05:58 2006 +0200

    added help to 'open'.
    (errhh... what is the status of a new bug?)

commit 949cb83cf22e01f9b6dc7227effd1a091b9a6341
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 19:59:54 2006 +0200

    add help to 'inprogress'.
    (What does 'in-progress' mean to a bug?)

commit 37c35bbba33cfafdde927c130fe04dbdcffa6851
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 19:55:16 2006 +0200

    added help to 'close'

commit 6c8b325a4a4f895c9e3a75a8316517a138ebbaba
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 19:48:17 2006 +0200

    changed assign.py to look similar to those commands using get_parser()-stuff.
    (No, i don't really know what i'm doing |-)

commit 57ad245e927b1e5a9b230de3605431a041bb192e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Apr 3 13:42:14 2006 -0400

    Added reply handling to comments

commit 6cd159334b3d23e515926a566c751f1fc006bfe9
Author: Thomas Gerigk <tgerigk@gmx.de>
Date:   Mon Apr 3 18:54:45 2006 +0200

    Catch AttributeError when a command has no help() def'd.

commit 4dda0decb88c6bc987d3d55a1ac757104e9d0ba9
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Apr 1 14:55:34 2006 -0500

    Refactored the command listing

commit 28da7287b32e070034b8c093938effeedb2eb54e
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Apr 1 14:14:55 2006 -0500

    Fixed test suite for the unicode switch

commit 9e774f72d807c509ed0fbb47bbd07a6fe5ea7464
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Apr 1 13:33:48 2006 -0500

    New bug reports:
      ID: 210
      Severity: minor

      Creator: abentley
    target (and others?) aren't parsed properly

commit 8ff7e8c5b70d918017b9f48ef819f33fa96a88d6
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Apr 1 13:28:07 2006 -0500

    Patch from Thomas Gerigk to add a 'help' command

commit 9df97dc766a548e29ccdd12a765cd95c1930aa73
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 17:54:28 2006 -0500

    Modified bug reports:
     e01: No way to commit/update from beweb
    status: in-progress -> closed

commit 60163698839aaac434dbda848a92326fab7cdf6c
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 17:53:50 2006 -0500

    Implemented basic comment diff

commit 699beb1ee5fd3a511cbf0c61fe67206a39f6dfe3
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 17:31:38 2006 -0500

    Added a repr for Bug

commit 5e14fbb9f2cae0c2f73232fb40d48b06e5a3d04b
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 17:02:43 2006 -0500

    Added stripey table support

commit 1534fdff8fbc6bd11302a3e5d0eb6065bd736130
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 16:36:32 2006 -0500

    Auto-commit

commit fa46bc7497abf376eab838b7c499fb62d918cfcc
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 16:16:53 2006 -0500

    Added bug searching

commit 69dd4954ad4007709d1c0fa0a3e38be27d28ca0a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 31 15:27:34 2006 -0500

    Dirty fix for new-comments not writing bug

commit a96d11f9db6fb4f54bf95b353a531ecf82a84381
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 23 11:27:05 2006 -0500

    Fix be diff with bzr

commit c6c7cb44315bb810087f99c1f306ee4f686b4a48
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Feb 6 15:28:20 2006 -0500

    Fixed initial space bug

commit b1c1acfdb3f466fc5e385902cd915899df2970c4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Feb 6 13:06:13 2006 -0500

    Nicer comment bodies

commit 4e4c730300a594bc3731c28be7f8da4194ad563d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Feb 6 13:04:13 2006 -0500

    Auto-commit

commit 4b8bcd3818ee319d3ec5086b89083beb0501c784
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:56:41 2006 -0500

    Added compatibility functions for commit to arch, no_rcs

commit 3438bfc7d5e93ce1827e105964cb21cb77ce5776
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:37:28 2006 -0500

    Fixed directory handling in old bzr stuff

commit aa19f94f0295e510e482de725c5fa6d5e0b89b26
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:36:54 2006 -0500

    Auto-commit

commit 84521ea31c5d59225e9d96acc72353c7cc7b537c
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:01:17 2006 -0500

    Auto-commit

commit 57e25d6bd106dbc778a383d0ab4495652adae217
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:01:03 2006 -0500

    Auto-commit

commit d9214fa60ea080bd10641bac61c962827d181552
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 16:00:26 2006 -0500

    Fixed merge change detection

commit 8f946913b748247ce4286ce38ecbe5df829886cc
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 15:56:58 2006 -0500

    Auto-commit

commit d0190448a465bf09504ad2d39f1a3d94638c04b4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 15:52:05 2006 -0500

    Auto-commit

commit 66abb87cf229971b3dcc0781d83bbddeb8c0604f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 15:44:25 2006 -0500

    Did post-commit merging

commit 747c77daa54d0701d3f62ffe80d5bab9efe4c0b9
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 15:24:58 2006 -0500

    Fixed up last commit

commit d4b7a0a07db702a80c279b5c92a999cd91dfc1bc
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Feb 3 15:17:59 2006 -0500

    Got commit basics working for bzr

commit 979fe49abcd905ac9db403e665ea442376a061c3
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jan 30 10:51:14 2006 -0500

    Added creator patch from Belchenko

commit b0645fe0c6295c70c73b44d972ab48b304043461
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Jan 26 10:39:13 2006 -0500

    Auto-decode user input to unicode

commit 4574cd676a02fccf64fd98c0b8e089a7f23de98f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Jan 26 10:18:42 2006 -0500

    More unicode stuff

commit c54498e1b59b2e4371fb76e07a5e81365a940f88
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Jan 26 10:10:43 2006 -0500

    Enforced that all key/value pairs are unicode

commit 4eb3e0d84a15aabbf723fe9b3696dfc81efd9bb0
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jan 25 17:13:06 2006 -0500

    Show number of comments in bug list

commit c9c843435d418943422cb26c4762bf0519b9a266
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jan 25 17:05:11 2006 -0500

    Updated bugtracker
    New bug reports:
      ID: 9a9
      Severity: minor

      Creator: abentley
    Provide search

      ID: 8e9
      Severity: minor

      Creator: abentley
    list X most recent entries

      ID: f70
      Severity: minor

      Creator: abentley
    Allow different sorts

      ID: 62a
      Severity: minor

      Creator: abentley
    Indicate presence of Comments

      ID: 576
      Severity: minor

      Creator: abentley
    Allow attachments

    Modified bug reports:
     292: More types of closed bugs
    status: open -> fixed

     a63: Beweb: New comment button should save any changes
    summary: New comment button should save any changes -> Beweb: New comment button should save any changes

commit 41a97f69328e788001d32b1f1dd378eaf536eed4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jan 25 17:04:26 2006 -0500

    Updated web UI display of inactive bugs

commit 427e95ba1074f3d2f48c1cef32e454d6bcd5466a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jan 25 17:00:13 2006 -0500

    Added more possible bug statuses

commit be6a59a9ffb427567d911c285cf2c59eec489247
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Jan 4 16:12:53 2006 -0500

    Added new bug reports

    New bug reports:
      ID: cb5
      Severity: minor

      Creator: abentley
    Beweb: Stripey tables

      ID: 179
      Severity: minor

      Creator: abentley
    Indicate bug dependencies

      ID: 292
      Severity: minor

      Creator: abentley
    More types of closed bugs

      ID: a40
      Severity: minor

      Creator: abentley
    Beweb should support declaring username

      ID: 7ec
      Severity: minor

      Creator: abentley
    Arbitrary tags

      ID: a63
      Severity: minor

      Creator: abentley
    New comment button should save any changes

      ID: 16f
      Severity: minor

      Creator: abentley
    Arbitrary numerical priorities?

      ID: c76
      Severity: minor

      Creator: abentley
    Support 'issues', like todo, better

      ID: 657
      Severity: minor

      Creator: abentley
    Select severity filter

commit 74df8a9003736ca76dee3b94433edd4e9e04dbc3
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jan 2 15:53:32 2006 -0500

    Added assignment of bugs to people to web UI

commit bb1b72847742ebe56682b0f7f2bd5a3d8037fc4b
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Jan 2 14:01:48 2006 -0500

    Fixed tense

commit 43b0a51403b4698903783377450690972fe7bc70
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 29 10:14:32 2005 -0500

    Removed debugging code

commit 81d4a023b5773516df0f0dfbb0c9e26656d0d32a
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Tue Dec 27 12:00:37 2005 -0500

    Added bug report

commit 01784a2254bef07a2f8624cec4bfe56fca505697
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 15:35:26 2005 -0500

    Added drop shadow box type

commit b9095579e2e3ecad1d564d0471780bc8bef1e708
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 15:35:03 2005 -0500

    Updated about text

commit e3dfbbc86acd292c9812cfd51d1fdc8906d40dac
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 13:36:59 2005 -0500

    Fixed subprocess invocation for bzr

commit 879cba1745edd852302346e5bb405b8bc3c10d20
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 13:20:15 2005 -0500

    be now uses subprocess, so it requires Python 2.4

commit fa983ff2e6cb5912fdb9835fd46465531570cc59
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 12:59:50 2005 -0500

    Fixed cellspacing bug

commit 0aeaf43cf857a027a4f9341655d6d67bf27789ec
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 12:40:43 2005 -0500

    Added error handling and 'About' page

commit 75f83d38d09555a152317e2167cdd317a6ff5283
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 23 10:27:56 2005 -0500

    removed unused expose_resource

commit e2965575907ff05a7249a3a213e0dce8a8217ef9
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Dec 22 02:59:52 2005 -0500

    Various Windows-related bugfixes

commit 2a0112fb5e5a3cb553a3ff0c7347247b2221b03f
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed Dec 21 19:51:48 2005 -0500

    got tests passing

commit 85a937f97c98103c4e1dd0f3de631a5d248e6c03
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 17:30:43 2005 -0500

    Added the comment edit page (doh)

commit 1d33bc2587b3e6a263be1a2eeb1efe1ad508b255
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 17:05:20 2005 -0500

    Added comment

commit 167db8bdcc3889f0754e2b2c3a56286e61e81c38
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 16:55:55 2005 -0500

    Added support for creating and editing comments

commit 8529a6d8278fb0e3a98a41aa8224c8ea8e7f8acf
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 14:26:15 2005 -0500

    Switched from RESTResource to PrestHandler

commit 9d631bc450da9b9812bdf9a2328a86f2af73e9a1
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 12:50:48 2005 -0500

    Implemented action dispatch for prest

commit bfd516c51fa78f8a1d83c5aabc7b2f2048f3bdb6
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Dec 21 09:04:46 2005 -0500

    Prest correctly instantiates the desired object

commit 426f2d8304a6928aeb8e43392cf911912ec34908
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed Dec 21 02:11:30 2005 -0500

    Work on pseudo-REST dispatcher

commit baa1866f551eecc2cf9c2a74ce7c29a52cc90bbf
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Dec 20 14:43:36 2005 -0500

    Updated bugs

commit 5cf2118166a09e4bd98f44f4f9a484a47358f944
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Dec 20 14:42:01 2005 -0500

    Ensured bug.time is set

commit 452fcc061beff90d33934e489f0c5f3ba09cacbd
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Dec 15 18:07:27 2005 -0500

    added date bug

commit e68bc9542b72042204f52df060ff3d7b31b06427
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 15 16:10:50 2005 -0500

    Added latest bugs

commit d8ddaacebf4f8249f63f1e51d893549cd5ff361b
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 15 16:10:20 2005 -0500

    Removed old REST implementation

commit e0e29d35bb901fd3a6b0be1289c3b5afac130be4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 15 16:02:37 2005 -0500

    Switched to restresource for resolving URLs

commit 00db1231de6d38609289287be2c00f924a116e15
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 15 16:01:39 2005 -0500

    Better error when bad path specified

commit 3f678c4e0ba791054216cdb9fb25d1ccfd706737
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Dec 6 14:09:53 2005 -0500

    Moved common settings into common.cfg

commit b2dfdb3299495c33f44755aecf43c726b4482be0
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Dec 5 16:57:05 2005 -0500

    After saving bugs, show bug list

commit 41468c94725d5402d3832dd411c57e017d8ade63
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Dec 5 09:00:11 2005 -0500

    Closed bug that comments aren't displayed in web UI

commit 3b95456c4c3ecb7e9f33d23b64eeea16595a859b
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sun Dec 4 00:11:08 2005 -0500

    Got inset boxes working in ie

commit 3423a623cbfa40016685a0a6bd0132b81b837d97
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 22:55:27 2005 -0500

    Removed redundant style rule

commit 5ee65b8f921c77b781a252fccbfac699993ef2ce
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 22:54:57 2005 -0500

    Switched to inset boxes for comments

commit 8f4d14c254683a4fcee714ead159c3bef402f2dc
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 20:53:54 2005 -0500

    Added more style to BeWeb

commit b2f3f7b8b832e668e2c2010da7215d1b39592ee3
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 20:29:58 2005 -0500

    Added favicon

commit 73097df356637372f5a18cadb9ac37d597aa2d24
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 18:35:35 2005 -0500

    Updated docs

commit c51060864bdc774b6ad118f6319ad7c0c4a4815a
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Dec 3 17:52:49 2005 -0500

    Changed the shipping configuration file into an example.

commit f34550b8a50156f2fce49da473d89cd4f69d27ae
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 2 22:44:59 2005 +0000

    Implemented a match template for cutaway-shadowed boxes

commit 8e5be76ddb381879a272936aada4083958c351ec
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 2 19:44:40 2005 +0000

    Display comments in view/edit bug display

commit 4cbb5ea19b1423b57abc7c8a6b6f5f34603c44f5
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Dec 2 14:49:34 2005 +0000

    Added ability to create bugs to web UI

commit 278aa38c3aa37f94c9927b54349ae1b53b7a17c9
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 1 22:46:33 2005 +0000

    More web UI tweaks

commit 21b01aa7795d374fa2bebfdccb45526091be51c1
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 1 21:59:25 2005 +0000

    Separated out local configuration

commit 2e2054d07917570c0255b7cf62040aa481ba592a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 1 21:48:18 2005 +0000

    Removed redundant style information

commit b7cd879612f5bd8421ec71985a729baeb29491dc
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Dec 1 21:41:23 2005 +0000

    Added turbogears-based web UI

commit 52da11569b268908278aec65de2c0b2c4037502c
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu May 26 14:46:51 2005 +0000

    Fixed bzr 'revlib' handling

commit a2c9b6f19c4e8669fa328757211b68fcd0243cf7
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu May 19 16:40:33 2005 +0000

    Distinguished between 'paranoid' and non-paranoid add-id
    The paranoid adds are only used for the .be root.  Paranoia is a big time-suck
    on Arch trees, because they require a full inventory.

commit 8a9a710c4044f3f27ca8d7f05482155a4bf254c3
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed May 18 22:33:53 2005 +0000

    Added logo

commit 55e3933f494155ef9814b9135c93ffaa625e7bde
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 20:48:58 2005 +0000

    Prevented RCS name being displayed when erroring

commit 4910cf78aee314c76c62b7cba19ab36456545e4e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 20:09:53 2005 +0000

    Added tests for double-init

commit 35cb1d08a50bed019f86ef3a81140549475b9045
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 19:41:07 2005 +0000

    Added inline help to set-root command

commit a39937baf1196099eeee198169d55b9b498e9651
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 19:19:39 2005 +0000

    Better errors for bad bug roots

commit 53f5cced06f25dc49cedf1a3fb181201b727a521
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 18:37:17 2005 +0000

    Normalized paths before use in rel_filename

commit 52ba04aec5b23244aa2c15ab666024d7b9e0015f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 17:09:44 2005 +0000

    Closed dupe of 381
    Modified bug reports:
     4f7: Automatically set .be as source for arch
    status: open -> closed

commit 072de5077de9a96b3beab518089d98e50f2bbd00
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 17:07:00 2005 +0000

    Ensured .be is source for Arch (closes 381)
    Modified bug reports:
     381: Ensure .be is source in Arch
    status: open -> closed

commit 1cada35b2e3f63d53621f5db1af0c699351c3092
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 16:53:32 2005 +0000

    Fixed test case for new

commit 68d24277a1fbd47e3e5af21594ed0f3401669b90
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed May 18 15:29:33 2005 +0000

    Improved command parsing for "new"

commit e77fb4d6b952a69b692155c20f4ff248266944a1
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue May 17 19:58:30 2005 +0000

    Added tests for missing $EDITOR
    Modified bug reports:
     ecc: no tests for missing $EDITOR
    status: open -> closed

commit 336a51ada68f4d30684bed29df155ec73fbd7375
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue May 17 14:36:31 2005 +0000

    Forced be to show minimum 3 digits, because 3 is common.

commit 633cb7e0f854c4479376a9a1200e9af499d27b1d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue May 17 13:46:09 2005 +0000

    Added/updated bugs

commit 757eb3a2249ca2aa7b0cd627c9ea884a2d9b1eac
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue May 17 13:29:15 2005 +0000

    Fixed bug handing missing $EDITOR

commit 5c39f0d8175f2ef57422c76ff6fcd20ae7dff7cb
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue May 17 13:15:31 2005 +0000

    Made -h, help, --help work

commit c15079d0fbcc4d023cd27f2a497639df92a587a5
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon May 16 21:01:23 2005 +0000

    Added appropriate copyright notices, GPLed.

commit bb04137c9c04edee3c48a98682d5714a08d9de47
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon May 9 21:56:10 2005 +0000

    Slight refactoring

commit f72535d9a4d1e8143b0ae68e097adef2dabc73bf
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon May 9 20:11:08 2005 +0000

    Implemented bug tree diff
    Modified bug reports:
     f5c: Implement bug tree diff
    status: open -> closed

commit f92ced7d577142b16ef86ed6aff6bb6b5f526e2d
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed May 4 11:43:14 2005 +0000

    Added pseudo-revlib functionality for bzr

commit 27e854cd1cb243b08ac435d259a057138db320f6
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed May 4 10:22:12 2005 +0000

    Support for bzr inventory operations

commit 91b0ee377126974bf4fa60e5caba0e87b27c7578
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed May 4 10:20:22 2005 +0000

    tag of aaron.bentley@utoronto.ca--be/bugs-everywhere--devel--0--patch-90

commit 0c493b603acc58042c89e475354af25e4f82efed
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Apr 22 17:53:13 2005 +0000

    Fixed style

commit 1d1d267da9b6c65937ac5aff529d6f98a692bbd5
Author: Oleg Romanyshyn <oromanyshyn@panoramicfeedback.com>
Date:   Fri Apr 22 16:59:54 2005 +0000

    Changed layout of the displaying bugs (list and show commands)

commit 1c659c0af5e1e791dc11a5204705dbdec99a500a
Author: Oleg Romanyshyn <oromanyshyn@panoramicfeedback.com>
Date:   Fri Apr 22 15:53:18 2005 +0000

    Changed help message for inprogress

commit 4c567ef59a85ce345ce76268aafc4a5ff9c66e62
Author: Oleg Romanyshyn <oromanyshyn@panoramicfeedback.com>
Date:   Fri Apr 22 15:44:12 2005 +0000

    Added new status - "in-progress"

commit 7f0b9b9fb07cddf83c3225f6d774056af0923ef6
Author: Oleg Romanyshyn <oromanyshyn@panoramicfeedback.com>
Date:   Fri Apr 22 15:41:55 2005 +0000

    tag of aaron.bentley@utoronto.ca--be/bugs-everywhere--devel--0--patch-84

commit 16a391aaf9d3934f7297b7a8fb87184cf555882f
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 14 18:07:49 2005 +0000

    Added preliminary tree-diffing support

commit 82c1e85e1845d33b8e552c9f832f91d032466036
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 7 18:39:25 2005 +0000

    Sorted bugs by date before severity sort

commit 456f5d4678b2aa314ac6373f13cc1cf5cc01a0da
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Apr 7 16:09:54 2005 +0000

    Added bug

commit 8c9285559348bd7740a974824fe1feb0a90ec1a3
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 17:06:31 2005 +0000

    Closed the bug for adding tests

commit d880061645223bb36f9591cb0274f5e47a4b5501
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 16:47:09 2005 +0000

    Added tests for set

commit 176b068f77a58d5fa4bfbec2721c6774eb4512b1
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 16:42:09 2005 +0000

    Added tests for comments

commit 4f1f8840a9c842efd09e7516e09f47f8e44ed844
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 16:40:49 2005 +0000

    Made get_editor_string use contents and mtime to check for changes

commit 0e7c96a2fb5866f42c2c2ae7bccf47ae21f3b025
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 16:10:44 2005 +0000

    Added tests for assign

commit 57d6ed2b544a1663657a9fcf29f5f089120e870e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 15:57:32 2005 +0000

    Added tests for severity

commit 9d0e5329c84d5cbb026b87bf6aba6050832b184e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 15:47:27 2005 +0000

    Added tests for 'target'

commit 5f36f36f76f11730194571e90f03caf87b814300
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 15:43:32 2005 +0000

    Copied test to close command

commit 8415269dba471080ee732ec309ed73529847fbc1
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 24 15:40:30 2005 +0000

    Implemented tests for 'open'

commit a361d20bdcf4ad3a48414faaeed063eb86e52307
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 13:06:53 2005 +0000

    Removed accidentally-added 'a' bug

commit e150af60e2331fbacbd2de1bcfd572b7cf73c802
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 13:05:44 2005 +0000

    Finished tests for new

commit 7bbb8105c144eaca2299bd22b4063af6b54ef1a3
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 12:54:18 2005 +0000

    Fixed the bug dir path in BugDirs produced by create_bug_dir

commit 6decc39bc7314cf0596ea682bf17677b68888a5a
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 06:44:47 2005 +0000

    started work on test case for "new"

commit 37157407c121ca6cdfb4beb726adb49303bf929e
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 06:03:04 2005 +0000

    Added tests for set-root

commit fff94eaeaaf2c7b9d6c6b9ad559c779cbaa0c5da
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 24 05:40:49 2005 +0000

    Removed comment from example

commit 04b2bf3bc7472b93500bbf78a7f8355ba00c312d
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Wed Mar 23 23:25:56 2005 +0000

    Whoops! Already fixed this, now just marking it fixed

commit e1f4137d3822c081fd13375953ac878ff92cc998
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 19:30:48 2005 +0000

    Speling errror

commit a1f871ec0398aac02aa904732607bcb3ffb1a2f5
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 19:26:08 2005 +0000

    Fixed spacing

commit 3c4b65a87349cfe6ddd4fb2acf7e4b67f2358927
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 18:36:48 2005 +0000

    Updated comment formatting

commit 474c701d79c3c7b54fcfcbcbc4be183ccadf7f21
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 18:35:02 2005 +0000

    Made comment work with an editor

commit db039bf8987e6148bca5fc3bd417ad0d04dfa3ab
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 18:30:11 2005 +0000

    Added editor_string utility function

commit 6fc191d83c62ec44184b113193e6046bb4999ece
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 17:34:55 2005 +0000

    Added comment support to show, added comment command

commit 6ce163d30fcd765fdd93d57f0df4d1b1ef97c1b9
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 17:27:38 2005 +0000

    Implemented comments

commit 03b878916280732d45c474c106eb3d70b4be5e9e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 15:28:29 2005 +0000

    Added datestamps to bugs

commit 43d8c19ae299bab2cba0f29b560396ba6d8bd1a5
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 23 14:34:51 2005 +0000

    Moved FileString and get_file() into utility.py

commit f9e8f7bb4360d473073b59e4dcb9e1a38d7e0d56
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 22 14:55:15 2005 +0000

    Noted that bugs should be date-stamped

commit 93b0dbe22c7014e8b05b57e8490a27cd73bf799d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 22 14:49:47 2005 +0000

    Added options to list command

commit b3e66308ac5b8398d5c03bf4ce4d444797bd4486
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 22 14:47:32 2005 +0000

    Switched to exception help handling

commit e30304e9b3ba176dbbd9710d561d81aa4670c454
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 22 14:45:11 2005 +0000

    Pulled in Fai's optparser

commit 9bfac949bf3764f61a42633b88e54ce766d95786
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Mar 21 14:10:43 2005 +0000

    Stopped showing targets under target-specific headings

commit 052bdf5a83c127f79b8518c41f2f8728f7125362
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Mar 21 14:06:46 2005 +0000

    Clearer error message.

commit a39c0cd4ad07ff0ff371bcce7c8db33ca789efd0
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Mar 21 13:37:03 2005 +0000

    Fixed double-listing of tree bugs when target is None

commit 5476a1f89dd1ef9491ade3c8f2012048a4492231
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sun Mar 20 19:43:09 2005 +0000

    Fixed test cases so they're not machine-specific

commit da5664e08b87e5ff479bd79e72ba9685f9cd7a4d
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Mar 19 07:53:03 2005 +0000

    Implemented current target setting

commit 92826d47239312d7ed3cbc6638be44c6e84ca8a3
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Sat Mar 19 06:04:41 2005 +0000

    Added RCS configuration.

commit 148f6d366053422257b1c021cf86fb884c13dff8
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 18 19:11:28 2005 +0000

    Added new bug

commit 284b8f7226dda8b7bf35ac60ff80810a44d06eba
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 18 18:53:49 2005 +0000

    Implemented sorting by severity level

commit d7d616e4f8b885f55f8052e5eb22f3cec7ddbee4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 18 15:14:25 2005 +0000

    Used cmdutil tree_root wrapper to avoid tracebacks on wrong tree

commit 90e118fac5cfb345e10487039a375c8af5835ddf
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 18 14:02:01 2005 +0000

    Organized list by who the bugs are assigned to

commit e0f027bc4d96afda56dcbf2ce3998a5bc9d88ff9
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Fri Mar 18 01:22:07 2005 +0000

    Made new print the bug ID of the new bug

commit ca4d0a928e22fc1d264e031f0938397912474319
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Fri Mar 18 01:18:18 2005 +0000

    Updated bug reports

commit 7e86673712ea210d7860d9b182a83c023077281e
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Fri Mar 18 01:07:20 2005 +0000

    Corrected capitalization of target

commit e2f0f3baf0a2dfb4c3c7b2bc36cded24beeca2ab
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Fri Mar 18 01:06:49 2005 +0000

    Added "assign" command

commit 961eff5c9a7cab530b24c25b38cc71d4633c69d8
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Fri Mar 18 00:44:34 2005 +0000

    Added target command

commit d7e4f9a09ffee3d248f5cc4be3cd4248a5c97af4
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 17 21:29:00 2005 +0000

    Switched tree format to mapfile-based

commit 22083d49fd56fb016df0cd7e416d1dd447182a93
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 17 17:16:02 2005 +0000

    Changed help format to look like bzr's

commit 3d2f26fe1ab1b3ce05472227132b3b880f588c33
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Tue Mar 15 22:59:06 2005 +0000

    More futzing with GUI stuff

commit b6362ad63362d4ebf00e01559db3569b2dc7f513
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 15 17:26:55 2005 +0000

    Implemented diff3 splitting

commit fb408de6095e4c3fa67cf8c82fcf1671372ea144
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 15 17:25:29 2005 +0000

    Fixed failing test

commit ae298bfe570ebe7f1bf184e3f58e17613f3962fb
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Tue Mar 15 15:51:45 2005 +0000

    Implemented map file format 2 generation

commit e2bbeeea8da29dbcbe523e2f5310a198b9bc71ce
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Mar 14 22:09:06 2005 +0000

    Initial implementation of saving to mapfile

commit a23c9c6cfbcc2bc77e6723edc4e059bca82fa924
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Mon Mar 14 21:32:45 2005 +0000

    Implemented mapfiles

commit 3eedd5b584914022b53b59ec6abf0bb4b04aa12c
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 23:17:01 2005 +0000

    Made arch_client configurable

commit 71597577918f8d8206256293a7c985bc800a1363
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 21:49:42 2005 +0000

    Added unit testing framework

commit 6d32caa83004a2b3571754ddde5a389bac38423d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 20:44:42 2005 +0000

    Removed unused code

commit d1a7b4f7f14aded08d3e9da2da1b155b2da70c53
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 19:28:15 2005 +0000

    Added exceptions for missing commands, handled -, plugin command exec

commit f254781274f35c485befb4f6acedb8fb8d1f797b
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 19:17:17 2005 +0000

    Implemented plugin system for viewing commands

commit 20a48a1ad3f720d915084d6d139b3790cd4630eb
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 18:39:26 2005 +0000

    Modularized commands into files

commit 51c729fdfd03369e2ad7dc6752034469cfbdf253
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 18:11:02 2005 +0000

    Removed from-style imports

commit 2d19ddfc4899c511f370b6a57df0b9b251fe764a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 17:57:13 2005 +0000

    Set severity of some bugs

commit f5458611072ab7c6048311430771d1ec297d4f61
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 17:45:05 2005 +0000

    Added severity command

commit 56c2c54ef00acc75f2bce8ded2b7fa66e8d07712
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 16:45:20 2005 +0000

    Removed friendly bug name

commit 0620177b8b876765f1a39245fef4207266f5c2bc
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Fri Mar 11 16:27:39 2005 +0000

    Moved guis out of the way

commit 0442791633e6df54ced2777dce9f3a5c01ec9300
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 10 22:04:34 2005 +0000

    Tweaked summary message

commit 09c42b42aea2cdc413a62c892a832676acaa964d
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 10 15:33:42 2005 +0000

    Ensured bug list shows unique ids

commit e94dc47e9bc399eabfed36d0d402406b47f4a8a2
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Thu Mar 10 15:24:52 2005 +0000

    Reported bug

commit c005f7b630d3c97c8b52e6d11f3fa843fbdcd15f
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 10 06:05:42 2005 +0000

    Added wxPython GUI

commit 1c8efb3cfbcb9a71a47376e8e2a4d379822c0c9c
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 10 02:36:51 2005 +0000

    Added Tk-based bug list

commit 9b0fb8c9ae05228b43dfdade12e7759346e8d34b
Author: Aaron Bentley <aaron.bentley@utoronto.ca>
Date:   Thu Mar 10 01:24:29 2005 +0000

    Tweaked summary display

commit 05f72008f91cb7fe82e3897da9731fed11dc3338
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 23:12:52 2005 +0000

    Implemented show command

commit d8e6094238aa43f81cef2f4ba53281ea49e482f3
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 22:41:30 2005 +0000

    Added more todo items

commit c48f51cb3443302031253e4d2e6888f2f310baae
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 22:40:47 2005 +0000

    Added creator to bug listing

commit edc06209d43e046da13dd3dae1f4531f88131261
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 22:24:50 2005 +0000

    Fixed up Bugs Everywhere command listings

commit 18b5752e6b696b8ef7839c3e8b8e0373e49b75bd
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 22:08:45 2005 +0000

    Added RCS integration

commit 079b9a6c710755e21a0d05132e305ee89fb89863
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 21:02:51 2005 +0000

    bug: fix up command listings

commit c0de39f2588916a756c4655362b1eb99d3685212
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 21:01:53 2005 +0000

    Fixed logic bug assigning pretty names

commit 53f475a31b97cb3e3a84ae099565cb1858af5014
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 20:28:18 2005 +0000

    Implemented set-root command

commit cddfa700fd6f22bb0ea9f0a4c1f4566b69494748
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 20:03:07 2005 +0000

    added bugs, Switched to using uuid prefixes to ensure uniqueness

commit 006b0cb118041cac8081032ad2d401fdd69fe6ae
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 19:32:17 2005 +0000

    Added ability to create, close, open bugs

commit 6ade356915dc78cae448b8b48028659ee0528244
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 18:28:21 2005 +0000

    Fixed up tagging method and inventory

commit 5da244c60c040f23455c1d18107d1abb5b2140c0
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 18:25:15 2005 +0000

    Added support for severity, creator, target

commit b2b03a3d1f06e7dba218eccbac0d045cad0a276e
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 17:50:09 2005 +0000

    Implemented bug status and "active" flag

commit 8d6a6a2af58408c4066b753f28d5b13ae6ee587a
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 17:37:13 2005 +0000

    Moved code into bugdir, handled unknown commands

commit a137e93fb63f88cf47b70ac5bba51a79df47bd41
Author: Aaron Bentley <abentley@panoramicfeedback.com>
Date:   Wed Mar 9 17:25:46 2005 +0000

    Added basic bug-listing functionality
