Merged be.restructure, major internal reorganization.
authorW. Trevor King <wking@drexel.edu>
Thu, 31 Dec 2009 20:54:12 +0000 (15:54 -0500)
committerW. Trevor King <wking@drexel.edu>
Thu, 31 Dec 2009 20:54:12 +0000 (15:54 -0500)
commitb0b5341c4045dd27cfbb3e2585cb2614ed9ad903
tree37c7c2d011617ccd7a6f28a24ea77bb1b3cddfe7
parenta06030436d3940dddfba37b344f90651366d67e1
parent2d1562d951e763fed71fe60e77cc9921be9abdc9
Merged be.restructure, major internal reorganization.

Added a bunch of classes to make the commands, user interfaces, and
storage backends more abstract and distinct.  This should make it much
easier to extend and maintain BE.

Features:
 * Directory restructured:
   becommands/ -> libbe/commands
   submods sorted by functionality.
 * Lots of new classes:
   Option, Argument, Command
   InputOutput, StorageCallbacks, UserInterface
   Storage
 * Consolidated ID handling in libbe.util.id
 * Transitioned VCS backends for Python-based VCSs from subprocess
   calss to internal python calls.

Plus the user-visible changes:
 * New bugdir/bug/comment ID format replaces old bug:comment format.
 * Deprecated support for `be diff` on Arch and Darcs <= 2.3.1.  A new
   backend abstraction (Storage) makes the former implementation
   ungainly.
 * Improved command completion.
 * Removed commands close, open, email_bugs,
 * Flipped some arguments
   `be assign BUG-ID [ASSIGNEE]` -> `be status ASSIGNED BUG-ID ...`
   `be severity BUG-ID SEVERITY` -> `be severity SEVERITY BUG-ID ...`
   `be status BUG-ID STATUS` -> `be status STATUS BUG-ID ...`

In the merge:
  * Added 'commit' to list of pagerless commands.
  * Updated doc/README.dev

See
#bea86499-824e-4e77-b085-2d581fa9ccab/1100c966-9671-4bc6-8b68-6d408a910da1#
for a discussion of why the changes were made and some of the
difficulties en-route.
doc/README.dev
libbe/command/close.py
libbe/command/email_bugs.py
libbe/command/open.py
libbe/ui/command_line.py