2009-07-28 19 views
1

Est-ce que quelqu'un utilise ClearCase Automation Library (CAL) avec succès pour récupérer des vues snapshot? Je peux obtenir toutes les vues dynamiques, mais aucune de mes vues instantanées n'apparaît dans 'Connection.get_Views (true, region);' commande ...Obtenir des vues ClearCase Snapshot via ClearCase Automation Library (CAL)?

Existe-t-il un moyen de les obtenir par programmation en tant qu'instances ICCView?

+0

réponse mis à jour, avec un script ccperl – VonC

Répondre

1

Que diriez-vous:

Dim CC As New ClearCase.Application 
CC.Views(true, myRegionName) 

Il devrait obtient la collection de vues dans la région déterminée, y compris ceux de l'instantané.
(Note: cela peut être semblable à ce que vous proposez dans votre question, mais avec une syntaxe de CAL plus précis)

Par exemple, je confirme le script ccperl suivant ne retourne instantané et vues dynamiques:

Type 'ccperl listViews.pl', à condition:

  • vous avez sauvegardé la ligne suivante dans un fichier nommé 'listViewws.pl'.
  • vous remplacez 'myRegionName' par votre région ClearCase actuelle
  • vous utilisez la même région que celle du script.

Script:

use Win32::OLE; 
$DEBUG = 1; 

print "Instantiating CAL CC\n" if $DEBUG; 
my $cal_cc = Win32::OLE->new('ClearCase.Application') 
or die "Could not create the ClearCase Application object\n"; 

$cclsview = $cal_cc->Views("False","myRegionName"); 
$Views_Entries = $cclsview->Count; 
print "nbViews $Views_Entries\n"; 
$Views_Index = 1; 
while ($Views_Index <= $Views_Entries) { 
    print "Processing View entry $CS_Index\n" if $DEBUG; 
    $View = $cclsview->Item($Views_Index); 
    $ViewName = $View->TagName; 
    $ViewIsSnapshot = $View->IsSnapShot; 
    print "View $ViewName $ViewIsSnapshot\n"; 
    $Views_Index++; 
} 
+0

Argh, il ne fait fonctionner correctement (pour récupérer des vues aussi bien dynamiques et instantanés) ... mais le problème est que je crée une vue avec le nom/tag 'abc_someview' et pour une raison quelconque la vue est nommée 'username_abc_someview' par la suite .. c'est pourquoi je n'ai pas pu le récupérer après la création avec le nom d'origine. Mais merci! –

+0

@ Jörg: peut-être parce que vous utilisez l'interface graphique ou un script personnalisé, et qu'il applique un nom de vue avec le nom d'utilisateur comme préfixe? Je préfère un bon vieux '' ct mkview-tag myViewTag -stg myViewStorage' '(plus d'autres options si c'est pour une vue snapshot): au moins, je suis sûr du nom;) – VonC

+0

@ Jörg B. VonC a raison .. Lorsque vous créez une vue à partir de l'interface graphique, cochez les "Options avancées", vous pourrez voir "username" en préfixe à "abc_someview" –