2011-01-21 11 views
9

Ora che tanti piccoli progetti open source vengono "spediti" attraverso i loro sistemi di controllo delle versioni, ho dozzine di repository di cui ho bisogno su base frequente, spesso su più macchine. Sto cercando un modo per gestirlo facilmente. Se dovessi progettarlo da solo, avrei un file che elenca tutti i repository remoti e un client da riga di comando che li ha estratti automaticamente.Esiste un'astrazione del controllo di versione per la riga di comando?

Questo o qualche variazione sul tema esiste?

+1

Ho difficoltà a vedere per cosa desideri questo. Se si esegue il checkout/clonazione di un repository, è possibile aggiornare senza fornire nuovamente l'URL del repository. – Karmastan

+0

Ho dozzine di repository come questo, e ho bisogno di controllarli su un certo numero di macchine. –

+1

@ Karmastan: Anche io soffro di questo problema, mi serve un progetto ospitato su un server Svn, uno su git, il mio codice è su Hg. Ho bisogno di sapere quale progetto sono per ottenere una versione più recente, o commettere. L'OP vuole sapere che qualcuno ha sviluppato un wrapper "One Size Fits All" che * sa * qual è il repository e applica il comando requisit? per esempio. 'OSFA_Update' * sa * il progetto è svn ed esegue' svn up'. –

risposta

5

mr è progettato per consentire di aggiornare più repository come uno, e supporta una vasta gamma di sistemi di controllo di versione:

L'MR (1) comando può checkout, aggiornamento, o eseguire altre azioni su un insieme di repository come se fossero un repository combinato. Supporta qualsiasi combinazione di subversion, git, cvs, mercurial, bzr, darcs, cvs e repository di fossili e supporto per altri sistemi di controllo di revisione possono essere facilmente aggiunti. (Ci sono estensioni che aggiungono il supporto per unison e git-svn.)

+0

Eccellente! Un altro strumento "universale" (non ne ero a conoscenza). +1 – VonC

+0

Esattamente quello che stavo cercando! –

3

L'unico progetto che conosco, che mira a fornire un'interfaccia comune (chiamato 'command') per tutti i principali software VCS è Amp.
Ma è ancora un lavoro in corso e potrebbe non essere abbastanza completo per il tuo obiettivo.

Problemi correlati