2011-10-06 158 views
2

我剛剛在服務器從511恢復到510;然而,儘管服務器明顯與510一起工作,但511仍然是某個地方,而Tortoise SVN正在考慮511作爲頭版本,因此認爲沒有什麼可提交的。我能做什麼?龜SVN:恢復

+0

最有可能的,你有沒有** **恢復,但只是** **更新至510 – zerkms

+0

你怎麼在服務器平均恢復?服務器使用510的含義是什麼?詳細說明迄今爲止您已完成的步驟。 – manojlds

+0

是的,我更新到510 ...我做了svn更新-r 510 ...我能做什麼? – luqita

回答

7

我你的問題的解讀是,要根除版511並回滾到510.然而,正如其他人所暗示的那樣,Subversion從不會忘記 - 無法抹去修訂版。但你可以很容易地達到相同的效果,我認爲一個簡單的圖片可以清楚地說明它。

這裏是一個樣例修訂圖,其中您以修訂版105作爲開頭。這裏的目標是要拋棄不只是105也是104(顯示你可以應用此技術不只是倒數第二頭以上),使103的新掌門人:

  1. 開始用乾淨的,更新的,工作在副本頭部修訂版(本例中爲105):
  2. 使用恢復到修訂版以回滾到感興趣的修訂(本例爲103)。
  3. 使用承諾簽入您現在修改的工作副本,並使其成爲新的頭(在這種情況下,106)。

現在通過將其複製爲106,現在已經有效地回滾到103.(或者從不同的角度來看,可以說103被轉生爲106 :-)。

how to erase a revision

0
  • 您不能還原服務器。你的工作(總是有一些例外)與WorkingCopy,其中與relected變化提交到回購
  • 還原(svn help revert)放棄你的本地修改,併產生「原始WC」和無可奈何與回購
  • 更新WC到任何以前的版本不會更改存儲庫歷史記錄 - 歷史記錄是不可變的

重新思考並重新構建您的任務和煩惱。你想「撤消上次提交修訂版」嗎?

0

如果SVN存儲庫已被還原,或換句話說被設置了多個修訂版本 - 已更新到當前不存在修訂版的所有工作副本應與新工作副本合併(因爲沒有提交提交日誌記錄標準客戶端默認情況下,也許有人有這個作爲擴展)。

因此,創建新的WC(在你的情況下,修改版本將爲510),並將當前WC中的一個GUI合併更改(或僅複製文件)合併到新WC中,並將更改提交到新WC中所有的操作和你在511版中所做的一樣),然後切換到使用新的WC並刪除舊的。

0

更新到一個特定的修訂版很少是你想要做的。您想要做的是在日誌對話框中選擇一組修訂版,並且還原這些修訂版(在您的版本中爲修訂版511)。爲了避免混淆,請使用乾淨的工作副本。龜SVN現在反向合併變化到您的工作副本。到目前爲止,服務器上的數據仍然沒有變化。現在您必須將提交這些更改到服務器上。它將顯示爲新版本(在這種情況下爲512)。好的做法是不要更改任何文件並選擇正確的日誌消息,如「從第511版起恢復的更改」。

Subversion(我知道沒有版本控制系統)不允許刪除修訂版,所以這是要走的路。