2012-10-29 50 views
1

假設我們有一個倉庫 「my_repository」 與論文文件:顛覆:保存工作副本狀態

  • my_repository/file01(修訂版105)
  • my_repository/file02(修訂版110)
  • my_repository/file03 (修訂版125)
  • my_repository/FOLDER01/file01(修訂版100)
  • 等...等...

我想保存這個狀態。所以如果我做一個svn更新my_repository,我可以很容易地備份到我以前的狀態,並具有所有不同的文件狀態。

可能嗎?

+0

在Subversion中,不鼓勵在單個工作目錄中混合和匹配各種文件修訂版本。事實上,任何版本控制系統都是非常糟糕的做法。如果你在工作副本中發現自己有幾十個不同的版本,那麼很可能你沒有以最佳方式做某件事。爲什麼在同一個工作目錄中將所有文件放在不同的版本中?一旦我們理解了這一點,我們可能會推薦一種更好的方式來處理這個問題。 –

+0

那麼,我的網站是一個工作副本,mysite.local也是一個工作副本。 當我開發一個新功能時,我只是在網站上進行svn更新。 但是這一次,在幾個月中已經有一個很大的功能,我繼續更新網站副本上的新功能。 所以我有我的工作網站的架構,因爲我描述上行。 我想「備份」這個模式是在我的網站(憤怒的用戶,選擇,無論什麼)沒有做一個根目錄的簡單副本的情況下。 – user1783488

回答

0

聽起來像你需要新的分支。

1

任何版本控制系統的核心功能之一值得關注的是branch修改您的項目的能力。

與此相關的還有創建tags的概念。這可能更符合你想要的內容。如果您想對該版本進行單獨更改,則需要一個分支。

+0

好吧,我開始用svn copy命令創建硬盤。 在分支文檔中解釋的方法是關於庫上的「分支」,但我想要的是在工作拷貝上分支。 file01在此工作副本中的版本105上,但是在存儲庫上,對此文件上的版本110,115,125也進行了修改。 所以我正在考慮將這些文件從工作副本複製到文件夾{root_repository}/Branches /,然後提交分支,這是正確的方法嗎? – user1783488

+0

不完全。在這種情況下,我建議分支包含所有文件的目錄的HEAD修訂版本,並將它們中的每一個反向合併到您選擇的修訂版本,然後將更改提交到您的分支。這有助於跟蹤您在存儲庫中所做的工作。 – Chris

+0

我發表了關於這個問題的博客文章! http://www.chaverma.com/blog/index.php/2012/11/complex-branching-in-subversion/ – Chris

1
  • 忘掉CVS和文件級版本
  • 歡迎顛覆世界,在那裏我們有GLOBAL倉庫範圍修訂
  • 使用「最後變化的文件」修改爲信息操作數據,而不是運行數據。因爲你必須用版本庫的operarate的版本庫樹的任何部分
  • 每個存儲組更改(提交)添加新修訂,修訂形成的整體目標庫變化的歷史,每個版本是給你的樹(定義部分)

    my_repository/file01 (revision 105) 
    my_repository/file02 (revision 110) 
    my_repository/file03 (revision 125) 
    my_repository/folder01/file01 (revision 100) 
    

的冰凍切片

您將在[email protected] URL(通用路徑,最新版本)中使用,記住和操作,以及何時以及如果您想要返回到這種狀態,您將svn up工作副本my_repository/更改爲125並且root下的樹中的所有對象都將以與最初相同的狀態出現。

由於phasetwenty寫道,您可以使用標籤,wwhich是純數字的歷史易於記憶和方向只有文字標籤

最後請注意強烈建議閱讀和理解 SVN書關於Subversion的基本概念,基本概念,原則和意識形態