2011-04-18 95 views
1

我有一個subversion版本庫,有一個項目,我更新到早些時候。 (切換到.net 4.0和更新的visual studio),但是,客戶端還沒有準備好進行更改,所以我已經檢查了一個稍微舊一點的項目版本,並且做了一些更改。強制顛覆提交「新」修訂

Subversion不會讓我提交新的更改,因爲它已過時。我可以理解這種行爲,但我想覆蓋它。我怎樣才能做到這一點?

回答

1

我不確定是否「覆蓋」此限制會產生理想的結果。我想這個問題變成了,你想用舊版本和現在之間的變化來做什麼?

如果你只想擺脫他們:

  • 反向合併回所需的修訂一路。
  • 提交反向合併。
  • 執行您的更改並從那裏開始工作。

如果你想送他們到了一個分支:

  • 分支的早期版本。
  • 將從該修訂版本到當前修訂版本的變化範圍合併到分支中並提交它們。
  • 執行上述三個步驟。

如果你想保持他們在樹幹的東西需要發生的,但只是想快速跟蹤您的客戶端的新變化,以生產:

  • 分支的早期版本。
  • 在那裏進行更改。
  • 從該分支的修訂部署。
  • 將分支中的更改範圍合併回幹線並繼續工作。

這是否基本上涵蓋了你想要做的事情?還是我誤解了你的某個地方?有了SVN,這樣的事情會變得有點痛苦。但請相信我,合併SVN希望你改變SVN的方式。後者將在長期內造成更多的麻煩。

+0

如何進行反向合併? – Malfist 2011-04-18 18:49:26

+0

@Malfist:在命令行中,我認爲它是合併的'-r'標誌。在這裏看到一些更多的信息:http://stackoverflow.com/questions/5678409/managing-svn-commits-and-revision/5678459#5678459 – David 2011-04-18 18:52:53

+0

@Malfist:基本上所有做的就是執行合併,只是向後。因此,本地工作副本從修訂版1234變更爲修訂版1233.檢查修改版1235中的變更,並且首先基本上退出一個修訂版(儘管更改仍存在於修訂歷史記錄中,這很好)。 – David 2011-04-18 18:54:20