| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
border-radius and friends are standard CSS3 [1].
[1]: http://www.w3.org/TR/css3-background/#the-border-radius
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These were introduced in
commit d61d54ce33022f0613c5e19e2f52be4ab77c4664
Author: Gianluca Montecchi <gian@grys.it>
Date: Mon Jan 24 22:47:32 2011 +0100
New html output for html command
and propogated in
commit 5b6be7a511670cdf1961d13040cddcb34e70b8a1
Author: W. Trevor King <wking@drexel.edu>
Date: Sun Apr 17 02:41:07 2011 -0400
Rework `be html` to use Jinja2 templates.
|
|
|
|
|
|
|
|
|
| |
This is faster and still readable. I also add an upgrader to convert
bug directories from:
Bugs Everywhere Directory v1.4
to:
Bugs Everywhere Directory v1.5
but I haven't upgraded the local bugdir yet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If `pygit2` is installed, use it (via PygitGit) rather than calling
the stand-alone `git` executable for all the Git (via ExecGit) for all
the Git storage stuff. This saves one serializing/deserializing and
process setup/teardown. I timed each test suite by commenting out one
of the `make_vcs_testcase_subclasses()` calls at the end of `git.py`
and running
$ time python test.py libbe.storage.vcs.git
The ExecGit tests ran in 13.7s and the PygitGit tests ran in 3.6s for
a 3.8x speedup.
I had to stretch pygit2 a bit to get a clean fit, so if you want to
test this, you'll need to build pygit2 with the following merge
requests:
Add 'pygit2.__version__' for easy access from client software.
https://github.com/libgit2/pygit2/pull/128
commit 0238fb72dfdf2a2308f2da347717cbaafddc4b83
signature: Add keyword argument parsing to Signature().
https://github.com/libgit2/pygit2/pull/129
commit c934858b629f40221406f34166dd77e881b9d5fd
repository: add Repository.revparse_single()
https://github.com/libgit2/pygit2/pull/131
commit 3afdc8b2f59ed137531671fedde36f3a39cbcc9d
|
|
|
|
|
| |
VCS_get_user_id_TestCase.test_gets_existing_user_id is now
VCS_get_user_id_TestCase.test_get_existing_user_id
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use the recently created topic, which provides more details than the
`serve-commands` help message.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The old implementation used module names. For example:
command name: import-xml
module name: import_xml
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also rename 'serve' -> 'serve-storaage'.
This catches the server version up with:
commit 0336db8d4052a319f1d959a33fc847814551e3f8
Author: W. Trevor King <wking@tremily.us>
Date: Wed Aug 29 23:55:37 2012 -0400
command:serve-storage: rename `be serve` -> `be serve-storage`.
|
|
|
|
|
|
|
|
| |
The old implementation caused a number of unittest errors.
This commit adds a WSGICaller instance as WSGITestCase.caller, and
provides a wrapper .getURL method which copies the
status/headers/etc. from the caller back into the WSGITestCase.
|
|
|
|
|
|
|
|
|
| |
Now `be html` defaults to serving the BE repo live. With the
`--export-html` option, it reverts to the earlier static dump
behaviour.
This will make it easier for others to embed a read-only HTML server
in their own app (e.g. as a gitorious issue tracker).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This catches the server version up with:
commit 0336db8d4052a319f1d959a33fc847814551e3f8
Author: W. Trevor King <wking@tremily.us>
Date: Wed Aug 29 23:55:37 2012 -0400
command:serve-storage: rename `be serve` -> `be serve-storage`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also raise UnknownCommand if there is no `command` key in the posted
dict (malformed request).
With the new code, you can run commands with:
$ wget --post-data='command: list' http://localhost:8000/run/
instead of having to go through and specify all the parameters
explicitly. This will make the command server more robust for use
with older clients (who may not know about all the parameters that the
server knows about). Parameters sent by the client that the server
does not know about are silently ignored.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This catches the doc up with misc/xml/be-mail-to-xml:
commit c8985785eb741ff646082879f1ca5e9cfe3873b0
Author: W. Trevor King <wking@drexel.edu>
Date: Wed Jan 20 15:22:28 2010 -0500
'be-mbox-to-xml' -> 'be-mail-to-xml' + support for several formats.
|
|
|
|
|
|
|
|
|
|
| |
This will help avoid confusion between
be serve-storage
and
be serve-commands
|
|
|
|
|
|
|
| |
The bulk of the work is in regard to XML, with new BugDir.xml and
.from_xml methods to support the new <bugdir> entity. I also split
the guts import_xml's ._run method into sub-methods to make the import
logic more obvious.
|
|
|
|
|
|
| |
This fixes .test_get_initial_value for the HTTP backend, because the
tests use TestingHTTP.getURL, which only catch HandlerError, not the
more specific storage exceptions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids a deepcopy error where the BugDir tries to update before
the Bug has had it's uuid assigned:
Traceback (most recent call last):
...
File ".../libbe/command/merge.py", line 168, in _run
newCommTree = copy.deepcopy(bugB.comment_root)
File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy
y = _reconstruct(x, rv, 1, memo)
...
File "/usr/lib64/python2.7/copy.py", line 352, in _reconstruct
y.append(item)
File ".../libbe/bugdir.py", line 263, in append
self._bug_map_gen()
File ".../libbe/bugdir.py", line 152, in _bug_map_gen
map[bug.uuid] = bug
AttributeError: 'Bug' object has no attribute 'uuid'
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows you to do things like:
$ mkdir -p /tmp/joint-repo/.be
$ cd /tml/joint-repo/.be
$ ln -s ~/src/be/.be/version
$ ln -s ~/src/be/.be/bea86499-824e-4e77-b085-2d581fa9ccab/
$ ln -s ~/src/BEurtle/.be/7017b289-f207-4e39-9746-f58323404eba/
$ be list
without crashing with a:
Traceback (most recent call last):
File ".../libbe/storage/base.py", line 316, in children
return self._children(*args, **kwargs)
File ".../libbe/storage/vcs/base.py", line 820, in _children
path = self.path(id, revision, relpath=False)
File ".../libbe/storage/vcs/base.py", line 721, in path
path = self._cached_path_id.path(id)
File ".../libbe/storage/vcs/base.py", line 280, in path
raise InvalidID(uuid)
libbe.storage.base.InvalidID: 7017b289-f207-4e39-9746-f58323404eba in revision None
Currently it only lists the first bug directory it comes across, but
after this patch, it doesn't crash ;).
|
|
|
|
|
| |
By appending '.py' to *everything*, it was listing '__pycache__' for
Python 3.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is analagous to the earlier change to get_post_url:
commit 0cd072b9710ee964e6f449abd9265d85e02f34d2
Author: W. Trevor King <wking@tremily.us>
Date: Fri Aug 24 09:29:58 2012 -0400
util:http: add ability to pass raw POST data with get_post_url.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an initial step towards improving BE's efficiency.
Previously, BE gets slow as the bug count increases for several
commands (e.g. `be list`), because it takes time to load the bugdir
information from disk at each invocation. If you use a remote repo
(`be --repo http://localhost:8000/ list`), the server process may have
already loaded the repo from disk, but now your listing process has to
fetch everything over the wire. This is even worse than loading it
from disk.
With the new `be serve-commands` and `be --server URL ...` pair, the
bugdir loading happens once on the server, and all the processing is
also carried out on the server. This means that calls like `be
--server http://localhost:8000/ list` will scale much better than
other methods. For example:
$ time be --server http://localhost:8000/ list > /dev/null
real 0m2.234s
user 0m0.548s
sys 0m0.114s
$ time be --server http://localhost:8000/ list > /dev/null
real 0m0.730s
user 0m0.548s
sys 0m0.112s
$ time be list > /dev/null
real 0m2.453s
user 0m2.289s
sys 0m0.166s
$ time be list > /dev/null
real 0m2.521s
user 0m2.350s
sys 0m0.172s
The first call to a cold server takes about the same time as a local
call, because you need to load the bugs from the filesystem. However,
later calls to a warm server are 3x faster, while later local calls
are still slow.
This is currently a minimal working implementation. There's a good
deal of code in libbe.command.serve that I'd like to abstract out into
a libbe.util library (since there's still a bunch of duplication
between libbe.command.serve and libbe.command.serve_commands). The
remote calls are also not as fast as I'd like, likely due to library
load times. This commit just locks in an initial working
implementation.
|
|
|
|
|
| |
It's hard to see why it wouldn't be, but .setup_command handles the
case where it's missing, so we should be consistent here.
|
|
|
|
| |
More Pythonic.
|
|
|
|
| |
Previously, only the SSL server was using ExceptionApp.
|
| |
|
|
|
|
|
| |
Also rework liburl2.HTTPError handling to get both the reason and the
error code into the HTTPError message.
|
|
|
|
| |
This way they can be shared with the upcoming Command._run_remote.
|
| |
|
|
|
|
|
|
| |
We'll usually get this message if we fail to reach the server, but we
can also get it if the server is so broken that it dies without
returning a valid HTTP response.
|
|
|
|
|
| |
This allows us to set an appropriate user agent if we use this
function in other places (e.g. upcoming Command._run_remote).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They were being logged by the request handler, and then logged again
by WSGI_Object.log_request. After this patch, requests are only
logged when logger.level is at a <= level (e.g. closer to DEBUG)
than the WSGI_Object.log_level (usually INFO). For example, in
Serve_setup_logging,
self.logger.setLevel(logging.INFO)
will get request logs printed, but
self.logger.setLevel(logging.WARNING)
will not.
|
|
|
|
|
|
|
| |
To test this, you'll need to build an egg. You can use setuptools to
do this, by applying:
<snip-patch>
|