Domanda

Ho una grande quantità di dati clearcase che devono essere migrati in modo forzato. Le revisioni coprono la parte migliore di un decennio e devo preservare quante più informazioni possibili su ramo e tag. Inoltre facciamo ampio uso di collegamenti simbolici, supportati in clearcase ma non in modo forzato. Quali consigli o strumenti puoi suggerire per facilitare questo?

È stato utile?

Soluzione

Il primo passo è decidere se è necessario migrare tutto o solo alcune versioni chiave. Se esegui la migrazione solo delle versioni importanti (versioni e pietre miliari principali), otterrai una cronologia molto più semplice in Perforce, senza perdere nulla di importante. Quindi ClearCase può essere conservato come un archivio storico nel caso sia mai necessario. (A meno che IBM non abbia cambiato le cose, le licenze ClearCase non scadono allo scadere della manutenzione, si perde il diritto a nuovi aggiornamenti, patch e accesso al supporto)

Tieni presente che Perforce non controlla le directory di controllo della versione e non mantiene un albero delle versioni completo per elemento - questo significa che un 1: 1 con risultati esatti sarà impossibile. Ricreare le istantanee importanti è un obiettivo molto più raggiungibile; mantenere tutto può essere impossibile, poiché Perforce non ha le funzionalità su cui ClearCase fa affidamento.

Per vedere cosa dice Perforce sulla mirazione, controlla http://perforce.com/perforce/ccaseconv.html Questo spiega le differenze chiave e copre alcuni approcci che puoi adottare.

Altri suggerimenti

Inizia facendo una ricerca su Google su " clearcase per eseguire la conversione " ; . Quindi leggi la Guida alla conversione da ClearCase a Perforce . Una volta che hai finito di piangere, dovrai decidere (1) quanti sforzi puoi permetterti e (2) cosa devi veramente catturare come parte della conversione. Non otterrai tutto, quindi potresti anche concentrarti solo su come ottenere i rami importanti.

Un'altra considerazione sarebbe quella di catturare lo stato corrente di ciascun ramo supportato come un'istantanea, importarlo in Perforce e quindi disattivare il vecchio server ClearCase, salvandolo in uno stato buono noto per quel giorno quando è necessario accedere qualcosa dai giorni profondi, bui, pre-Perforce ...

Le altre risposte sono obsolete. Ora puoi importare CC- > Perforce con molte opzioni preservando anche la cronologia. http: //www.perforce .com / sites / default / files / pdf / migration-pianificazione-guida-ClearCase-to-perforce.pdf

Quello che devi anche tenere a mente è il fatto che il tuo importatore potrebbe commettere leggermente in un'altra sequenza rispetto a quella del clearcase (forse stai attraversando dir, potresti essere storie di file, ecc.)

Quindi, a meno che tu non raccolga tutte le informazioni sulla versione in un (grande) database e poi le riordini, finirai con commit che non sono molto utili da esaminare (tranne ovviamente la cronologia dei singoli file). Man mano che (si spera) cambi la tua politica di commit per rendere effettive le modifiche atomiche, sarà visibile all'avvio dello sviluppo: i commit prima non hanno alcun senso sull'ambito del progetto.

Quindi dovresti davvero pensare di lasciare indietro la storia di Clearcase. Anche la creazione di tag / rami è un problema diverso, poiché hai bisogno dei tuoi vecchi configspec per i tuoi vecchi rami. Alla fine otterrai nomi di file errati nei vecchi tag (poiché perforce non supporta dir-vers.) Quindi utilizzerai clearcase per questo (ed è molto complicato ottenere il nome file corretto per ogni versione di un file!).

L'ultimo problema che incontrerai: tempo di esecuzione dell'importatore: se si dispone di VOB di grandi dimensioni (ad es. 10 anni, dimensioni di 50 GB), si aspetteranno giorni affinché l'importatore raccolga tutte le informazioni e le converta in un bel repository perforato brillante. Per tutto il giorno il tuo Devteam smetterà di funzionare.

Solo una breve nota sull'unica importazione che ho visto da ClearCase a Perforce.
Come indicato nella Guida alla conversione da ClearCase a Perforce :

  

Perforce supporta transazioni di cambiamento atomico; ClearCase no.

     

Si noti che le etichette vengono spesso utilizzate per indicare semplicemente un'istantanea in tempo per un particolare set di file facilmente specificabile; questo è intrinsecamente facile da fare in Perforce senza usare un'etichetta, a causa dell'uso da parte di Perforce di transazioni di cambiamento atomico e sintassi di denominazione dei file.
  Ad esempio, lo stato di tutti i file in // depot / projecta dalla modifica 42 può essere ottenuto con

p4 sync //depot/projecta/...@42

Ciò significa che il progetto ClearCase che è stato importato era un UCM one , poiché il concetto di base segue da vicino quello della revisione globale.
Sono stati importati solo i file con una linea di base, mentre le altre versioni sono state scartate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top