我的團隊維護我們的PHP源代碼的一個多項目subversion存儲庫。 我們有一個簡單的部署策略,其中應用程序使用的庫存儲在其目錄結構中。這可以通過使用tarball或通過檢查代碼中的代碼來實現部署。 這一切都很好,但在過去的管理員角色中,我告訴svn用戶不要創建嵌套工作副本或重新安排代碼樹,特別是在引導主幹分支頭部的工作副本中。在同一個Subversion版本庫的工作副本中使用嵌套的svn工作副本的最佳方式是什麼?
我們有一個更復雜的倉庫,但重要的部分是這樣的:
trunk/app4/libs/libB
trunk/lib1
LibB包括來說明一些庫存儲與在那裏它們被部署,但積極開發應用程序之間共享庫存儲的應用在水平,我們認爲在repository.If一個項目,我們要按照工作副本相同的結構,我們在資源庫中的文件樹應該是這樣的:
parent_dir/
app4/libs/libB
lib1/
但是對於我們delpoyment我們需要打架代碼樹如下:
app4/
libs/
lib1
libB
我已經使用以下步驟來設置它。
#SVN共同的svn://svn.example.com/trunk/app4 ./ #CD APP4 /庫 #SVN共ssvn://svn.example.com/trunk/lib1
結果是lib1目錄未包含在工作副本的app1部分中,使得app1的狀態不清晰,而是它自己的工作副本的根。這使得app1工作副本的svn狀態不清晰,因爲目錄lib1是app4工作副本中的新文件。
#SVN狀態
回報
? lib1
這是個好主意,加入我的SVN APP1添加LIB1目錄/庫清除呢?有人可能希望這會將p1/libs/lib1目錄添加到app1的svn信息中,而不會對app1/libs/lib1/.svn /做任何更改,但我認爲這不太可能。 (TODO:在一個例子中測試)
最好只是親自忽略該狀態,或者可能添加libs/lib1忽略以獲得乾淨的狀態?還有什麼其他的選擇?
因爲它的成立工作拷貝工作。我不主張這樣做,但它只是罰款。此外它的優良有一個資料庫,並在不同的目錄管理項目。這似乎是一個多回答評論的。 –