Come faccio a eseguire un ricorsiva checkout con ClearCase?
-
09-06-2019 - |
Domanda
Ho voglia di controllare tutti i file in tutte le sottocartelle di una cartella specificata.
(Ed è doloroso farlo utilizzando la GUI, perché non c'è ricorsiva opzione di estrazione).
Soluzione
Attenzione:ClearCase è File-centrica, non repository centrico (come SVN o CVS).
Il che significa che è raramente una buona soluzione per il checkout tutti i file (che può essere abbastanza lungo, con ClearCase ;) )
Detto questo, la domanda è perfettamente legittimo, e vorrei sottolineare un altro modo:
aprire un cleartool
sessione nella 'cartella specificata":
c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*
fa il trucco troppo.Ma come aku risposta, non checkout tutto:file e directory...e non si può più non è necessario alla cassa directory!
cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""
sarebbe solo checkout file...
Ora il problema è per l'archiviazione di tutto ciò che è cambiato.È problematico, dato che spesso non tutto è cambiato, e CleaCase genererà un messaggio di errore quando cerchi di controllare in un file identici.Che significa hai bisogno di 2 comandi:
ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct
(con la 'ct
sta 'cleartool
':tipo 'doskey ct=cleartool $*
'su Windows per impostare l'alias)
Nota che ct ci -nc
check-in con il commento utilizzata per la fase di checkout.
Così è non checkin senza un commento (come il -nc
l'opzione -- o "no comment" - potrebbe far credere).
Altri suggerimenti
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""
Anche un articolo "ClearCase:I dieci migliori script"potrebbe essere utile