[英]Clearcase Config Spec with Private Branch
我的工作結構有些復雜(至少對我而言)。 它是這樣的:
Main | 1 | 2 | \ 3 \ Ver2 | 1 | \ 2 \ | ProjectA 3 | 1
主分支有2個分支。 “ Ver2”(每個人對下一個版本的更改)和“ ProjectA”(這是我的工作)。
我的問題是:有沒有一種方法可以創建一個配置規范,它知道已經合並了什么,所以我得到了:
例如,在上述情況下,如果我在Ver2分支中將版本1從ProjectA合並到版本2,那么我想在Ver2上看到版本3。 但是,如果尚未合並這些文件,則我希望使用ProjectA的版本1。
我不認為您可以那樣做。 但是,您可以獲得的是ProjectA的最新信息。 Ver2中任何未在ProjectA中更改的內容; 以及MAIN中未在Ver2或ProjectA中更改的任何內容。 其余的技巧是確保已從Ver2或MAIN合並了所有必要的東西。 為此,您可以使用具有針對Ver2的配置規范的參考視圖(除非Ver2保持最新,否則您不需要MAIN的配置視圖),然后在ProjectA視圖中執行以下操作:
cleartool findmerge . -fta view-tag-for-ver2 -merge
-fta
表示“來自標記”。 當然,還有許多其他選擇。
這樣可以確保ProjectA關於Ver2完全是最新的。
您必須記住為什么要定義分支 :
隔離開發工作。
因此,為了更好地管理您的復雜配置規范,您應該確切地知道“ main”分支,v2分支和Project A分支扮演什么角色。
例如,由於兩個不同的原因,V2和項目A應該存在。
如果有Project A來開發該項目的當前版本,則應該合並到V2分支,以允許將一些當前的開發改造為V2分支。
通過這種推理,您不希望在同一視圖中看到“兩者”:它們代表兩組不同的文件,V2可能包含具有非常不同的API的大型重構。
但是,如果您堅持這樣的配置,則可以使用移動“ MERGE_FROM_PA”標簽的能力:每次將一些文件從Project A合並到V2分支時,都需要為每個合並的文件/目錄再次設置“ MERGE_FROM_PA”標簽,將該標簽從以前的V2版本移動到最新版本。
配置規范可以是:
element * MERGE_FROM_PA
element * .../ProjectA/LATEST
element * .../V2/LATEST
element * /main/LATEST
但是話又說回來,那沒有多大意義。
您需要定義要模型化,然后定義一個不同的發展努力協調一致的工作流程 ,讓您的配置規范只注重那些環境之一 。
為什么不? 如果分支已經合並到某個地方,則不使用它對我來說很有意義。
這是配置規范:
element * {version(.../ProjectA/LATEST)&&!hltype(Merge,->)}
element * {version(.../Ver2/LATEST)&&!hltype(Merge,->)}
element * /main/LATEST
只要您在構建之前將所有工作流程標記為標簽,是什么使該工作流程變得不一致?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.