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. Я мог бы добраться до Гит и Базара; взносы приветствуются.

2 Solutions collect form web for “Python для доступа к хранилищам Hg, Git и, возможно, базаров?”

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

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

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

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

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

  • Java Wrapper для Perl / кода Python
  • numpy.ndarray: преобразование в «обычный» класс
  • Найдите эффективный способ интеграции различных языковых библиотек в один проект с использованием Python в качестве «клея»,
  • Как написать оболочку над функциями и функциями-членами, которые выполняют некоторый код до и после завернутой функции?
  • каковы накладные расходы на передачу функций обратного вызова python для подпрограмм Fortran?
  • Вернуть структуру в Python из C ++ с помощью BOOST.python
  • Проблема с драйвером Mac Caffe CUDA
  •  
    Interesting Posts for Van-Lav

    Как использовать переменную в качестве индекса в шаблоне django?

    Как вычислить площадь многоугольника на земной поверхности с помощью python?

    Как скомпилировать все ресурсы в один исполняемый файл?

    Обновление не выполняется после повторения тупикового запроса в pymssql

    Python: pip установлен, но не работает в окнах

    Как получить исходное значение измененных полей?

    Поменяйте 2 значения 2 переменных без использования третьей переменной; питон

    Как указать имя схемы во время запуска «syncdb» в django?

    Как добавить параметры «-with-python», создав gvim / vim из исходного кода в Windows

    python: Как я могу проверить, что несколько ключей находятся в dict за один раз?

    Обозначение тепловой карты с текстом

    установка переменной окружения в virtualenv

    Как вернуться в цикл for после обработки исключений

    Сохранение и загрузка матрицы Numpy в python

    как поймать все неискушенные исключения и продолжить?

    Python - лучший язык программирования в мире.