-
-
Notifications
You must be signed in to change notification settings - Fork 402
repository: add Repository.revparse_single() (includes/requires my test_repository merge request) #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This catches up with changes in libgit2: commit f335ecd6e126aa9dea28786522c0e6ce71596e91 Author: Russell Belfer <rb@github.com> Date: Thu Aug 30 14:24:16 2012 -0700
This catches up with changes in libgit2: commit 4bf5115642b64851f9a32a8157010b588bf44103 Author: Ben Straub <bstraub@github.com> Date: Mon Jul 30 14:52:46 2012 -0700 Enable stats on git_index_read_tree. Replace with the contents of git_index_read_tree_with_stats() and improve documentation comments.
This catches up with changes in libgit2: commit 9d7ac675d06dab2e000ad32f9248631af0191f85 Author: nulltoken <emeric.fermas@gmail.com> Date: Tue Aug 21 11:45:16 2012 +0200 tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
…_merge. In both cases, the file contents change from 'X contents\n' to 'X contents 2\n' (where 'X' is 'a' or 'b'). This means were removing one line and adding another. I'm not sure how this test was passing against libgit2 v0.17.0, so I may be missing something important.
`git_revparse_single` only dates back to commit ac250c56c7d7bb11691c9dfbcd0dbf580d85e177 Author: Ben Straub <bstraub@github.com> Date: Wed Apr 25 16:24:22 2012 -0700 First stab at implementation of rev-parse. which is not included in libgit2 0.17.0. We need to pull in these patches to work with the current `development` branch of libgit2, which does include the revparse code.
Generating an `Object *` from a `git_object *` may be useful in other functions (e.g. the upcoming `Repository_revparse_single`).
Get the correct HEAD_SHA for the upcoming revparse_single test.
This provides access to libgit2's 'git_revparse_single'.
It also requires libgit2 >= 0.17.0 for |
So, the Travis build failed because it's trying to build against libgit2's master branch, when it needs to be built against the development branch. Is there any chance for a development branch for pygit2 that is tested against the current libgit2 development libraries? I known nothing about Travis, so I'm not sure how feasible this is. |
I think about making a new release, the last one in the 0.17 series. Then move the pygit2's master branch to work with libgit2's development branch. |
Just did that, now there is only this PR left. |
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. libgit2/pygit2#128 commit 0238fb72dfdf2a2308f2da347717cbaafddc4b83 signature: Add keyword argument parsing to Signature(). libgit2/pygit2#129 commit c934858b629f40221406f34166dd77e881b9d5fd repository: add Repository.revparse_single() libgit2/pygit2#131 commit 3afdc8b2f59ed137531671fedde36f3a39cbcc9d
Expose libgit2's git_revparse_single.