| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
| |
Now change_hook properties handle defaults, which allows them to avoid
an initial
None -> default
save hook trigger.
Removed the now-redundant read-only mode business in
becommands/diff.py.
|
|
|
|
|
|
|
|
| |
Otherwise comment comparison reads were triggering notice of the
None -> EMPTY
transition in comment.extra_strings, which was causing a write to
disk. This trigger is probably occuring in Bug and BugDir too.
Perhaps I should just remove the trigger...
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is the default behaviour of most of the VCSs own diff commands.
|
|\
| |
| |
| | |
Also pulls "show referenced text" fix to "be comment".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| |
| |
| |
| |
| | |
Other highlights:
* be show --no-comments
* Improved *.sync_with_disk.
* Improved be-mbox-to-xml.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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...
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reminder from my initial libbe/encoding.py commit:
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).
I'm also trying to catch stdout/stderr from be-handle-mail, and I ran
into the same problem. It took me a bit to remember exactly what
"test" was supposed to do, so I thought I'd make the argument name
more specific. If you need other changes when running in "test" mode,
you'll have to add other kwargs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
| |
|
|
|
|
|
|
|
|
| |
All the other commands currently use default_complete(), which has no
effect other than catching the --complete option and effectively
aborting execution.
This closes 8e1bbda4-35b6-4579-849d-117b1596ee99
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
The situation really calls for a global encoding setting rather than
lots of hardcoded "utf-8"s. See bug
f7ccd916-b5c7-4890-a2e3-8c8ace17ae3a
|
|
|
|
| |
I tried to stick to CAPS for argument placeholders.
|
|
|
|
| |
Also added blank lines to separate the new/modified/removed groups.
|
|
|
|
| |
Fixes bug b3c6da51-3a30-42c9-8c75-587c7a1705c5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I pushed a lot of the little helper functions into the main classes,
which makes it easier for me to keep track of what's going on. I'm
now at the point where I can run through `python test.py` with each of
the backends (by changing the search order in rcs.py
_get_matching_rcs) without any unexpected errors for each backend
(except Arch). I can also run `test_usage.sh` without non-Arch errors
either.
However, don't consider this a stable commit yet. The bzr backend is
*really*slow*, and the other's aren't blazingly fast either. I think
I'm rewriting the entire database every time I save it :p. Still, it
passes the checks. and I don't like it when zounds of changes build up.
|
|
|
|
|
|
|
|
|
|
|
| |
Using the __desc__ reduces documentation duplication. It's also better
than using __doc__, because __doc__ could (should?) be more than one-line
long, and we just want a short description to jog our memories in the
complete command list.
Also moved unique_name from cmdutil.py to names.py to avoid the
bug->cmdutil->bugdir->bug
cyclic include.
|
| |
|
|
|