aboutsummaryrefslogtreecommitdiffstats
path: root/libbe
Commit message (Collapse)AuthorAgeFilesLines
* Updated Git backend to support .children(revision).W. Trevor King2009-12-283-4/+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-281-0/+4
|
* 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-275-77/+174
| | | | | | | | | | | | | 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
|
* Transitioned severity to Command-format, also added Command._get_*()W. Trevor King2009-12-1417-194/+208
| | | | | | | | | | | | | | The old .requires_* thing was rediculous. The new ._get_*() callbacks allow the caller to provide a means for getting the expensive structures, which the command can use, or not, as required. This will also make it easier to implement the completion callbacks. The callbacks should probably have matching .set_*() methods, to avoid the current cache tweaking cmd._storage = ... etc. But that can wait for now...
* Transitioned remove to Command-formatW. Trevor King2009-12-142-42/+53
|
* Transitioned new to Command-formatW. Trevor King2009-12-142-49/+59
|
* Transitioned html to Command-formatW. Trevor King2009-12-143-119/+148
|
* Transitioned help to Command-formatW. Trevor King2009-12-144-43/+57
|
* Transitioned merge to Command-formatW. Trevor King2009-12-146-82/+107
|
* Transitioned import_xml to Command-formatW. Trevor King2009-12-144-185/+205
|
* Removed email_bugs, to be replaced by assorted storage backends.W. Trevor King2009-12-141-239/+0
|
* Transitioned due to Command formatW. Trevor King2009-12-142-50/+53
|
* Transitioned depend to Command formatW. Trevor King2009-12-144-128/+165
|
* Transitioned comment to Command formatW. Trevor King2009-12-1414-255/+350
|
* Transitioned init to Command formatW. Trevor King2009-12-148-90/+110
|
* Added parse_user() calls to AssignW. Trevor King2009-12-143-31/+48
|
* Removed `be open` and `be close`. Alias `be status` instead.W. Trevor King2009-12-142-124/+0
| | | | | | | | | | For example, in Bash alias be-open='be status open' If you need to set options, this won't work, but command completion with misc/completion/be.bash should make typing out be status open not too painful ;).
* Transitioned assign to Command formatW. Trevor King2009-12-146-96/+132
|
* The VCS storage backends are all mostly working now.W. Trevor King2009-12-132-3/+1
| | | | | | | | | | | | | Running python test.py libbe.storage.vcs yields some EmptyCommit problems, an issue with bzr revision ids, and some trouble with git's remove(), but nothing too critical. On the bright side, now ./be list Detects and uses the bzr backend :). Onwards to moving over the remaining commands...
* Moved Arch over to Storage formatW. Trevor King2009-12-132-83/+135
|
* Move Darcs over to Storage format.W. Trevor King2009-12-132-74/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to work around the same issue as mercurial (hg) issue 618. I can't find a Darcs bug report for this, but it's been fixed somewhere between 1.0.9 and 2.3.1. Example scripts demonstrating the bug: $ darcs=/usr/bin/darcs $ mkdir x; cd x; $darcs init; echo a > b; $darcs add b; \ $darcs record --all --author 'x <a@b.com>' --logfile b; \ echo z>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \ echo g>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \ cd ..; rm -rf x > /dev/null; $darcs --version Finished recording patch 'a' No changes! No changes! 1.0.9 (release) And showing it's been fixed: $ darcs=~/.cabal/bin/darcs $ mkdir x; cd x; $darcs init; echo a > b; $darcs add b; \ $darcs record --all --author 'x <a@b.com>' --logfile b; \ echo z>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \ echo g>b; $darcs record --all --author 'x <a@b.com>' --logfile b; \ cd ..; rm -rf x > /dev/null; $darcs --version Finished recording patch 'a' Finished recording patch 'z' Finished recording patch 'g' 2.3.1 (release)
* Check for repo existence before initializing VCSW. Trevor King2009-12-131-2/+4
|
* Adjust Bzr._vcs_revision_id for 1-indexed revision ids.W. Trevor King2009-12-131-1/+1
|
* Adjust Hg._vcs_revision_id for 1-indexed revision ids.W. Trevor King2009-12-131-0/+2
|
* Don't require new revisions on empty commits.W. Trevor King2009-12-131-4/+7
| | | | | | | | | | | | | | | | | | | For example, hg can't: $ mkdir x; cd x; x$ hg init; x$ echo a> b; hg add b; x$ hg commit -m 'r1'; x$ hg commit -m 'r2'; nothing changed x$ hg log; changeset: 0:e30558c36fca tag: tip user: W. Trevor King <wking@drexel.edu> date: Sun Dec 13 19:48:47 2009 -0500 summary: hi x$ cd ..; rm -rf x We shouldn't need this functionality anyway ;).
* Work around mercurial (hg) issue 618.W. Trevor King2009-12-131-1/+13
|
* Don't regexp out the short-revid in Git._vcs_commit()W. Trevor King2009-12-131-8/+2
| | | | | | | | | | | The output version strings change: Version 1.5.4.3: Created initial commit 217efa7: MESSAGE Created commit acb3066: MESSAGE Version 1.6.4.4: [master (root-commit) c5b48cf] MESSAGE [master 66a48c1] MESSAGE Instead, get the full revid, and look for its beginning in the output.
* Fix Git._vcs_revision_id() offset bug.W. Trevor King2009-12-133-6/+13
|
* Handle non-int args to VCS.revision_id at the VCS level.W. Trevor King2009-12-132-4/+5
|
* Adjust Hg._vcs_revision_id to bail cleanly on non-int revidsW. Trevor King2009-12-132-0/+5
|