2012-03-16 142 views
19

每次構建時,我們都必須記錄要跟蹤的源文件的更改列表數。我們有不同的項目(在不同的目錄下),它們在不同的變更清單編號上同步。可否請您告訴我如何獲得特定目錄的更改號碼?獲取當前工作空間目錄的更改列表號

任何建議表示讚賞。感謝和最好的問候

+1

也許一個標籤將是有用的。該標籤可以記錄您構建的文件的修訂版本。 – 2012-03-16 14:01:46

+0

感謝大家的建議! – 2012-03-18 03:25:03

回答

27

此外,還有p4 changes -m1 //path/to/your/project/...#have其中,如果運行在同步構建文件的客戶端工作區中,它將爲您提供工作區中文件的最高更改列表數量。

+0

這看起來不錯,但我得到「請求太大(超過550000);請參閱'p4 help maxresults'。」錯誤。我只是喜歡Perforce,所以有很多驚喜... – thegeko 2016-12-22 15:20:20

1

如果您的構建系統始終與構建之前的目錄同步,則可以使用p4 changes -m 1 //path/to/your/project/...獲取該目錄的頭變更列表編號。

如果使用此方法,我會建議在同步之前運行更改命令,然後明確同步到該更改列表。這應該可以消除在更改命令和同步命令之間進行檢查的機會。

0

如果您不想指定目錄,也可以使用簡短版本p4 changes -m1 #have

+1

請注意,這與user1054341的回答中包含的軟件倉庫路徑不同。此版本似乎包含尚未由客戶端同步的更改。 – solublefish 2015-03-13 20:02:45

+2

是的,沒有。就像可溶性魚說的那樣,這給了服務器上最新的變更列表,這根本不是我同步客戶視圖的變更列表。 – damian 2015-08-20 13:32:59

+0

@solublefish @damian我認爲你的shell可能會默默地忽略'#have'部分,因爲這個命令的工作原理與廣告一致。 – 2017-07-07 13:16:25

4
p4 cstat //path/to/your/project...#have |grep -B1 have|tail -n2 

@thegeco,這並不需要高max_scanrows的P4V客戶端內的Perforce限制

+0

你是什麼意思「高max_scanrows perforce限制」? – 2018-03-07 15:00:06

0

我用的是「懶手動方式」(又名我不知道越好):

使用此在「已提交」標籤過濾器中://您的項目/...#>需要 它會顯示您未同步的CL,請注意最舊的CL。 刪除#>有過濾器,看看你剛剛注意到的CL是什麼。

-1

在我的情況下,我只想知道在特定目錄中打開了哪些變更列表號(未統一)。爲此,我做:

p4 opened -s | cut -d' ' -f5 | uniq