2011-01-21 11 views
9

Ahora que tantos pequeños proyectos de código abierto se "envían" a través de sus sistemas de control de versiones, tengo docenas de repositorios que necesito con frecuencia, a menudo en varias máquinas. Estoy buscando algún tipo de forma de administrar esto fácilmente. Si tuviera que diseñarlo yo mismo, tendría un archivo que enumerara todos los repositorios remotos, y un cliente de línea de comandos que extrajera automáticamente de ellos.¿Hay una abstracción del sistema de control de versiones para la línea de comandos?

¿Existe esto o alguna variación en el tema?

+1

Me está costando mucho tiempo ver lo que quiere. Si presiona/clona un repositorio, puede actualizar sin reabastecer la URL del repositorio. – Karmastan

+0

Tengo docenas de repositorios como este, y necesito verificarlos en varias máquinas. –

+1

@Karmastan: También sufro de este problema, necesitaré un proyecto alojado en un servidor Svn, uno en git, mi propio código está en Hg. Necesito saber en qué proyecto estoy para obtener la última versión o comprometerme. El OP quiere saber si alguien ha desarrollado un contenedor de "Un tamaño se adapta a todos" que * sabe * qué es el repositorio y aplica el comando requerido. p.ej. 'OSFA_Update' * sabe * que el proyecto es svn y ejecuta' svn up'. –

Respuesta

5

mr está diseñado para que pueda actualizar varios repositorios como una sola, y es compatible con una amplia gama de sistemas de control de versiones:

La mr (1) de comandos puede comprobación, actualizar o realizar otras acciones en una conjunto de repositorios como si fueran un repositorio combinado. Es compatible con cualquier combinación de subversion, git, cvs, mercurial, bzr, darcs, cvs y depósitos de fósiles, y soporte para otros sistemas de control de revisión se pueden agregar fácilmente. (Hay extensiones que agregan soporte para unison y git-svn.)

+0

¡Excelente! Otra herramienta "universal" (no estaba al tanto). +1 – VonC

+0

¡Exactamente lo que estaba buscando! –

3

El único proyecto que sé que aspira a proporcionar una interfaz común (llamado 'command') para todos los principales VCS es Amp.
Pero todavía es un trabajo en progreso y podría no ser lo suficientemente completo para su objetivo.

Cuestiones relacionadas