2013-10-10 107 views
-1

我有下一個存儲庫SVN合併問題

/ 
/branches 
/tags 
/trunk - unfortunately all source code for one project goes here 

現在我需要啓動一個新的項目,但我不想在後備箱創建它,因爲它會導致混合兩個項目。

我想在倉庫

/newp - for example 

的根目錄下創建一個新的文件夾,但我需要從舊的項目,是這裏一個子項目:/主幹/文件夾/文件夾1 文件夾1中包含大量的文件

我想創建一個文件夾/ newp/folder1併合並/ trunk /文件夾/ folder1到/ newp/folder1,當我這樣做時,只有/ trunk/folder/folder1的子文件夾合併到/ newp/folder1。文件被忽略。爲什麼?我需要能夠以兩種方式合併數據。完成它的最好方法是什麼?

PLS,告訴我,如果該任務是不可理解

回答

1

首先術語「合併」意味着SVN中只有一件事,我認爲「合併」不是你真正想要的。我不知道爲什麼只有文件夾在/ newp/folder1中創建,而文件不是。這可能是因爲您在執行操作時選擇了錯誤的選項,但我也不知道您所做的操作,因爲您沒有提及。

你應該做的是做一個external定義。在/newp創建一個外部文件夾名稱folder1指向/trunk/folder/folder1。而已。確保folder1在創建外部之前不存在。

由於外部與工作副本在同一個存儲庫中,因此您將有一個提交操作(非常方便)。如果外部存在於另一個存儲庫中,則必須在兩個單獨的操作中提交工作副本和外部數據。

我還建議您將branches/tags/trunk文件夾移動到某個名爲oldp的文件夾,以便您擁有更好的項目層次結構。

+0

thx爲響應。也許你是對的,外部是最好的方法。我會讀更多關於這個功能。我希望合併操作能夠幫助我。奇怪的是在合併期間只有文件夾被複制。我最近開始使用svn,所以我使用svn烏龜。這就是爲什麼沒有任何命令的原因,但我嘗試了各種合併建議 –

+0

一個問題,我可以更改外部源代碼,而不是提交嗎? –

+0

> oldp的建議 - 我會,但我沒有爲此的權利:) –

0

也許你需要的是增加裝配,你需要從該項目作爲第三方。 或者爲您的項目創建分支並添加一個文件夾。 如果trunk包含多個正在開發的項目和功能,這並不壞。

你不能分支樹幹的一部分,只有一切。 這很好,因爲在合併到樹幹之前,你應該成功構建所有的源代碼,而不僅僅是其中的一部分。 不要在中繼線之間共享項目,將來很難與它們一起工作。

+0

thx,用於響應,但是不能從子目錄創建分支。你可以從任何目錄中完成。如果trunk包含很多項目,但是如果它看起來是/ trunk/project1,/ trunk/project2,在我的情況下,trunk是project1的所有源代碼的根目錄,並且將第二個項目在那裏。它就像/ trunk/project1/project2。我只需要project1中的一個文件夾,這就是爲什麼我需要它的副本。我不想在我的工作拷貝中一次完成所有的項目。我只需要/ project2,有一個文件夾副本(/ project2/folderFromProject1) –