
on Mon Feb 11 2013, Rene Rivera <grafikrobot-AT-gmail.com> wrote:
NOTE: Part of this discussion was within the release team. But it was suggested that it should also be generally public. Hence I'm raising some of the same issues from the private discussion.
On Mon, Feb 11, 2013 at 12:58 PM, Dave Abrahams <dave@boostpro.com> wrote:
on Mon Feb 11 2013, Rene Rivera <grafikrobot-AT-gmail.com> wrote:
On Mon, Feb 11, 2013 at 11:51 AM, Dave Abrahams <dave@boostpro.com> wrote:
on Sun Feb 10 2013, Rene Rivera <grafikrobot-AT-gmail.com> wrote:
On Sun, Feb 10, 2013 at 11:08 AM, Beman Dawes <bdawes@acm.org> wrote:
I ask because the testing will rely on dulwich git which does not talk at all with bitbucket (it seems the bitbucket git server works differently.. not that I blame it given the disfunction that is the git server protocol).
Oh, that's rather lame. Is there a reason you're not going to use libgit2 instead of dulwich?
Yes.. The python bindings for libgit2 are terribly/unusably incomplete.
Surely they're complete enough to allow you to clone and pull, no? What more do you need?
Why would one assume that?
Because anything less would kind of suck.
First there is no binding to "git_clone" < https://github.com/search?q=git_clone+repo%3Alibgit2%2Fpygit2&type=Repositories&ref=advsearch&l=>. So it's a nonstarter at step zero.
That kind of sucks.
Second there are no bindings for submodules/subrepos. Which might be an additional nonstarter if the git_clone didn't recurse clone/pull subrepos.
I was faced with either implementing some of the additional clone/pull/checkout/update code with dulwich or likely implement even more for libgit2.
libgit2 covers it (http://stackoverflow.com/a/8553826/125349); it's just not in the pygit2 bindings, I guess.
Hence I'm sticking with dulwich. Since at least that gives the advantage of being pure Python.
My initial problems where mostly because I was trying to do things that where not actually supported by the git client/server design.. Of course I didn't know that because the git design is essentially non-existent and anything that exists is ad-hoc and minimal.. AFAICT.
Did you ask the "git people" about how to do these things?
My latest problems don't have much to do with dulwich at this point.. More of not being able to do anything interesting (i.e. efficient) because of the limitation of the git server and system.
That's surprising to me since I've always found git to be quite speedy.
Yes, sad to say I've had to learn way more than I really wanted about git.
This also surprises me. What, exactly, are you trying to do that is so exotic?
And it has only confirmed my educated suspicions about it. But I'll get something working eventually. Just will not be soon.
Sadly-and-somewhat-frustratedly.. Rene.
Sorry this has been frustrating/saddening. -- Dave Abrahams