2009-08-07 50 views
1

我有兩個流,其中一個基於另一個流。我現在在兒童流中工作。在我交付之前,我想知道哪些文件是新的,哪些文件是基本流中文件的修改版本。查找在給定流中首次創建的文件

例如:

Base stream 
A.txt 
B.txt 

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

我的交付將包括我改變B.txt以及新文件C.txt。我想知道我交付的是哪些文件,以及它們是否是新的。

我想這樣做的命令行,因爲它是我寫的腳本的一部分,以幫助我提供流。


想到這裏多一些,我能做到這一點,如果我們能找到一個給定的版本之前的版本,然後看它是否是空的。有沒有辦法做到這一點?

+0

剛剛根據要求更新了我的回答 – VonC 2009-08-07 18:53:46

回答

0

一個簡單的解決辦法是使用clearfsimport

clearfsimport -preview 

隨着「-preview」選項,你不輸入任何東西,而是通過解析什麼將修改輸出(「updated version」)或創建(「new version」),你會得到你想要的。

當然,本着同樣的精神,你可以只使用deliver操作的「-preview」選項幾乎相同的結果。

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

注意 '-long' 選項,以顯示創建或更新的版本需要(否則,它只會顯示UCM活動...)


我的clearfsimport理解它用於導入尚未在clearcase下管理的文件。

都能跟得上:clearfsimport可以導入新文件或更新現有文件(它甚至可以抑制現有版本的文件,如果他們不是在導入源代碼樹(選項「| mirror`」)


一些測試後,deliver -l preview解決方案更準確,因爲它只會報告這實際上是源版本新的或更新的文件(即上的傳遞源流的觀點)。
一個clearfsimport會盲目地嘗試導入文件目前在源視圖中,包括私人文件(即「未版本化」的文件),然後在目的地視圖(目的地視圖或交付的「目標」流)中錯誤地報告爲「新」文件

+0

我的對clearfsimport的理解是,它用於導入尚未在clearcase下管理的文件。在我的情況下,這些文件已經在子流上多次檢查(並修改)過。 – bradtgmurray 2009-08-07 18:50:06

+0

@bradtgmurray:我完全描述了'clearfsimport'可以在這個答案中做些什麼:http://stackoverflow.com/questions/138321/how-can-i-use-clearcase-to-add-to-source-control-遞歸#144310 – VonC 2009-08-07 18:54:40