| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
duplicate_bugdir() works, but for the vcs backends, it could require
shelling out for _every_ file read. This could, and probably will, be
horribly slow. Still it works ;).
I'm not sure what a better implementation would be. The old
implementation checked out the entire earlier state into a temporary
directory
pros: single shell out, simple upgrade implementation
cons: wouldn't work well for HTTP backens
I think a good solution would run along the lines of the currently
commented out code in duplicate_bugdir(), where a
VersionedStorage.changed_since(revision)
call would give you a list of changed files. diff could work off of
that directly, without the need to generate a whole duplicate bugdir.
I'm stuck on how to handle upgrades though...
Also removed trailing whitespace from all python files.
|
| |
|
|
|
|
|
|
|
|
| |
Well, except for going through and updating the _long_help()
strings.
$ python test.py libbe.command
succeeds for everything except Diff and Subscribe, which is expected
since I haven't fixed up libbe.diff yet.
|
|
|
|
|
|
| |
They don't work yet, since I still need to fix up libbe.diff and
replace BugDir.duplicate_bugdir() with something based on the new
Storage backend.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
======================================================================
FAIL: Doctest: libbe.diff.DiffTree
----------------------------------------------------------------------
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 libbe.diff.DiffTree
File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 136, in DiffTree
----------------------------------------------------------------------
File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 172, in libbe.diff.DiffTree
Failed example:
print bugdir.report_string()
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.diff.DiffTree[18]>", line 1, in <module>
print bugdir.report_string()
File "/home/wking/src/fun/be/be.diff-subscribe/libbe/diff.py", line 213, in report_string
return "\n".join(self.report())
TypeError
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes Message.subscriber_emails() much cleaner.
Also fix libbe.diff.Diff._sub_report() to handle missing
'bugdir/settings'.
Added libbe.diff.SubscriptionType.__cmp__ so that
SubscriptionType('all') == SubscriptionType('all')
This is important when comparing the types returned by
becommands.subscribe.get_bugdir_subscribers()
with the libbe.diff.*_TYPE_* types.
|
|
|
|
|
|
|
|
|
|
| |
Now report_tree() returns an appropriately .masked version of the
cached full report, which is much faster than recomputing a new diff
tree from scratch.
Also fixed bug in libbe.diff.DiffTree.report() where
.requires_children=True was exposing nodes with children, when it
should (and now does) only expose nodes with _unmasked_ children.
|
| |
|
|
|
|
|
|
|
|
|
| |
Now you can subscribe to only hear about modified bugs or only about
removed bugs. Kindof odd for a general subscription, but possibly
useful as an argument to the upcoming `be diff --subscribe`, e.g.
be diff --subscribe DIR:mod
which would replace the old
be diff --modified
|
| |
|
|
|
|
|
|
| |
Also added diff.BUGDIR_ID to avoid lots of magic 'DIR' definitions,
and added diff.Subscription class to make the old (id, type) tuples a
bit more elegant.
|
| |
|
|
|
|
|
| |
Previous implementation guaranteed to raise KeyErrors, because new bug
doesn't contain the uuid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag allows us to skip unittest and testsuite declaration if we
woln't need them. It speeds up simple be calls a suprising amount.
With Testing=True (the old behavior):
wking@thor:be.wtk$ time ./be > /dev/null
real 0m0.393s
user 0m0.340s
sys 0m0.048s
With TESTING=False (the new behavior):
be.wtk$ time ./be > /dev/null
real 0m0.216s
user 0m0.152s
sys 0m0.064s
This adjustment was inspired by Jakub Wilk's Debian bug:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559295
|
| |
|
| |
|
|
|
|
| |
Also a few minor tweaks to the module imports.
|
| |
|
|
|
|
|
|
|
|
| |
Also simple_bug_dir -> SimpleBugDir class, which allows me to add
utility.Dir cleanup to SimpleBugDir.cleanup().
Still having a bit of trouble with the becommand.new tests due to
bugdir loading though...
|
|
|
|
| |
Only increment depth if data_part != None.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, every node in the DiffTree created it's own attachment.
Now they're consolidated into a single attachment per bug. higher
level nodes are still one attachment per node.
Also:
* added send_pgp_mime.append_text()
* pulled guess_encoding() out of send_pgp_mime.encodedMIMEText().
* renamed data_string -> data_part in libbe.diff, since it needn't be a string.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Previous comment comparison had just been the default Tree.__cmp__.
Fleshed out so A == B ensures no meaningful differences between A and B.
Also added first line of comments to new comment output in libbe.diff,
and added a comment/"settings" node and .comment_mod_string() (to
mirror bugdir and bug).
|
|
|
|
|
| |
This makes repeated .report() generation from the same tree more
efficient.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make the interface proposed by becommands/subscribers.py easier to
implement, I've moved the libbe.diff functionality into classes. Now
it should be easy two tweak the output as desired by subclassing these
classes. The basic idea is that Diff.report_tree() generates a
diff_tree tree of changes between two bugdirs, where diff_tree is some
subclass of DiffTree. Each type of change has a default .*_string()
method producing a string summary of the change. DiffTree.report()
moves through and generates a report by joining all those summary
strings to a single root, and DiffTree.report_string() serialized the
report to produce e.g. the output of becommands/diff.py.
|
|
|
|
|
|
|
|
|
|
|
| |
Renamed libbe.diff.diff -> bug_diffs, since it doesn't compare bugdirs.
Load comments before bug comparision so cmp_comments will see them.
Use .settings_properties rather than static lists to create attribute
lists for change_lines().
Removed trailing endline from becommands/diff.py output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Ben's bug 00f26f04-9202-4288-8744-b29abc2342d6.
I also tweaked update_copyright.sh to make possible future
copyright-blurb revision easier. The new algorithm is greedier,
overwriting _all_ consecutive comments after a '^# Copyright' line, so
do
# Copyright
# GPL ... GPL ... GPL
# Your comment here...
not
# Copyright
# GPL ... GPL ... GPL
#
# Your comment here...
Without the blank line, your comment would get overwritten by the next
run of update_copyright.sh.
Note that catmutt is ignored by update_copyright.sh because Moritz
Barsnick has only licensed his grepm code under the GPLv2 (not
GPLv>=2). See the initial catmutt commit for details.
|
|
|
|
|
|
|
|
|
|
|
| |
These didn't work with my update_copyright.sh.
I went with
Aaron Bentley and Panometrics, Inc.
instead of
Aaron Bentley <abentley@panoramicfeedback.com> and Panometrics, Inc.
just because of line length, but I'm open to convincing if people
prefer the latter...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I borrowed most of the code for this.
get_encoding() is from Trac
http://trac.edgewall.org/browser/trunk/trac/util/datefmt.py
format_datetime()
Trac has a BSD license
http://trac.edgewall.org/wiki/TracLicense
I don't know if such a small snippet requires us to "reproduce the
above copyright" or where we need to reproduce it if it is needed.
The stdout/stdin replacement code follows
http://wiki.python.org/moin/ShellRedirectionFails
Because of the stdout replacement, the doctests executes now need an
optional 'test' argument to turn off replacement during the doctests,
otherwise doctest flips out (since it had set up stdout to catch
output, and then we clobbered it's setup).
References:
http://wiki.python.org/moin/Unicode
http://www.amk.ca/python/howto/unicode
http://www.python.org/dev/peps/pep-0100/
I also split libbe/editor.py off from libbe.utility.py and started
explaining the motivation for the BugDir init flags in it's docstring.
|
|
|
|
| |
+ some other minor fixes and cleanups.
|