Question

Dans ClearCase, vous pouvez répertorier le contenu d'un répertoire à l'aide de "cleartool ls".

Ma question est de savoir comment puis-je faire la même chose avec CAL (ClearCase Automation Layer). Si je préfère l'API COM, c'est parce que je n'ai pas à analyser la sortie de "ls".

Jusqu'à présent, je suis parvenu à obtenir le VOB et la vue, mais je n'ai trouvé aucune méthode pour répertorier le contenu.

Mon code jusqu'à présent:

IClearCase cc = new ApplicationClass();
CCVOB vob = cc.get_VOB("\\VOB-name");
CCView view = cc.get_View("ViewTag");

Merci pour votre aide.

J'ai écrit la réponse de VonC en C # pour les personnes intéressées.

string[] files = Directory.GetFiles("View path here", "*.*", SearchOption.AllDirectories);
foreach (string file in files)
{
    try
    {
            CCVersion ver = cc.get_Version(file);
            Console.WriteLine(ver.Path);
    }
    catch(Exception) {/*the file is not versioned*/}
}
Était-ce utile?

La solution

Peut-être que c'est un bon début:

Set CC = Wscript.CreateObject("ClearCase.Application") 
Set DirVer = CC.Version(".") 
Set FSO = CreateObject("Scripting.FileSystemObject") 
Set Folder = FSO.GetFolder(DirVer.Path) 
Wscript.Echo "Files under source control: " 
For Each File in Folder.Files 
     On Error Resume Next 
     Set Ver = CC.Version(File.Name) 
     If Err.Number = 0 Then 
           Wscript.Echo Ver.ExtendedPath 
     End If 
Next

L'idée étant d'utiliser les méthodes ICCVersion pour essayer d'accéder à la version d'un fichier. S'il ne renvoie pas d'erreur, il s'agit bien d'un fichier versionné.

  

Je sais maintenant que le fichier est versionné, comment puis-je le supprimer (rmname).

N'utilisez pas RemoveVersion () :
Supprime irrémédiablement la version (équivalente à cleartool rmver )
ATTENTION! C'est une opération potentiellement destructive. Etant donné que CAL n’invite l’utilisateur à entrer dans aucune circonstance, il n’existe aucune étape de confirmation lorsque RemoveVersion est appelé. Invoquer RemoveVersion équivaut à exécuter cleartool rmver avec l'option -force .

Utilisez plutôt RemoveName à partir de l'interface ICCElement .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top