2009-08-07 3 views
1

J'ai deux flux, où l'un est basé sur l'autre. Je travaille dans le flux enfant maintenant. Avant de livrer, je veux savoir quels fichiers sont nouveaux et quels fichiers sont des versions modifiées des fichiers du flux de base.Trouver les fichiers qui ont été créés en premier dans un flux donné

Par exemple:

Base stream 
A.txt 
B.txt 

Child stream 
A.txt 
B.txt <- modified 
C.txt <- new 

Ma livraison va inclure mes deux changements à b.txt ainsi que le nouveau fichier C.txt. Je veux savoir quels fichiers je livre et s'ils sont nouveaux ou non.

Je voudrais faire cette ligne de commande, car elle fait partie d'un script que j'écris pour m'aider à livrer des flux.


En pensant à ce encore un peu, je pourrais le faire si nous pouvions trouver la version précédente d'une version donnée, puis voir si elle est vide. Y a-t-il un moyen de faire cela?

+0

Juste mis à jour ma réponse, comme demandé – VonC

Répondre

0

Une solution simple serait d'utiliser clearfsimport:

clearfsimport -preview 

Avec l'option '-preview', vous ne pas importer quoi que ce soit, mais en analysant la sortie de ce qui modifié ("updated version") ou créé ("new version"), vous obtiendriez ce que vous voulez.

Bien sûr, dans le même esprit, vous pouvez simplement utiliser l'option « -preview » du deliver opération pour à peu près le même résultat.

deliver –pre/view –l/ong –str/eam [email protected]\myPVobName 

Notez l'option '-long', nécessaire pour afficher les versions créées ou mises à jour (sinon, il n'affichera les activités UCM ...)


Ma compréhension de clearfsimport est qu'il est utilisé pour importer des fichiers qui ne sont pas déjà gérés sous clearcase.

Non: clearfsimport peut importer de nouveaux fichiers ou mise à jour des fichiers existants (il peut même supprimer les fichiers versionnés existants si elles ne sont pas dans l'arborescence source importée (option « | mirror` »)


Après quelques essais, la solution deliver -l preview est plus précise, car il ne compte fichiers nouveaux ou mis à jour qui sont en fait Versioned dans la source (la vue sur le flux source de la livraison).
A clearfsimport essaierait aveuglément d'importer tous les fichiers présents dans la vue source, y compris les fichiers privés (c.-à-d."non-versionné"), qui seraient ensuite incorrectement signalés comme "nouveau" fichier dans la vue de destination (celui sur le flux de destination ou "cible" de la livraison)

+0

Mon compréhension de clearfsimport est qu'il est utilisé pour importer des fichiers qui ne sont pas déjà gérés sous clearcase. Dans ma situation, les fichiers ont déjà été archivés (et modifiés) plusieurs fois sur le flux enfant. – bradtgmurray

+0

@bradtgmurray: Je décris complètement ce que 'clearfsimport' peut faire dans cette réponse SO: http://stackoverflow.com/questions/138321/how-can-i-use-clearcase-to-add-to-source-control- récursivement # 144310 – VonC

Questions connexes