Obtenir le propriétaire / créateur de vue avec la bibliothèque CAL (Rational ClearCase Automation)
-
06-07-2019 - |
Question
Quelqu'un at-il déjà travaillé avec la CAL Rational / IBM et sait-il si, et comment rechercher le créateur / propriétaire d'une vue (nom d'utilisateur)? Les éléments, Vobs, etc. ont tous un propriétaire / créateur, mais pour une raison quelconque, les vues n'en ont pas?
La solution
Je n'ai que de petits scripts VB avec CAL, comme illustrés dans cette réponse à propos du libellé .
Après avoir vérifié cc_cal.chm (qui se trouve dans C: \ Program Files \ IBM, dans la dernière version 7.1.0.1 de ClearCase), j’ai trouvé leur interface ICCView
très incomplète, et toujours préférable de patcher la sortie d'un classique:
cleartool lsview -l -full -pro aTagViewName
Avec cette sortie, je suis sûr de trouver toutes les informations dont j'ai besoin.
Le seul autre "CAL pur" La façon d'obtenir des vues pour un nom d'utilisateur donné est pour les vues UCM, où vous pouvez demander le flux pour ceux-ci (mais cela ne répond pas directement à votre question)
Dim Streams As CCStreams
Dim Stream As CCStream
Set Streams = Project.DevelopmentStreams(Name)
For Each Stream In Streams
Dim Views As CCViews
Set Views = Stream.Views(Name)
Dim View As CCView
For Each View In Views
Str = Str & View.TagName & " in stream: " & _
Stream.Title & vbCrLf
Next
Next
Autres conseils
En gros, si vous pouvez trouver un moyen de le faire avec cleartool, la réponse est oui. S'il n'y a pas d'API interface / objet spécifique pour faire ce que vous voulez, créez simplement l'objet cleartool dans la CAL et insérez-y votre requête!
L'avantage d'utiliser CAL est que vous ne devez charger le fichier .dll qu'une seule fois et que vous n'avez pas à payer le prix de l'exécution d'un zillion de processus cleartool distincts si c'est ce que vous auriez sinon dû faire.
Cependant, la documentation de la CAL est nulle. Dans Visual Studio, vous pouvez ajouter CAL en tant que ressource en recherchant la DLL dans votre explorateur de ressources et en discutant via COM via n'importe quoi.
Si vous n'utilisez pas VB ou VB.NET (par exemple, C #), vous devrez faire un peu plus de transtypage que ce que vous voyez dans la documentation exemple.