Nella versione 8.0.1.5 di ClearCase Explorer manca una funzionalità fondamentale per iniziare a lavorare con questo sistema di Configuration Management: l’import recursivo di un’alberatura di progetto. Vediamo come rimediare!
Volutamente tralasciata dai tecnici IBM, l’importazione recessiva di una cartella è presente tramite linea di comando ed è chiaramente il punto di partenza di molti progetti, qualora si voglia portare su un nuovo VOB un progetto preesistente, magari finora versionato con un altro sistema di Configuration Management. L’idea che tutti abbiamo in mente è molto semplice, una volta preparata la cartella di progetto dalla quale partire per i successivi sviluppi, vogliamo in un’unica azione popolare il VOB ricopiando l’intera alberatura ed importando tutti i file in esso contenuti. Se alcuni file non dovranno essere messi sotto controllo di versione, semplicemente vanno eliminati dalla cartella di partenza.
Il comando in questione è “clearfsimport”, ampiamente documentato a questo link. Ho trovato strano il modo in cui le opzioni del comando vengono lette, anche solo un piccolo scambio nell’ordine delle opzioni e l’azione non viene più eseguita …. O peggio vengono valutati i campi in modo improprio.
Esecuzione comando “clearfsimport”
I punti importanti da tenere a mente sono due:
- Preparare fuori dalla vista sul PC locale la cartella con le directory ed i file da importare
- Spostarsi nel folder della vista, anche senza fare checkout della cartella nella quale inserire la nuova sottocartella, ed eseguire il comando clearfsimport, esempio:
C:\cc\gmula_testVOB\test_vob\test_import>clearfsimport -recurse -rmname -nsetevent -identical -comment “Project import by fsimport command” C:\tmp\folder_to_import .\target_folder
Nell’esempio il path “C:\tmp\folder_to_import” è la cartella locale da importare, precedentemente preparata.
L’ultimo parametro è la cartella di destinazione, relativa alla locazione attuale dentro la vista. Come risultato avremo nel VOB un filesystem contenente “target_folder\folder_to_import” e tutta l’alberatura corrispondente.
Se la cartella destinazione già esiste almeno in parte, togliere il parametro “-identical” in modo da importare solo i nuovi file e directory.
Conclusioni
Come appena mostrato la procedura è molto semplice, ma bisogna notare che il comando deve essere impartito da dentro la vista ClearCase, mentre la folder da importare deve essere fuori. Sono piccoli dettagli che possono però far perdere un sacco di tempo a chi, come il sottoscritto, non li aveva compresi dalla documentazione ufficiale.