aboutsummaryrefslogtreecommitdiffstats
path: root/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2009-12-31 15:54:12 -0500
committerW. Trevor King <wking@drexel.edu>2009-12-31 15:54:12 -0500
commitb0b5341c4045dd27cfbb3e2585cb2614ed9ad903 (patch)
tree37c7c2d011617ccd7a6f28a24ea77bb1b3cddfe7 /.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233
parenta06030436d3940dddfba37b344f90651366d67e1 (diff)
parent2d1562d951e763fed71fe60e77cc9921be9abdc9 (diff)
downloadbugseverywhere-b0b5341c4045dd27cfbb3e2585cb2614ed9ad903.tar.gz
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.
Diffstat (limited to '.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233')
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/body38
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/values8
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/body2
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/values8
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/body170
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/values8
-rw-r--r--.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/values14
7 files changed, 248 insertions, 0 deletions
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/body
new file mode 100644
index 0000000..d10b444
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/body
@@ -0,0 +1,38 @@
+File "/home/wking/src/fun/be-bugfix/becommands/status.py", line 25, in becommands.status.execute
+Failed example:
+ bd = bugdir.simple_bug_dir()
+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 becommands.status.execute[1]>", line 1, in <module>
+ bd = bugdir.simple_bug_dir()
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 293, in simple_bug_dir
+ bugdir = BugDir(dir.path, sink_to_existing_root=False, allow_rcs_init=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 99, in __init__
+ rcs = self.guess_rcs(allow_rcs_init)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 165, in guess_rcs
+ rcs = installed_rcs()
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 53, in installed_rcs
+ return _get_matching_rcs(lambda rcs: rcs.installed())
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 37, in _get_matching_rcs
+ if matchfn(rcs) == True:
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 53, in <lambda>
+ return _get_matching_rcs(lambda rcs: rcs.installed())
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 180, in installed
+ self._rcs_help()
+ File "/home/wking/src/fun/be-bugfix/libbe/bzr.py", line 32, in _rcs_help
+ status,output,error = self._u_invoke_client("--help")
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 362, in _u_invoke_client
+ return self._u_invoke(cl_args, expect, cwd=directory)
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 355, in _u_invoke
+ raise CommandError(error, status)
+ CommandError: Command failed (1): '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
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/values
new file mode 100644
index 0000000..3453fd9
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/13e88b64-117b-4f8b-8cba-8f4a9bc394f5/values
@@ -0,0 +1,8 @@
+Author: W. Trevor King <wking@drexel.edu>
+
+
+Content-type: text/plain
+
+
+Date: Fri, 21 Nov 2008 18:41:47 +0000
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/body
new file mode 100644
index 0000000..3d7d3aa
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/body
@@ -0,0 +1,2 @@
+Aha, a final os.chdir('/') line is required to clean up after the
+set_root.py doctest.
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/values
new file mode 100644
index 0000000..2a76a4e
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/2ae039de-5b0d-4a4f-aa80-6c81d1345367/values
@@ -0,0 +1,8 @@
+Author: W. Trevor King <wking@drexel.edu>
+
+
+Content-type: text/plain
+
+
+Date: Fri, 21 Nov 2008 19:12:42 +0000
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/body b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/body
new file mode 100644
index 0000000..1fe5ce3
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/body
@@ -0,0 +1,170 @@
+Hysteretic! test.py severity passes, then fails.
+
+Problem caused somewhere in set_root? Doctest? Bzr?
+
+libbe/plugin.py adds the BE-path to sys.path, but it is done by the
+time the TestRunner fires up... Wierd.
+
+$ python test.py severity set_root severity
+Doctest: becommands.severity.execute ... ok
+Doctest: becommands.set_root.execute ... FAIL
+Doctest: becommands.severity.execute ... FAIL
+
+======================================================================
+FAIL: Doctest: becommands.set_root.execute
+----------------------------------------------------------------------
+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 becommands.set_root.execute
+ File "/home/wking/src/fun/be-bugfix/becommands/set_root.py", line 22, in execute
+
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/set_root.py", line 41, in becommands.set_root.execute
+Failed example:
+ print rcs.name
+Expected:
+ Arch
+Got:
+ bzr
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/set_root.py", line 43, in becommands.set_root.execute
+Failed example:
+ execute([])
+Expected:
+ Using Arch for revision control.
+ Directory initialized.
+Got:
+ Using bzr for revision control.
+ Directory initialized.
+
+
+======================================================================
+FAIL: Doctest: becommands.severity.execute
+----------------------------------------------------------------------
+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 becommands.severity.execute
+ File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 22, in execute
+
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 25, in becommands.severity.execute
+Failed example:
+ bd = bugdir.simple_bug_dir()
+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 becommands.severity.execute[1]>", line 1, in <module>
+ bd = bugdir.simple_bug_dir()
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 293, in simple_bug_dir
+ bugdir = BugDir(dir.path, sink_to_existing_root=False, allow_rcs_init=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 99, in __init__
+ rcs = self.guess_rcs(allow_rcs_init)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 165, in guess_rcs
+ rcs = installed_rcs()
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 53, in installed_rcs
+ return _get_matching_rcs(lambda rcs: rcs.installed())
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 37, in _get_matching_rcs
+ if matchfn(rcs) == True:
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 53, in <lambda>
+ return _get_matching_rcs(lambda rcs: rcs.installed())
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 180, in installed
+ self._rcs_help()
+ File "/home/wking/src/fun/be-bugfix/libbe/bzr.py", line 32, in _rcs_help
+ status,output,error = self._u_invoke_client("--help")
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 362, in _u_invoke_client
+ return self._u_invoke(cl_args, expect, cwd=directory)
+ File "/home/wking/src/fun/be-bugfix/libbe/rcs.py", line 355, in _u_invoke
+ raise CommandError(error, status)
+ CommandError: Command failed (1): '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
+
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 26, in becommands.severity.execute
+Failed example:
+ os.chdir(bd.root)
+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 becommands.severity.execute[2]>", line 1, in <module>
+ os.chdir(bd.root)
+ NameError: name 'bd' is not defined
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 27, in becommands.severity.execute
+Failed example:
+ execute(["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 becommands.severity.execute[3]>", line 1, in <module>
+ execute(["a"])
+ File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 40, in execute
+ bd = bugdir.BugDir(loadNow=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 85, in __init__
+ root = os.getcwd()
+ OSError: [Errno 2] No such file or directory
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 29, in becommands.severity.execute
+Failed example:
+ execute(["a", "wishlist"])
+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 becommands.severity.execute[4]>", line 1, in <module>
+ execute(["a", "wishlist"])
+ File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 40, in execute
+ bd = bugdir.BugDir(loadNow=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 85, in __init__
+ root = os.getcwd()
+ OSError: [Errno 2] No such file or directory
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 30, in becommands.severity.execute
+Failed example:
+ execute(["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 becommands.severity.execute[5]>", line 1, in <module>
+ execute(["a"])
+ File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 40, in execute
+ bd = bugdir.BugDir(loadNow=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 85, in __init__
+ root = os.getcwd()
+ OSError: [Errno 2] No such file or directory
+----------------------------------------------------------------------
+File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 32, in becommands.severity.execute
+Failed example:
+ execute(["a", "none"])
+Expected:
+ Traceback (most recent call last):
+ UserError: Invalid severity level: none
+Got:
+ Traceback (most recent call last):
+ File "/usr/lib/python2.5/doctest.py", line 1228, in __run
+ compileflags, 1) in test.globs
+ File "<doctest becommands.severity.execute[6]>", line 1, in <module>
+ execute(["a", "none"])
+ File "/home/wking/src/fun/be-bugfix/becommands/severity.py", line 40, in execute
+ bd = bugdir.BugDir(loadNow=True)
+ File "/home/wking/src/fun/be-bugfix/libbe/bugdir.py", line 85, in __init__
+ root = os.getcwd()
+ OSError: [Errno 2] No such file or directory
+
+
+----------------------------------------------------------------------
+Ran 3 tests in 8.719s
+
+FAILED (failures=2)
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/values
new file mode 100644
index 0000000..d63f4e1
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/comments/a492508e-0be7-4403-bbd0-9cdc0a46b06b/values
@@ -0,0 +1,8 @@
+Author: W. Trevor King <wking@drexel.edu>
+
+
+Content-type: text/plain
+
+
+Date: Fri, 21 Nov 2008 19:01:19 +0000
+
diff --git a/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/values b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/values
new file mode 100644
index 0000000..93c746c
--- /dev/null
+++ b/.be/bea86499-824e-4e77-b085-2d581fa9ccab/bugs/8e83da06-26f1-4763-a972-dae7e7062233/values
@@ -0,0 +1,14 @@
+creator: W. Trevor King <wking@drexel.edu>
+
+
+severity: minor
+
+
+status: fixed
+
+
+summary: test.py removes path to bzrlib
+
+
+time: Fri, 21 Nov 2008 18:41:03 +0000
+