| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Also explicitly avoid loading or saving settings for root comments.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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?".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ 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'
...
|
|
|
|
| |
For clearer handling of the "Tried to load but failed" case.
|
| |
|
| |
|
|
|
|
|
|
| |
The earlier implementation only copied in the currently loaded
properties and the required ones. The new implementation copies
in _all_ the non-default properties.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
...
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Also add some NotImplementedErrors for clearer diagnostics.
|
| |
|
|
|
|
| |
Also work around urlparse.parse_qs location in Python <= 2.5.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
test_get_previous_children
|
| |
|
|
|
|
|
| |
Also converted libbe.storage.base.VersionedStorage revision ids
from integers to strings.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
kwargs make things easier to maintain.
Also make sure the .handle_*() methods return two items
(content,ctype)
even when both are None.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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 :).
|
|
|
|
|
| |
search_parent_directries raises an AssertionError if the original path
doesn't exist.
|
| |
|
| |
|
|
|
|
| |
This makes cleaning up UIs easier: just call disconnect() :p.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Otherwise Arch will return '.arch-ids' in its list, etc.
|
|
|
|
|
|
| |
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.
|
| |
|