Python для доступа к хранилищам Hg, Git и, возможно, базаров?

Я ищу библиотеку Python, которая может выполнять базовые манипуляции с репозиториями, но не зависит от системы управления версиями бэкэнд.

Базовыми манипуляциями я имею в виду: инициализировать репо, добавлять файлы, фиксировать, тянуть, нажимать, получать текущий номер версии.

Пользователи библиотеки могли бы что-то сделать:

import dvcs_wrapper as dvcs dvcs.set_backend('hg') # could choose 'git', 'bzr' repo = dvcs.init('/home/me/my_repo') repo.add('/home/me/my_repo/*.py') repo.commit('Initial commit') repo.push('http://bitbucket.org/....') print('At revision %d' % repo.revision_num) 

Любые указатели на что-то вроде выше? Мои поисковые запросы Google ничего не показывают …

Обновление : для чего это стоит, я начал работать над чем-то вроде этого: код здесь с модульными тестами для репозиториев Hg. Я мог бы добраться до Гит и Базара; взносы приветствуются.

    Я думаю, тебе не повезло.

    Есть пакеты Python для git, но в соответствии с этим качество по-прежнему меньше оптимального. Hg и bzr – проекты Python, но их инфраструктура совсем другая, поэтому интеграция уровня API не так просто. Кроме того, у разных СКМ разные концепции дизайна, что делает унифицированную оболочку менее правдоподобной.

    При этом, если вам нужна простая оболочка, вы можете использовать модуль subprocess и обернуть командные строки, чтобы получить нужный результат.

    Также есть модуль VCS , который рекламирует:

    vcs – это уровень абстракции над различными системами управления версиями. Он разработан как многофункциональная библиотека Python с чистым API.