2012-08-02 59 views
1

我想介紹使用我們現有(和獨家)樹幹分支/合併(這是巨大的)。這裏有一個例子:從SVN樹幹的部分樹創建分支

trunk 
    folderA 
     folderA1 
      folderA1a 
     folderA2 
    folderB 
    folderC 
    ... 
    folderZ 
     folderZ1 
      folderZ1a 
    libraries 

branches 

的目標將是具有這些路徑的一個分支:

  • 主幹/ folderA/folderA1/folderA1a
  • 主幹/ folderZ/folderZ1/folderZ1a
  • 行李箱/庫

到目前爲止,我已完成以下操作:

  1. 我使用部門「立即子女,包括文件夾」做了一箇中繼線結算。這隻顯示我的分支機構,標籤和樹幹
  2. 我更新了folderA1a,folderZ1a和庫樹從trunk到我的工作副本。現在,我有我的工作拷貝
  3. 這3種完整的樹從我的工作拷貝,我跑以下命令:SVN複製主幹分支/ mynewbranch
  4. 我承諾我的變化

然而,當我瀏覽版本庫中,mynewbranch包含樹幹結構的鏡像副本,而不僅僅是我更新的幾棵樹。是否有可能從樹幹的部分樹創建分支?

編輯#1

我走進主幹文件夾,然後運行以下命令:

svn copy . <path_of_branch> 

如果我看我的工作拷貝,分支僅包含我需要什麼。這很好。

但是,當我提交這些更改時,瀏覽存儲庫時最初排除的所有文件夾都存在。當我簽出有問題的分支時,不需要的文件夾也會出現。

回答

0

試試這個步驟3 ...

svn copy . <path_of_branch> 

這裏.意味着你working copy將創建爲branch這是我相信你正在嘗試做的。

+0

感謝你的幫助。你的建議部分奏效。請參閱編輯#1。謝謝! – TekiusFanatikus 2012-08-02 17:02:51

0

由於問題標記爲tortoisesvn,我假設TortoiseSvn可用。

您可能會發現使用Repository Browser執行此類操作更容易。

可能值得注意的是branch trunk被認爲是最佳實踐,而不是trunk的子文件夾。 This question有更多的細節。請注意,在存儲庫中,由於顛覆調用cheap copying的內容,分支整個中繼時沒有顯着的磁盤使用懲罰。此外,如果本地磁盤存儲或網絡帶寬有問題,您當然也可以檢出分支機構所需的子文件夾。

0

您必須複製trunk中您想要的branch中的每個元素。

svn copy directori/file1 url:/svn/directori/file1 
svn copy ...... 

或網址到地址

svn copy url:/svn/test/trunk/file1 url:/svn/test/branches/branch01/file1 

....