2009-05-13 17 views

risposta

12

Non dimenticate che ClearCase (centrale VCS) e Mercurial (Distributed VCS) sono molto diversi.
Vedere Core ClearCase concepts per un elenco completo.

Nel caso di una migrazione, questo significa che avete a che fare con un repository-centric VCS (Mercurial), che implica "lavorare con le linee temporali" (una linea temporale essendo un commit, la costruzione di un nuovo changeset)
In ClearCase tuttavia, non esiste una cronologia globale, poiché ogni file è impegnato individualmente (VCS incentrato sui file).

Quindi, per una migrazione, è necessario impostare una vista dinamica ClearCase con una specifica di configurazione che verrà modificata per elencare tutte le "timeline ClearCase" pertinenti (etichette per visualizzazioni non UCM o anche migliori: linee di base per viste UCM) e importazione quello stato fisso in Mercurial.
E ripetere la procedura fino all'ultima etichetta/linea di base.

L'idea è: spesso non c'è bisogno di importare i tutte storia di tutte i file durante la migrazione da ClearCase ad un altro (D) VCS. Solo le modifiche "significative" devono essere registrate.
Non consiglio l'articolo "Conversion of ClearCase repo to Mercurial", in particolare per i repository ClearCase di grandi e vecchi.

Vedi anche SVN migration for other considerations.

+0

Perché non la raccomandazione di "Conversione di repository ClearCase su Mercurial"? Perché occuperà troppo spazio e tempo per farlo? Ho bisogno di quella importazione completa. Almeno per averlo sotto un sistema di repository gratuito come git. Quindi, una volta archiviati, forse potremmo iniziare con un nuovo repository git con la cronologia completa non disponibile e solo lì per scopi di riferimento? – Dolanor

+0

@Dolanor ClearCase esporta scarsamente in un sistema basato su revisione perché è incentrato sui file: ciò significa che ciascuna versione viene creata indipendentemente per ogni file (al contrario di una singola revisione su un commit per il repository * full *). Quindi, è più difficile estrarre lo stato successivo del repository ClearCase per esportarlo in un VCS basato su revisione (SVN, Hg, Git, ...). Di solito mantengo il repository ClearCase in modalità di sola lettura per l'archiviazione e importa solo gli ultimi tag o linee di base. Molto più veloce in quel modo. – VonC

+0

È vero, ma mantenere un archivio di clearcase rende necessaria una licenza ClearCase se si desidera visualizzarla. Avere sotto il controllo di un codice sorgente gratuito significa archiviare gratuitamente. Ma più lavoro per farlo. Ho già provato gli [strumenti git-cc] (https://github.com/charleso/git-cc) ma ho problemi con esso. Cercherò di ripararlo o creare un altro strumento per le mie esigenze – Dolanor