Jak wykonać rekurencyjny checkout za pomocą ClearCase?

Chcę sprawdzić wszystkie pliki we wszystkich podkatalogach podanego folderu.

(i jest to bolesne, aby to zrobić za pomocą GUI, ponieważ nie ma rekurencyjnej opcji checkout).

Author: jm., 2008-08-29

2 answers

Uwaga: ClearCase jest zorientowany na plik, a nie na repozytorium (jak SVN lub CVS).

Oznacza to, że rzadko jest dobrym rozwiązaniem, aby sprawdzić wszystkie pliki (i może być dość długi z ClearCase;))

To powiedziawszy, pytanie jest całkowicie uzasadnione i chciałbym zwrócić uwagę na inny sposób:

Otwórz sesję cleartool w 'określonym folderze':

c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*

Robi sztuczkę też. Ale jako odpowiedź aku, robi wszystko : pliki i katalogi... i możesz większość nie trzeba do kasy katalogów!

cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""

Będzie tylko kasować pliki...

Teraz problem polega na sprawdzeniu wszystkiego, co się zmieniło. Jest to problematyczne, ponieważ często nie wszystko uległo zmianie, a CleaCase uruchomi komunikat o błędzie podczas próby sprawdzenia identycznego pliku. Oznacza to, że będziesz potrzebował 2 poleceń:
ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct

(z "ct jako " cleartool": wpisz "doskey ct=cleartool $* " w systemie Windows, aby ustawić ten alias)

Uwaga to ct ci -nc będzie check-in z komentarzem używanym na etapie checkout.
Tak więc jest to , a nie checkin Bez komentarza (jak opcja -nc - lub "Bez komentarza" - może uwierzyć).

 23
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-15 10:36:57
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""

Również Artykuł "ClearCase: dziesięć najlepszych skryptów " może być pomocne

 8
Author: aku,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-28 23:07:32