Найти файлы, которые были впервые созданы в данном потоке - PullRequest
1 голос
/ 07 августа 2009

У меня есть два потока, где один основан на другом. Сейчас я работаю в дочернем потоке. Перед доставкой я хочу узнать, какие файлы являются новыми, а какие являются модифицированными версиями файлов в базовом потоке.

Например:

Base stream
A.txt
B.txt

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

Моя доставка будет включать как мои изменения в B.txt, так и новый файл C.txt. Я хочу знать, какие файлы я доставляю, и являются ли они новыми.

Я хотел бы сделать эту командную строку, так как это часть сценария, который я пишу, чтобы помочь мне с доставкой потоков.


Думая об этом еще немного, я мог бы сделать это, если бы мы могли узнать предыдущую версию данной версии, а затем посмотреть, пуста ли она. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 07 августа 2009

Одно простое решение будет использовать clearfsimport :

 clearfsimport -preview

С опцией '-preview' вы ничего не импортируете, а анализируете выходные данные того, что изменило бы ("updated version") или создало (" new version "), вы получите то, что хотите.

Конечно, в том же духе, вы можете просто использовать опцию '-preview' операции доставить для почти того же результата.

deliver –pre/view –l/ong –str/eam sourceStreamForDeliver@\myPVobName

Обратите внимание на параметр '-long', необходимый для отображения созданных или обновленных версий (в противном случае он будет отображать только действия UCM ...)


Насколько я понимаю, clearfsimport заключается в том, что он используется для импорта файлов, которые еще не управляются в открытом регистре.

Нет: clearfsimport может импортировать новые файлы или обновлять существующие файлы (он может даже подавлять существующие версионные файлы, если они не находятся в импортированном дереве исходных кодов (опция "| mirror`")


После некоторых тестов решение deliver -l preview является более точным, поскольку оно будет сообщать только о новых или обновленных файлах, которые на самом деле версированы в источнике (то есть в представлении исходного потока доставки) .
clearfsimport будет слепо пытаться импортировать все файлы, присутствующие в исходном представлении, в том числе личные файлы (то есть «не версионные» файлы), которые затем будут неправильно сообщаться как « новый "файл в представлении назначения (тот, что находится в месте назначения или в" целевом "потоке доставки)

...