aboutsummaryrefslogtreecommitdiffstats
path: root/libbe
Commit message (Collapse)AuthorAgeFilesLines
* Added libbe.bug to the Sphinx documentationW. Trevor King2010-02-061-4/+8
|
* Sort comments in `be html`.W. Trevor King2010-02-022-8/+2
|
* Restore "content_type" kwarg to Comment.new_reply().W. Trevor King2010-02-022-9/+26
| | | | | | | | | | | | | | | | | 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.
* Made Bzr/Darcs.version_cmp() more robust in response to Chris' email.W. Trevor King2010-02-012-18/+30
| | | | | | | | | | | | 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()). ...
* Fixed Chris' "zero name length for Mercurial w/o ~/.hgrc" bug.W. Trevor King2010-02-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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"""
* Fix command name output of `be --complete`.W. Trevor King2010-02-012-5/+34
| | | | | | | 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.
* Clearer UnicodeDecodeError message in command_line.dispatch().W. Trevor King2010-02-011-0/+8
| | | | | See #bea/e30# ("Where should the vcs-name and encoding configuration options live?") for details.
* libbe.command.html.HTMLGen._long_to_linked_user() handles failed conversion.W. Trevor King2010-01-302-4/+41
| | | | | | | 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.
* Always load settings when initializing BugDir from storage.W. Trevor King2010-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix `be show` handling for no IDsW. Trevor King2010-01-291-1/+1
|
* Fix editor spawning on null-string EDITOR and VISUAL.W. Trevor King2010-01-291-4/+3
| | | | | $ EDITOR= VISUAL= python -c 'import os; import sys; print os.environ' {..., 'EDITOR': '', ..., 'VISUAL': '', ...}
* Work around "bzr ls --non-recursive PATH : no list" bug in old bzrlib.W. Trevor King2010-01-281-4/+9
| | | | | | | | | | | | | | | 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...
* Fix bzrlib.builtins.cmd_cat() output for pre 1.6.0 bzrlibs.W. Trevor King2010-01-281-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ...
* Fix bzrlib.builtins.cmd_ls() recursion argument for pre 2.0 bzrlibs.W. Trevor King2010-01-281-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ 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 ...
* Oops, fix Comment doctest EDITOR cleanupW. Trevor King2010-01-281-1/+1
|
* Don't accidentally spawn VISUAL in Comment doctests.W. Trevor King2010-01-281-0/+3
|
* Implement Arch._vcs_path()W. Trevor King2010-01-273-9/+30
| | | | | | | | | | | | | | | 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 ;).
* Implement Arch._vcs_changed().W. Trevor King2010-01-271-2/+46
| | | | Fixes VersionedStorage_changed_TestCase.test_changed failure.
* Fix StorageTestCase.classname -> ._classname()W. Trevor King2010-01-271-2/+2
| | | | | Introduced in wking@drexel.edu-20100127152727-nu58o4g6jea5or7w
* `be html` links (<a href="...) #-delimited references in text/* bodies.W. Trevor King2010-01-272-9/+46
|
* Merged clarifications requested by Ben FinneyW. Trevor King2010-01-275-11/+23
|\
| * Make VCS error messages and Storage test failures more descriptiveW. Trevor King2010-01-275-11/+23
| |
* | Streamlined libbe.command.serve, adding --auth option, #/bea/c1b#, and testing.W. Trevor King2010-01-273-196/+894
|/
* Added --ssl to `be serve` using cherrypy.wsgiserver.W. Trevor King2010-01-251-61/+211
|
* Convert libbe.command.serve to WSGI for increased flexibility.W. Trevor King2010-01-251-256/+271
| | | | | | | 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/
* Rework fix for #bea/8fc# : be crashes on outdated id-cacheW. Trevor King2010-01-251-7/+10
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Don't print 'Multiple paths' message on cache regenW. Trevor King2010-01-251-3/+3
|
* Fixed #bea/8fc# : be crashes on outdated id-cacheW. Trevor King2010-01-242-1/+9
| | | | Also explicitly avoid loading or saving settings for root comments.
* Fix Diff.comment_body_change_string's difflib.unified_diff callW. Trevor King2010-01-241-1/+4
|
* Fixed List --severity handling, added --importantW. Trevor King2010-01-231-2/+3
|
* Fix vars call for `be target --help`W. Trevor King2010-01-231-1/+1
|
* Update --subscriber option help string for SubscribeW. Trevor King2010-01-231-1/+1
|
* Modern ID format in `be list` _long_helpW. Trevor King2010-01-231-5/+5
|
* Fix broken handling of non-text/plain commentsW. Trevor King2010-01-232-3/+10
|
* Added "Created comment..." output to `be comment`W. Trevor King2010-01-231-0/+9
|
* Fix typos in untested parts of List and Import_XML for test_usage.pyW. Trevor King2010-01-232-4/+4
|
* Added `be list --mine`W. Trevor King2010-01-231-6/+10
|
* Init should tell the UI about its connected storage and bugdir.W. Trevor King2010-01-231-0/+2
|
* Move BugDir, Bug, and Comment to new _setup_saved_settingsW. Trevor King2010-01-223-8/+8
|
* Added testSimplePropertySetStorageSave and relavant rewrites to settings_objectW. Trevor King2010-01-221-10/+45
| | | | | | | 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.
* Add Bzr._vcs_exists() anyway :pW. Trevor King2010-01-221-1/+8
|
* We don't need VCS._vcs_exists yet, with exists only used in _addW. Trevor King2010-01-221-1/+1
|
* Minor cleanups + remove debuging line in Init doctestW. Trevor King2010-01-222-2/+0
|
* Add VCS._exists(), VCS.path(). Fix default handling in VCS._get().W. Trevor King2010-01-221-25/+37
| | | | | | | | | | 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.
* Added _EMPTY and Storage.exists() to libbe.storage.base.W. Trevor King2010-01-221-12/+43
| | | | | | | 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?".
* Reworked settings_object module, but command.init tests still fail:W. Trevor King2010-01-225-127/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ 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' ...
* Added unprimableVal option to primed_property.W. Trevor King2010-01-221-5/+14
| | | | For clearer handling of the "Tried to load but failed" case.
* Added tests to Init to check for empty settings fileW. Trevor King2010-01-221-1/+8
|
* Add Comment.safe_in_reply_to to improve comment xml output.W. Trevor King2010-01-211-1/+18
| | | | | | | | | | 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.
* Don't raise MultipleIDMatches if one of the matches is exact.W. Trevor King2010-01-211-0/+2
|