aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/storage
Commit message (Collapse)AuthorAgeFilesLines
* 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"""
* 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 ...
* 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
* 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-272-20/+159
|/
* 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-241-1/+5
| | | | Also explicitly avoid loading or saving settings for root comments.
* 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
|
* 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-221-119/+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.
* Update libbe.storage.util.settings_object tests for new ._get_saved_settingsW. Trevor King2010-01-211-1/+2
|
* Fix version import for mercurial <= 1.1.2W. Trevor King2010-01-211-1/+1
|
* Fix not-yet-loaded bug in SavedSettingsObject._get_saved_settings()W. Trevor King2010-01-201-6/+19
| | | | | | The earlier implementation only copied in the currently loaded properties and the required ones. The new implementation copies in _all_ the non-default properties.
* Adjust to modern mercurial version definition.W. Trevor King2010-01-201-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ...
* Fix _u_rel_path problems in VCS._childrenW. Trevor King2010-01-202-3/+4
|
* Use relative paths *._vcs_* methods.W. Trevor King2010-01-191-3/+6
|
* Better error messages in VCS._getW. Trevor King2010-01-191-3/+5
|
* Work around the extra output of `tla file-find` to get path.W. Trevor King2010-01-191-1/+2
| | | | | | | | 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
* Work around Mercurial issue618 in Arch backend.W. Trevor King2010-01-191-4/+20
| | | | Also add some NotImplementedErrors for clearer diagnostics.
* Added changed() support for DarcsW. Trevor King2010-01-181-17/+110
|
* Add .changed support to HTTP storage backend.W. Trevor King2010-01-181-0/+9
| | | | Also work around urlparse.parse_qs location in Python <= 2.5.
* Add ancestors support to HTTP storageW. Trevor King2010-01-181-0/+7
|
* Add .changed() support to HgW. Trevor King2010-01-181-0/+71
|
* Fix VCS doctest for +revision InvalidID error messageW. Trevor King2010-01-181-1/+1
|
* Add class name to StorageTestCase failure reportingW. Trevor King2010-01-181-0/+17
|
* Added VCS._u_find_id_from_manifest for faster id->path calculationW. Trevor King2010-01-184-26/+44
|
* Adjust VCSTestCase method docstrings for unittest.W. Trevor King2010-01-181-6/+3
|
* Added VCS._ancestorsW. Trevor King2010-01-181-0/+21
|
* Added Storage.ancestorsW. Trevor King2010-01-181-47/+77
|
* Ignore paths with _u_path_to_id errors in VCS.changedW. Trevor King2010-01-181-5/+12
|
* Add .changed() support to BzrW. Trevor King2010-01-181-1/+83
|
* Add .changed() support to GitW. Trevor King2010-01-181-0/+81
|
* Add .changed() support to VCSW. Trevor King2010-01-181-0/+15
|
* Too much trouble to handle Git's lack of dir versioning in ↵W. Trevor King2010-01-181-1/+1
| | | | test_get_previous_children
* Add VersionedStorageTestCases in make_versioned_storage_testcase_subclassesW. Trevor King2010-01-181-2/+5
|
* Added libbe.storage.base.VersionedStorage.changed() and a test.W. Trevor King2010-01-151-5/+59
| | | | | Also converted libbe.storage.base.VersionedStorage revision ids from integers to strings.
* Fixed update_copyright.py's subproc import and updated copyrightsW. Trevor King2010-01-011-1/+1
|
* Fixed commit handling in commands.serve and storage.httpW. Trevor King2010-01-011-2/+2
|
* Use more kwargs in libbe.command.serveW. Trevor King2010-01-011-1/+1
| | | | | | | | kwargs make things easier to maintain. Also make sure the .handle_*() methods return two items (content,ctype) even when both are None.