| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids the following error:
======================================================================
ERROR: Should get file contents as committed to specified revision.
----------------------------------------------------------------------
Traceback (most recent call last):
File ".../libbe/vcs.py", line 860, in test_revision_file_contents_as_committed
full_path, revision)
File ".../libbe/vcs.py", line 339, in get_file_contents
contents = self._vcs_get_file_contents(relpath,revision,binary=binary)
File ".../libbe/darcs.py", line 122, in _vcs_get_file_contents
status,output,error = self._u_invoke(args, stdin=major_patch)
File ".../libbe/vcs.py", line 488, in _u_invoke
raise CommandError(args, status, stdout, stderr)
CommandError: Command failed (2):
patch: **** Only garbage was found in the patch input.
while executing
['patch', '--reverse', 'a/text']
After adding the unicode_output=False lines, I adjusted the
VCS._u_invoke_client() definition to pass all it's kwargs
automatically through to VCS._u_invoke(). To make this simpler and
more consistent, I renamed the "directory" option to "cwd", and
adjusted *._u_invoke() calls appropriately in several VCS backends.
|
|
|
|
|
|
|
| |
The version string is useful information to have around, while the
help string is probably not. For example, we use it in
darcs.Darcs._vcs_get_file_contents() to construct an incantation
appropriate to the version we're dealing with.
|
| |
|
|
|
|
| |
Also a few minor tweaks to the module imports.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This makes it easier to compare recent revisions without a human
around to give you revision numbers.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
I don't know much darcs, so I make no claims about the beauty of my
implementation. It seems to get the job done though, until a darcs
guru comes along.
I also tweaked the libbe.git.Git._rcs_get_user_id to handle the case
where user.name or user.email are not set.
I also added the option to pass a stdin string into the
libbe.rcs.RCS._u_invoke* functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main problem was the encoding/decoding that was happening to _all_
input/output. Now many I/O activities have a `binary' option to
disable any encoding/decoding. The `binary' flag is set whenever the
comment content-type is not a text/* type.
In order to print valid XML (and make life easy on xml/be-xml-to-mbox),
non text/* types are printed out as base64-encoded MIME messages, so
be list --xml | be-xml-to-mbox | catmutt
works as you'd expect.
With the standard (non-XML) output from `be show', we just print a
message telling the user that we can't reasonably display the MIME
type and that they should use the XML output if they want to see it.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This involved an `upgrade' of BE's bzr repo
Previous version (via `bzr info path/to/repo`): pack-0.92
Current version: rich-root-pack
The whole rich-root thing is a bzr features-vs-backwards-compatability
thing they've been wrestling with [1,2,3,4,...]. It seems that BE was
in some sort of unstable equilibrium [5], so I'll follow Ben's lead
and make the official switch. Note that you'll need to use bzr>=1.5
to make the shift [6]. For the sake of completeness, the whole
rich-root thing was introduced here [7], but I don't understand enough
of bzr to make sense of the diff. It just versions the repo's root
directory the same way it versions other directories [3]. The bzr
people seem to be planning to phase out non-rich-root formats in favor
of brisbane-core, aka 2.0beta [8], by bzr 2.0 [8], which is apparently
on the horizon [9,10,11]. What a headache.
Citations are all titles/X-List-Received-Date from
https://lists.ubuntu.com/archives/bazaar/
with the exception of the URL [11].
[1] [RFC] rich root pack as default in 1.8 ?
Sat, 06 Sep 2008 03:33:46 -0000
(conclusion: none)
[2] Re: 1.9rc1 countdown
Thu, 30 Oct 2008 08:44:53 -0000
(conclusion: "primary" format should be rich-root next time we make a new format)
[3] So many repo formats
Fri, 14 Nov 2008 08:41:33 -0000
Mon, 17 Nov 2008 07:37:47 -0000 (explains rich-root format)
Mon, 17 Nov 2008 22:37:39 -0000 (explains no-return policy)
Mon, 17 Nov 2008 20:57:08 -0000 (explicitly lists non-svn reasons for rich-root)
[4] Branch fails from 'pack-0.92' repo to 'rich-root-pack' repo.
Wed, 27 Aug 2008 11:31:11 -0000
(we're not sure again)
[5] Branch fails from 'pack-0.92' repo to 'rich-root-pack' repo.
Sun, 20 Apr 2008 12:58:09 -0000
[6] Branch fails from 'pack-0.92' repo to 'rich-root-pack' repo.
Fri, 29 Aug 2008 13:23:52 -0000
[7] [RFC] Knit format 2
Fri, 25 Aug 2006 22:55:36 -0000
[8] bazaar 2.0beta format for launchpad release
Fri, 29 May 2009 06:00:03 -0000
[9] Upgrading loggerhead to 1.9-rich-root
Mon, 11 May 2009 22:35:28 -0000
(mentions eventual switch to rich-root in 2.0)
[10] bzr 1.16rc1 released!
Fri, 12 Jun 2009 08:00:08 -0000
(confirms eventual switch to rich-root in 2.0)
[11] https://launchpad.net/bzr/+announcement/2733
(current outstanding releases: 1.17, 2.0)
|
| | |
|
|\ \ |
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Lots of changes and just one commit. This started with bug
dac91856-cb6a-4f69-8c03-38ff0b29aab2, when I noticed that new bugs
were not being added appropriately with the Git backend. I'd been
working with Git trouble before with bug
0cad2ac6-76ef-4a88-abdf-b2e02de76f5c, and decided things would be
better off if I just scrapped the current RCS architecture and went to
a more object oriented setup. So I did. It's not clear how to add
support for an RCS backend:
* Create a new module that
- defines an inheritor of rsc.RCS, overriding the _rcs_*() methods
- provide a new() function for instantizating the new class
- defines an inheritor of rcs.RCStestCase, overiding the Class attribute
- defines 'suite' a unittest.TestSuite testing the module
* Add your new module to the rest in rcs._get_matching_rcs()
* Add your new module to the rest in libbe/tests.py
Although I'm not sure libbe/tests.py is still usefull.
The new framework clears out a bunch of hackery that used to be
involved with supporting becommands/diff.py. There's still room for
progress though. While implementing the new verision, I moved the
testing framework over from doctest to a doctest/unittest combination.
Longer tests that don't demonstrate a function's usage should be moved
to unittests at the end of the module, since unittest has better
support for setup/teardown, etc.
The new framework also revealed some underimplented backends, most
notably arch. These backends have now been fixed.
I also tweaked the test_usage.sh script to run through all the backends
if it is called with no arguments.
The fix for the dac bug turned out to be an unflushed file write :p.
|
|
|
|
|
| |
Also added git mode to test_usage.sh.
I'll go through and add modes for the other RCSs...
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hubert Chathi's fix was confusing for me, so I made a simpler change.
Seems to work so far. The problem was that
os.path.dirname('filename')
returns an empty string ('') if there are no directories in the
filename. So when `git rev-parse --git-dir` returned '.git', os
returned ''. Later programs didn't recognize '' as a valid directory
and crashed. My fix returns '.' in this case, so we don't crash,
and avoid having to use full paths. I'm not sure why I don't want
to use full paths; they just give me bad vibes...
|
|
|