aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/arch.py
Commit message (Collapse)AuthorAgeFilesLines
* Added libbe/encoding.py to wrap input/output/file access appropriately.W. Trevor King2008-11-251-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Added archive/project init code for `./test_usage.sh arch`.W. Trevor King2008-11-231-7/+0
| | | | Also some minor cleanups.
* Explicit rcs.cleanup() in bugdir test.W. Trevor King2008-11-221-13/+6
| | | | | | | | | | | | | Don't use del(rcs), because if there was an error, there is still a reference to rcs in the traceback, so it is never cleaned up. This can leave the external archive cluttering up your Arch install if you're using the Arch backend. See the __del__ documentation http://python.active-venture.com/ref/customization.html#l2h-175 for details. Also fixed some out-of-date method names in libbe.diff
* Created and fixed bug 496edad5-1484-413a-bc68-4b01274a65eb.W. Trevor King2008-11-221-5/+24
| | | | | | | | I figured out why Arch was complaining. For non-Arch users, file system access has been tweaked a bit see the BugDir doc string for details. Also, you should now set BugDir.rcs instead of .rcs_name. .rcs_name automatically tracks changes in .rcs (the reverse of the previous situation), so read from whichever you like.
* Another major rewrite. Now BugDir, Bug, and Comment are more distinct.W. Trevor King2008-11-211-10/+60
| | | | | | | | | | | | | | | 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.
* Major rewrite of RCS backends. RCS now represented as a class.W. Trevor King2008-11-181-166/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Replaced libbe.arch.invoke() with general rcs.invoke()W. Trevor King2008-11-141-14/+3
|
* * use python2.4/2.5 compatible import of ElementTreeW. Trevor King2008-11-131-1/+5
| | | | | * catch Popen() calls to missing VCS binaries * test.py should only test installed backends
* Ensure that Arch tests have a user id setAaron Bentley2007-07-161-0/+20
|
* Added compatibility functions for commit to arch, no_rcsAaron Bentley2006-02-031-0/+9
|
* Fixed subprocess invocation for bzrAaron Bentley2005-12-231-0/+1
|
* Various Windows-related bugfixesAaron Bentley2005-12-221-8/+11
|
* Distinguished between 'paranoid' and non-paranoid add-idAaron Bentley2005-05-191-8/+8
| | | | | The paranoid adds are only used for the .be root. Paranoia is a big time-suck on Arch trees, because they require a full inventory.
* Normalized paths before use in rel_filenameAaron Bentley2005-05-181-0/+2
|
* Ensured .be is source for Arch (closes 381)Aaron Bentley2005-05-181-1/+86
| | | | | | | Modified bug reports: 381: Ensure .be is source in Arch status: open -> closed
* Added appropriate copyright notices, GPLed.Aaron Bentley2005-05-161-0/+16
|
* Added preliminary tree-diffing supportAaron Bentley2005-04-141-6/+17
|
* Added RCS configuration.Aaron Bentley2005-03-191-0/+32
|
* Made arch_client configurableAaron Bentley2005-03-111-3/+14
|
* Added RCS integrationAaron Bentley2005-03-091-0/+15