2017-03-05 33 views
0

我正在努力如何爲以下場景設置流:如何設置將主線映射到子文件夾的開發流?

我有一個庫項目(//libX)使用典型的主流,發行版和開發流。

不過,我想爲使用該庫單獨的產品(//libX/projectA)開發流。這些產品具有不同的目錄結構,我想將//libX/main/...映射到子文件夾//libX/projectA/extern/libX/...

例如,我的lib中的結構是這樣的:

//libX/main 
    /bin 
    /src 
    /tests 
    readme.txt 

和我的項目是別的東西完全,但用我的lib

//libX/projectA 
    /documentation 
    /extern 
     /libX 
      /bin 
      /src 
      /tests 
      readme.txt 
     /MaxSDK 
    /source 
    /tools 
    config.xml 

我已經受夠了工作的最接近的是像這樣:

  • 路徑:share ...
  • 重映射:... extern/libX/...

但重映像似乎只修復本地計算機上的文件位置。使用上述重新映射設置,libX文件最終以projectA文件的相同的根目錄。

可與流出現上述情況的工作或我應該回去支規格?

謝謝!

+0

您需要稍微擴展您的示例 - 還有哪些其他文件與libX文件「混合在一起」?他們來自哪裏?他們應該去哪裏? –

+0

「導入」或「導入+」選項可能對您有所幫助,但如果不知道Sam提出的問題的答案,很難說明問題。 – P4Jen

回答

2

您的項目不應該是你的LIB流的子流 - 把它放在自己的流車廠似乎不太令人困惑:

//libX/main 
    /bin 
    /src 
    /tests 
    readme.txt 

//libX/projectA (child of //libX/main) 
    /bin 
    /src 
    /tests 
    readme.txt 

//projectA/main 
    /documentation 
    /extern 
     /libX  (mirror of //libX/projectA) 
      /bin 
      /src 
      /tests 
      readme.txt 
     /MaxSDK 
    /source 
    /tools 
    config.xml 

而且你會做得到這樣的結構:

Stream: //projectA/main 
Paths: 
    share ... 
    import extern/libX/... //libX/projectA/... 

不幸的是這種方法的一些限制 - 如果你的libX路徑是不是一個簡單的share ...那麼import不會把它撿起來,因爲正確的語法import path depotPath進口倉庫路徑,而不是一流路徑。與正常的進口,你也無法使此流內libX/projectA變化 - 您可以使用import+允許這一點,但我已經看到了import+足夠的問題,改變了圖書館,我的傾向將是使這個我的工作流程:

p4 switch //libX/projectA 
(make changes) 
p4 submit 
p4 switch //projectA/main 

雖然這種假設庫是不夠的模塊化(與覆蓋項目的使用情況等它自己的單元測試),你可以做這項工作在它獨立。

+0

是的,我認爲我會爲lib的主要,發佈和開發分支保留流,但對於客戶端項目,我會堅持常規分支規範。這樣會更簡單。我試圖完成所有這些工作的原因是爲了查看哪些項目的變化尚未集成到我的庫中(通過流圖彩色箭頭)。 –

+1

啊 - 所以你實際上是在對圖書館進行每個項目的更改!你原來的問題中缺少的詞是「修改」。 :)我會在一秒內大幅修改我的答案。 –

+0

是的,每個項目都可以對庫進行更改,我希望流的支持能夠幫助我檢測這些更改,以瞭解何時將代碼重新集成到主線中。 –

相關問題