2016-09-13 2 views
1

Je recherche une optimisation des requêtes, mais IBM n'est pas très bavard à ce sujet dans la documentation Clearcase. Donc, en bref, nous avons un très gros VOB, et nous aimerions lister tous les changements effectués entre 2 dates, quelle requête est-ce que c'est le plus rapide, et voyez-vous des améliorations à apporter?Performances de la commande Cleartool: lshistory ou find -exec

Méthode 1:

cleartool find -avobs -type f -element '(created_since(1-Jun-2016) &&     !created_since(1-Sep-2016)) 
&& (Element_Type==""Program"" || Element_Type==""Output"" || Element_Type==""Data"")' 
-ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' 
-exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' 
>| test.txt 

Méthode 2:

cleartool lshistory -avobs -since 1-Jun-2016 -fmt '#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n' -nco -pname >| test.txt 

Merci!

Répondre

1

cleartool lshistory concerne les enregistrements d'événements, le minors ones can be scrubbed. (grep)

Généralement, un cleartool find peut être plus rapide, car vous pouvez ajouter des critères pour affiner la recherche.

De "Additional examples of the cleartool find command", afin de voir tous les changements (pas seulement des créations au niveau de l'élément, mais des changements, au niveau de la version), la requête est:

cleartool find . -version "{created_since(date1) && !created_since(date2)}" 

-print

Le fait que vous pouvez ajouter:

  • type f (vous voulez uniquement les fichiers, pas des dossiers)
  • tout autre critère (Note: Je ne vois pas « ELEMENT_TYPE » dans query_language)

Ceux-ci aideront à accélérer la requête.


Le OP M4hd1 ajoute in the comments:

Sur la base de vos commentaires j'ai changé la requête que:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' >| test.txt 

Dans plusieurs lignes:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' \ 
    -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' \ 
    -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' \ 
>| test.txt 
+0

Merci pour votre aide! En fonction de votre commentaire, j'ai changé la requête: cleartool find -avobs -type f -element (attr_sub (Element_Type, ==, "Sortie")) '-ver' created_since (1-Jun-2016) &&! Created_since (1-Sep-2016) ' -exec' cleartool describe -fmt "" #Nom:% Xn Date:% Nd Utilisateur:% u Libellé:% 1.400Cl Attributs:% a Version:% Vn Commentaire:% Nc \ n " "$ CLEARCASE_XPN ' > | test.txt – M4hd1Pro

+0

@ M4hd1 Bravo! J'ai inclus votre commentaire dans la réponse pour plus de visibilité. – VonC