aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/storage/vcs/git.py
Commit message (Collapse)AuthorAgeFilesLines
* Used PyCharms inspectors.Matěj Cepl2024-03-301-3/+3
|
* 2to3 conversion of the repo.Matěj Cepl2024-01-181-3/+3
|
* Minor clean up of Git back endMatthew Fernandez2017-10-301-15/+1
|
* storage:vcs:git: don't accept pygit2 version 0.17.3.W. Trevor King2012-10-271-2/+2
| | | | | | | | | | | | | | | | My Repository.revparse_single() series was merged into pygit2 with: Merge: 3e9daa4 0238fb7 Author: J. David Ibáñez <jdavid.ibp@gmail.com> Date: Tue Sep 25 15:10:55 2012 +0200 Merge remote-tracking branch 'wking/revparse' But this happened after the 0.17.3 release. The next pygit2 release should contain the .revparse_single() code. The getattr() hackery works because versions of pygit2 before 0.17.3 lacked a __version__ attribute.
* doc: update :class: to :py:class: for modern Sphinx.W. Trevor King2012-10-261-1/+1
|
* Ran update-copyright.py.W. Trevor King2012-10-161-1/+1
|
* storage:vcs:git: check for existence of pygit2.__version__.W. Trevor King2012-09-171-0/+5
| | | | | | | | | | Now that my pull request has been accepted, we can be fairly confident that future releases of pygit2 will expose this attribute. The accepted patch was a bit different from the original submission: Add 'pygit2.__version__' for easy access from client software. https://github.com/libgit2/pygit2/pull/128 commit f10d2b7b3f0c67d81b175326035e4813420156bd
* storage:vcs:git: move Git to ExecGit and add PygitGit using pygit2.W. Trevor King2012-09-131-11/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If `pygit2` is installed, use it (via PygitGit) rather than calling the stand-alone `git` executable for all the Git (via ExecGit) for all the Git storage stuff. This saves one serializing/deserializing and process setup/teardown. I timed each test suite by commenting out one of the `make_vcs_testcase_subclasses()` calls at the end of `git.py` and running $ time python test.py libbe.storage.vcs.git The ExecGit tests ran in 13.7s and the PygitGit tests ran in 3.6s for a 3.8x speedup. I had to stretch pygit2 a bit to get a clean fit, so if you want to test this, you'll need to build pygit2 with the following merge requests: Add 'pygit2.__version__' for easy access from client software. https://github.com/libgit2/pygit2/pull/128 commit 0238fb72dfdf2a2308f2da347717cbaafddc4b83 signature: Add keyword argument parsing to Signature(). https://github.com/libgit2/pygit2/pull/129 commit c934858b629f40221406f34166dd77e881b9d5fd repository: add Repository.revparse_single() https://github.com/libgit2/pygit2/pull/131 commit 3afdc8b2f59ed137531671fedde36f3a39cbcc9d
* Ran update-copyright.py.W. Trevor King2012-02-161-10/+10
|
* Run update_copyright.py.W. Trevor King2011-05-251-0/+1
|
* Remove form feeds (for compatibility with 2to3).W. Trevor King2011-05-121-1/+1
|
* Add libbe.ui.util.user.get_fallback_fullname() and use pwd when possible.W. Trevor King2011-04-141-1/+1
| | | | This patch is based on Julien Muchembled's pwd suggestions.
* Local imports and better missing-client detection in client-based VCS classes.W. Trevor King2011-02-221-6/+9
|
* Merge commit 'refs/merge-requests/3' of git://gitorious.org/be/beChris Ball2011-01-081-1/+1
|\
| * Refrain from committing outstanding changes.Robert Lehmann2010-11-211-1/+1
| | | | | | | | This makes be-commit act more like git-commit.
* | Bumped to version 1.0.01.0.0Chris Ball2011-01-081-1/+1
|/
* Ran update_copyright.pyW. Trevor King2010-06-221-11/+12
|
* Fixed docstrings so only Sphinx errors are "autosummary" and "missing attribute"W. Trevor King2010-02-071-51/+57
|
* Implement Arch._vcs_path()W. Trevor King2010-01-271-1/+0
| | | | | | | | | | | | | | | Fixes VersionedStorage_commit_TestCase.test_get_previous_children. Should have fixed VersionedStorage_commit_TestCase.test_get_previous_version too, but 'tla file-find' is buggy: https://bugs.launchpad.net/ubuntu/+source/tla/+bug/513472 Also: * sort children in test_get_previous_children, since we shouldn't require a particular child order * unescape filenames in Arch._diff() * remove debugging prints from Arch._parse_diff() * remove silly blank line in git.py I'd stumbled across ;).
* Make VCS error messages and Storage test failures more descriptiveW. Trevor King2010-01-271-1/+1
|
* Add .changed() support to GitW. Trevor King2010-01-181-0/+81
|
* Updated copyright informationW. Trevor King2010-01-011-1/+1
|
* Adjust Git._vcs_isdir() to Python-2.5-compatible syntaxW. Trevor King2009-12-291-1/+2
|
* Updated Git backend to support .children(revision).W. Trevor King2009-12-281-0/+20
| | | | | | | + 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 libbe.command.diff + ugly BugDir.duplicate_bugdir implementationW. Trevor King2009-12-151-2/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* Move Darcs over to Storage format.W. Trevor King2009-12-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* 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-131-2/+8
|
* .bzr transition.W. Trevor King2009-12-131-1/+6
|
* More fixes for libbe.storage.vcs.hg + .git transition.W. Trevor King2009-12-131-57/+63
|
* Initial directory restructuring to clarify dependenciesW. Trevor King2009-12-071-0/+151