| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| | |
|
|\| |
|
|/
|
|
| |
Missed these earlier.
|
|
|
|
|
|
|
|
|
| |
12c:uw: Bug aggregation. Multi-repo meta-BE?
529:ow: How should we version BE?
2f0:aw: Static html report generation
22b:aw: Sorting targets chronologically
d99:aw: CherryPy interface "Cherry-flavored BE"
e08:aw: Interactive email interface
|
|
|
|
|
|
|
|
|
| |
Also moved the XML-header line to the top of the argument loop, since
there should only be one. We're still missing global tags wrapping the
whole thing though...
Also set options.XML default to False. It had been defaulting to
None, which was breaking the non-XML newline-adding check.
|
|
|
|
|
|
|
|
|
|
|
|
| |
A previous "len(ret) >= 0" had been stripping the alt-id and
in-reply-to from _all_ parts of multipart comments. Now it only
strips them from parts after the first. The following parts do not
specify and alt-id, and they all are in-reply-to the first part.
I also added the KNOWN_IDS list for selecting amongst an array of
possible in-reply-to or references ids. This works well enough for
now, but would be more robust if we could import a list of previously
known ids from BE...
|
|
|
|
|
|
|
|
|
| |
They are generated in memory (from_disk defaults to False)
133: new = comment.Comment(bug)
With the leaner saving since I started trusting sync_with_disk, they
were no longer making it to disk.
Easily fixed with an explicit save once you've got them all set up.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The actual fix was
@@ -339,7 +355,10 @@
fset = funcs.get("fset")
name = funcs.get("name", "<unknown>")
def _fget(self, new_value=None, from_fset=False): # only used if mutable == True
- value = fget(self)
+ if from_fset == True:
+ value = new_value # compare new value with cached
+ else:
+ value = fget(self) # compare current value with cached
if _cmp_cached_mutable_property(self, "change hook property", name, value) != 0:
# there has been a change, cache new value
old_value = _get_cached_mutable_property(self, "change hook property", name)
The reason for the double-save was:
>>> print t.settings["List-type"]==EMPTY
True
(the cached value here is EMPTY)
>>> t.list_type = []
(old fget compares cached EMPTY to current EMPTY, no change, so no
cache. fset notices change and saves EMPTY->[])
>>> t.list_type.append(5)
(now fget notices the change EMPTY->[], caches [], and calls extra save)
The new way:
>>> print t.settings["List-type"]==EMPTY
True
(the cached value here is EMPTY)
>>> t.list_type = []
(fget compares cached EMPTY to new [] and saves EMPTY->[])
>>> t.list_type.append(5)
(fget sees no change ([]->[]), which is correct)
In addition to the fix and the related corrections to
testChangeHookMutableProperty, I added details about mutables to all
relevant docstrings and stripped trailing whitespace from both files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Got rid of a whole bunch of redundant .save() calls when
sync_with_disk==True.
Fixed up the "File-system access" portion of the BugDir docstring so
we can all remember how things are supposed to work ;).
Note that some .save() calls are still required. For example in
becommands/merge.py, the copied comments have their .bug changed, but
that is not a versioned property, so it doesn't trigger an automatic
save, and we have to force the .save() by hand.
libbe.rcs.RCS.mkdir() is now recursive by default, but you can set
check_parents==False if you want it to fail in the case of missing
parents. Because of the recursion, we removed the .update() call
on preexisting directories, since there will be at least one of
these occurrences for every .mkdir(check_parents=True) call, and
I don't know of any VCS that actually needs them...
Also stripped trailing whitespace from some files...
|
|
|
|
|
|
|
|
| |
From back before commit
wking@drexel.edu-20090619184215-nfx205yaj02sqrqx
cleaned up the versioned_property implementation.
Also a few style fixes and typos.
|
|
|
|
|
|
|
| |
Previously many backends would silently add an empty commit. Not very
useful. When the new --allow-empty flag and related allow_empty
options are false, every versioning backend is guaranteed to raise the
EmptyCommit exception in the case of an attempted empty commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we can commit changes from the command line with a unified
interface. The interface is much less flexible than using your
particular version control system's commit command directly, so this
command is mostly intended for user-interfaces and other tools that
don't want to be bothered with the extra flexibility.
Normalized spacing in rcs.RCS.commit to produce:
summary
<BLANKLINE>
body
<TRAILING-ENDLINE>
messages regardless of the input string format.
Also fixed a "--complete" handline bug in cmdutil, and some minor
docstring typos in libbe.rcs and .editor.
|
|
|
|
| |
Required for reading the bug summary string from stdin.
|
|
|
|
|
|
| |
I'd forgotten to prefix the directory root, so calling
be show --only-raw-body COMMIT-ID
would fail if you weren't executing it in the repository root.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
one place and make things clearer to the uninitiated. Here's my
current understanding:
.
|-- libbe (the guts of BE)
|-- becommands (plugins for all "be *" commands)
|-- doc (documentation, currently just the man page)
|-- interfaces (non-commandline interface implementations)
| |-- web
| | |-- Bugs-Everywhere-Web (in Turbogears)
| |-- gui
| | |-- beg (in Tkinter)
| | `-- wxbe (in WX)
| |-- email
| `-- xml (xml <-> whatever conversion)
`-- misc (random odds and ends)
`-- completion (shell completion scripts)
Note that I haven't attempted to use the web or gui interfaces in a
while, so I'm not sure how well they're holding vs the core
development.
|
| |
| |
| |
| |
| |
| | |
Mostly updated the list of supported VCSs.
Also corrected spacing inconsistency in README.dev.
|
|/
|
|
|
| |
It should be updated after bzr commits, but Makefile doesn't
understand bzr, so just update every time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
All the becommands have been using cmdutil CmdOptionParser for a long
time, but "be" parsed its options by hand. Now it used
CmdOptionParser, which makes adding new options much easier.
|
|
|
|
|
|
|
|
| |
I got a bit confused and installed be into "/usr/local " instead of
"/usr/local" with
PREFIX = /usr/local # ${HOME}
With the alternate PREFIX line right there, there should be less
temptation to do again :p.
|
|
|
|
| |
Now you don't have to edit them out by hand.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously "message[<some-attr>]" just returned None if it wasn't set
for that message part, which overwrote anything passed in through
fields.
"from" and "date" added to list of attributes passed along.
For be-xml-to-mbox, "alt-id" was added to Comment._attrs,
and Comment.print_to_mbox was adjusted to handle the case where
we have no information about the parent bug.
With all of this, I can complete the loop
be-mbox-to-xml example.mbox | be-xml-to-mbox > example2.mbox
without errors :p.
Finally, be-xml-to-mbox has been adjusted to also work on files (it
had previously only handled data via stdin). We can't add stdin
handling to be-mbox-to-xml though, because the mailbox package needs
an actual file to work on, and I haven't setup a tmpfile workaround
yet...
|
|
|
|
|
|
| |
Now it runs off xml.etree instead of xml.sax.
Removed "No matching bugs found" from "be list --xml" output.
|
| |
|
|
|
|
|
|
| |
ElementTree.XML was choking on them. I should unescape all whitespace
(e.g. tabs, etc.), but I'm lazy and don't have any XML that's strange
enough to need it ;).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reworked to allow "be comment" to handle unicode strings (see bug
e4ed63f6-9000-4d0b-98c3-487269140141). The solution was to escape all
the unicode to produce and ASCII string before calling
ElementTree.XML, and then converting back to unicode afterwards.
Added a unicode-containing comment to the end of bug
f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a so that there's a handy unicode
comment for testing.
XML headers (e.g. '<?xml version="1.0" encoding="UTF-8" ?>') are
now added to all xml output from be.
Switched non-text/* encoding library to base64 instead of
email.encoders, which makes that code in libbe/comment.py simpler.
Changed libbe/mapfile.py error encoding from string_escape to
unicode_escape so it can handle unicode.
Everything's still untested, and be-xml-to-mbox doesn't handle unicode
yet, but I felt this commit was getting a bit unwieldy ;).
|
|
|
|
|
|
| |
Found a few that were actually "fixed" and one that I reopened.
Perhaps we should add a "merged" status to the default, so that the
merged bugs don't clutter up the closed bugs category...
|
|
|
|
|
|
|
|
|
| |
I don't really like the "defaults to None" for the settings that have
funky initialization procedures (most of them :p), but I'm not sure
how to handle that cleanly yet. Perhaps
be set --current
I also need to find a method of adding complicated settings like the
nested lists for severities, etc from the "be set" commandline.
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
| |
|
|
|
|
|
| |
Also adjusted libbe/comment.py to move to user-specified alt_ids,
rather than uuids.
|
|
|
|
|
|
| |
Now the behavior conforms to the docstring:
If both default and generator are None, then the property will be a
defaulting property which defaults to None.
|
| |
|
|\ |
|
| | |
|