1. hg-git, both libraries were started by githubbers to get the market of people-who-want-to-use-hg on github
2. interfacing with git repos from python, doing so through subprocess is less than enjoyable (and libgit2 basically didn't exist at the time) (and requires C code, which may be a chore e.g. on windows)
I wanted to speed up hg-git, since it's really slow for moderately-sized git repos. The slowness seems to be all in Dulwich. Isn't it more desirable then to have Python bindings to libgit?
I think there's a bunch of speeding-up hg-git work floating around, notably around Mozilla work. Some of that has been mentioned in the hg-git mailing list.
Its main usage is hg-git, which is a hg plugin that lets you use hg to interact with git repos. It would be very inconvenient to do the same thing by starting a git subprocess all the time.
- Python WSGI "Smart HTTP" server
- Limited remote object proxying
- Stream blob data from remote repositories
- Hierarchical repos with top-down inheritance
- Check out individual blobs
- Python and HTTP+JSON read/write API
- Supports a centralized workflow
- Command line, Python and web UIs
- Git not required
Note that Dulwich is old. Some old discussion: https://news.ycombinator.com/item?id=2834183