aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use fragment in base command completion + command io fixups.W. Trevor King2009-12-312-7/+16
|
* Updated NEWS and closed #bea/110#W. Trevor King2009-12-312-1/+13
|
* Brought be-handle-mail up to dateW. Trevor King2009-12-311-262/+229
|
* Added UserInterface and other improved abstractions for command handlingW. Trevor King2009-12-3124-249/+433
|
* Better import error messages in test.pyW. Trevor King2009-12-311-1/+5
|
* Track connection status to allow multiple Storage.disconnect() calls.W. Trevor King2009-12-312-5/+18
| | | | This makes cleaning up UIs easier: just call disconnect() :p.
* Removed libbe/ui/base.py. Basic UI definitions are in libbe/command/base.py.W. Trevor King2009-12-311-1/+0
|
* Emptied interfaces directoryW. Trevor King2009-12-2983-2128/+0
| | | | | Mostly throwing out a bunch of outdated GUIs. The email interface hasn't been moved over to the new 'Command' format yet...
* Correct for possible directory changes in mercurial.dispatch.dispatch()W. Trevor King2009-12-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | I ran across this when the hg unittests broke the vcs.base unittests: $ python test.py libbe.storage.vcs.base libbe.storage.vcs.hg ... OK $ python test.py libbe.storage.vcs.hg libbe.storage.vcs.base ... File ".../libbe/storage/vcs/base.py", line 914, in libbe.storage.vcs.base.VCSTestCase.Class._u_rel_path Failed example: vcs._u_rel_path("./a", ".") 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.storage.vcs.base.VCSTestCase.Class._u_rel_path[4]>", line 1, in <module> vcs._u_rel_path("./a", ".") File ".../libbe/storage/vcs/base.py", line 921, in _u_rel_path path = os.path.abspath(path) File "/usr/lib/python2.5/posixpath.py", line 403, in abspath path = join(os.getcwd(), path) OSError: [Errno 2] No such file or directory ... FAILED (failures=1)
* Disable mercurial.demandimport, since it breaks BzrW. Trevor King2009-12-291-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running python test.py libbe.storage.vcs.hg libbe.storage.vcs.bzr with the old setup produced lots of Traceback (most recent call last): File ".../libbe/storage/vcs/base.py", line 1010, in setUp self.s.init() File ".../libbe/storage/base.py", line 170, in init return self._init() File ".../libbe/storage/vcs/base.py", line 664, in _init self._vcs_init(self.repo) File ".../libbe/storage/vcs/bzr.py", line 88, in _vcs_init cmd.run(location=path) File ".../python2.5/site-packages/bzrlib/builtins.py", line 1685, in run format = bzrdir.format_registry.make_bzrdir('default') File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3452, in make_bzrdir return self.get(key)() File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3398, in helper bd.set_branch_format(_load(branch_format)) File ".../python2.5/site-packages/bzrlib/bzrdir.py", line 3385, in _load [factory_name]) File "/var/lib/python-support/python2.5/mercurial/demandimport.py", line 108, in _demandimport setattr(mod, x, _demandmod(x, mod.__dict__, locals)) File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 106, in __getattribute__ obj = _replace() File ".../python2.5/site-packages/bzrlib/lazy_import.py", line 88, in _replace extra=e) IllegalUseOfScopeReplacer: ScopeReplacer object 'branch' was used incorrectly: Object already cleaned up, did you assign it to another variable?: _factory
* Use ._vcs_is_versioned() in VCS._children()W. Trevor King2009-12-291-0/+3
| | | | Otherwise Arch will return '.arch-ids' in its list, etc.
* Fixed make_*_testcase_subclasses() to avoid duplication.W. Trevor King2009-12-292-14/+17
| | | | | | Also removed final check for 'parent' existence in Storage_add_remove_TestCase.test_remove_nonrooted() because some VCSs (e.g. Git) don't keep track of blank directories.
* We don't do much with Mercurial's ui, so _dispatch -> dispatchW. Trevor King2009-12-291-2/+1
|
* Don't chdir() in libbe/command/html.py doctests.W. Trevor King2009-12-291-10/+7
|
* Don't worry about whitespace in `be --help`W. Trevor King2009-12-291-1/+1
|
* Remove libbe.ui.util.cmdutilW. Trevor King2009-12-292-140/+4
| | | | All of its functionality has moved off into more focused modules.
* Propogate long_to_short_user() -> long_to_short_text() and inverseW. Trevor King2009-12-291-2/+2
| | | | I'd missed some calls when I made the changes.
* Restored post-colon spaces in doctestsW. Trevor King2009-12-293-15/+15
|
* Fixed up the completion helpers in libbe.command.utilW. Trevor King2009-12-295-106/+296
| | | | | | | | | | This entailed a fairly thorough cleanup of libbe.util.id. Remaining unimplemented completion helpers: * complete_assigned() * complete_extra_strings() Since these would require scanning all (active?) bugs to compile lists, and I was feeling lazy...
* Commented #bea/110/781# on why I'm not supporting Arch.child(revision)W. Trevor King2009-12-292-0/+25
|
* Updated Darcs backend towards supporting .children(revision).W. Trevor King2009-12-291-40/+114
| | | | | | | | | | | | | | | | | | | ._vcs_isdir() and ._vcs_listdir() will need to parse the output of darcs show files [options] --patch REVISION PATH but both the --patch option and the PATH argument are new, and I can't get a recent enough version of Darcs to compile on my system. Theoretically they will work, but they remain untested for now. I don't think it's worth rolling my own darcs show files --patch REVISION to support earlier versions of Darcs, since the only solution I can think of now would be to check out the given revision and use os.walk() or some such, and that would be really ugly... Also added .version_cmp() for easy version comparison. Reindented ._vcs_get_file_contents() to remove trailing elses since the if clauses all contain returns.
* Added an additional VCS._u_rel_path() unittest.W. Trevor King2009-12-291-2/+3
| | | | | Also re-enabled the unitsuite in libbe.storage.vcs.base, which I'd disabled while testing the VCS unittests.
* Added root directory handling to VCS._u_rel_path().W. Trevor King2009-12-291-3/+8
| | | | | Now it returns '.' when you ask for the relative path from root to itself. It used to raise AssertionError or InvalidPath.
* Adjust Git._vcs_isdir() to Python-2.5-compatible syntaxW. Trevor King2009-12-291-1/+2
|
* Updated Hg backend to support .children(revision).W. Trevor King2009-12-292-5/+37
|
* Hg storage now based off mercurial module, not 'hg' executible.W. Trevor King2009-12-292-22/+40
| | | | | | | | | | | | | | | | | | | | | | | | This should make repeated calls to Hg storage instances _much_ faster, since we avoid repeatedly loading and tearing down a python subprocess. For example, the testsuite runs ~6x faster on my box. Here's a run with the old Hg implementation: $ python test.py libbe.storage.vcs.hg ... ================================= ERROR: test_get_previous_children --------------------------------- Traceback (most recent call last): ... NotImplementedError --------------------------------- Ran 49 tests in 133.285s FAILED (errors=1) A run with the new implementation gives the same results, except for: Ran 49 tests in 22.328s
* Adapted BugDir.duplicate_bugdir() to use revision-dependend Storage.children()W. Trevor King2009-12-291-3/+9
|
* Updated Git backend to support .children(revision).W. Trevor King2009-12-284-292/+26
| | | | | | | + some minor fixes to vcs/base.py and vcs/bzr.py Also removed .be/id-cache, which should never have been versioned in the first place.
* Fixed VCS.children() and Bzr.children() for non-None revisions.W. Trevor King2009-12-283-12/+102
| | | | | | | | Now they both pass VersionedStorage_commit_TestCase.test_commit_revision_ids() The .children() implementation for previous revisions lacks the working directory's id<->path cache, so it's fairly slow...
* Added VersionedStorage_commit_TestCase.test_commit_revision_ids()W. Trevor King2009-12-281-0/+23
|
* Allow external use of Command.usage() and use CmdOptionParser.set_usage()W. Trevor King2009-12-283-4/+6
| | | | | | | | | | | | | This fixes $ python be diff -2 Usage: be [options] be: error: no such option: -2 and we now get the correct output $ python be diff -2 Usage: be diff [options] [REVISION] be: error: no such option: -2
* Restore comment stripping to libbe.ui.util.editor.editor_string()W. Trevor King2009-12-284-0/+317
|
* Bzr storage now based off bzrlib module, not 'bzr' executible.W. Trevor King2009-12-281-38/+76
| | | | | This should make repeated calls to Bzr storage instances _much_ faster, since we avoid repeatedly loading and tearing down a python subprocess.
* VersionedStorage_commit_TestCase now allows for versioned files created by ↵W. Trevor King2009-12-281-4/+17
| | | | self.s.init()
* libbe.storage.vcs.base.VCS._init() now creates the '.be/version' file.W. Trevor King2009-12-282-17/+34
| | | | | | And python test.py libbe.storage.vcs.base passes again.
* Add most comments with ignore_missing_references=True.W. Trevor King2009-12-282-2/+2
|
* Don't run pager for the 'comment' command.W. Trevor King2009-12-281-7/+11
| | | | It may need access to the tty for the spawned editor.
* Moved InvalidStorageVersion from libbe.command to libbe.storageW. Trevor King2009-12-277-21/+33
| | | | | | Also added ConnectionError pretty-print to ui.command_line, storage version checking to BugDir.duplicate_bugdir(), and optional revision argument to Storage.storage_version().
* Added storage.Storage.storage_version() and command.InvalidStorageVersion.W. Trevor King2009-12-277-27/+51
| | | | Now commands automatically check for storage version compatibility.
* Fixed libbe.storage.util.upgradeW. Trevor King2009-12-279-78/+264
| | | | | | | | | | | | | Note that it only upgrades on-disk versions, so you can't use a non-VCS storage backend whose version isn't your command's current storage version. See #bea/110/bd1# for reasoning. To see the on-disk storage version, look at .be/version To see your command's supported storage version, look at be --full-version I added test_upgrade.sh to exercise the upgrade mechanism on BE's own repository.
* Fixed libbe.command.diff + ugly BugDir.duplicate_bugdir implementationW. Trevor King2009-12-1536-221/+250
| | | | | | | | | | | | | | | | | | | | | 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.
* Fixed libbe.command.subscribeW. Trevor King2009-12-152-11/+12
|
* Fixed up libbe.diffW. Trevor King2009-12-152-87/+85
|
* Transition to Command-format complete.W. Trevor King2009-12-157-33/+31
| | | | | | | | 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.
* Transitioned set to Command-formatW. Trevor King2009-12-152-80/+87
|
* Transitioned target to Command-formatW. Trevor King2009-12-154-69/+100
|
* Transitioned tag to Command-formatW. Trevor King2009-12-154-94/+109
|
* Transitioned diff and subscribe to Command-format"W. Trevor King2009-12-153-229/+263
| | | | | | 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.
* Transitioned show to Command-formatW. Trevor King2009-12-152-73/+95
|
* Transitioned status to Command-formatW. Trevor King2009-12-143-86/+78
|