Estoy buscando una biblioteca de Python que pueda hacer la manipulación básica de los repositorios, pero es independiente del sistema de control de versiones de back-end.Python envoltorio para acceder a repositorios Hg, Git y posiblemente Bazar?
Por manipulación básica, me refiero a: inicializar un repositorio, agregar archivos, confirmar, extraer, pulsar, obtener el número de revisión actual.
Los usuarios de la biblioteca podrían hacer algo esto:
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)
Cualquier punteros a algo parecido a lo anterior? Mis búsquedas de Google aparecen nada ...
actualización: para lo que vale la pena, he comenzado a trabajar en algo como esto: code is here con unit tests para repositorios de Hg. Podría llegar a Git y Bazaar; contribuciones bienvenidas.
¿Cuál es el caso de uso para esto? Suponiendo que tengo bibliotecas de Python para acceder a SVN, Mercurial y Bazaar (que hago), ¿qué hace esta biblioteca por mí? La secuencia de comandos anterior no parece realmente algo que vas a reutilizar. – stderr
Tiene sentido para mí para la instalación basada en la tela de una variedad de sub-repos, que pueden ser diferentes dvcs. Actualmente convierto todo a hg, pero un contenedor genérico sería útil. –
@Mike: el caso de uso es el código de Django que acciona un sitio web de fragmento de código. Los usuarios de la web revisan los fragmentos y los almacenan en un VCS para rastrear el historial. Los operadores de sitios web que usan este código pueden preferir un DVCS sobre otro. Otro caso de uso que tuve el año pasado fue el software para la administración de documentos (escribir libros en ReStructuredText). Algunos autores prefieren Git over Hg over Bazaar, etc. Prefiero escribir el código una vez, y pueden elegir su DVCS en la configuración del software. –