2011-06-07 110 views
0

我使用SVN和Xcode。在我的工作副本中實現了某些功能後,我準備將我的代碼提交到存儲庫。但是自從我上次結帳以來,服務器副本已被修改。所以我認爲最好的做法是首先更新我的項目,解決衝突(如果有),然後最終提交代碼。我做到了。但是現在我發現我的項目中有很多錯誤。這些錯誤主要出現在我的同事一直在編寫的代碼段中。所以我很猶豫要修改他的代碼來解決錯誤。有沒有辦法可以撤銷更新?由於我的代碼在更新之前工作得很好,我想繼續工作,也許在稍後的階段合併並提交我的更改。有辦法我可以做到這一點?如何撤消SVN上的更新

回答

1

XCode允許您將代碼更新爲特定修訂版。我不知道如何在XCode 4中執行此操作,但是在XCode 3.2中,右鍵單擊某個類文件並單擊「獲取信息」。在信息窗口中,轉到「SCM」選項卡。在那裏你會看到該類文件的所有SVN修訂列表。你應該看到你的同事在那裏修改,並附上他的評論。在這之前選擇修改JUST(在更新之前,這是您正在進行的修改)。 XCode現在將允許您更新到該修訂版本(通過信息窗口底部的更新按鈕)。

對所有受錯誤更新影響的類文件執行這些步驟,您應該很好去!

此外,你應該告訴你的同事不要在錯誤的代碼檢查作爲最佳實踐:)

這就是你應該看:

enter image description here

編輯:

對於XCode4,我做了一些研究,如果到目前爲止我發現的是真的,我對XCode4中的SCM功能非常失望(參考:Where is the 'Revert' option in Xcode 4's Source Control?

因此,我確定更新到特定修訂版的功能已經從Xcode4中拔出(如果我錯了,我願意糾正)。

有,然而,一個解決方法(雖然這會導致你工作中獲得了「M」標誌修改他們旁邊,而不是「U」標誌,這意味着你的工作在一個文件先前的修訂)。

在XCode4中,在頂部的工具欄上,選擇視圖>>編輯器>>版本。

enter image description here

在這個編輯器,XCode4顯示兩個編輯器窗口,一個與當地的修訂和一個從庫中的最新的類文件。

在每個編輯器窗口的底部是一個工具欄,列出您正在查看的特定修訂版。

enter image description here

此工具欄是可以點擊的,可以讓你切換視圖到另一個版本。

enter image description here

一旦你這樣做,我怕你只需要代碼複製粘貼到您的本地類文件。

此方法將確保您正在處理代碼的工作副本。但是,這可能不是正確的做法(儘管目前這是唯一的方法)。

兩個其他的解決方案我是:

1(不推薦)

用的XCode 3.2的副本工作不知何故

2(取決於您正在尋找的功能級別)

下載SmartSVN的許可副本,讓您將文件更新到特定的版本。

希望幫助:)

+0

Xcode 4中似乎沒有「獲取信息」選項。任何解決方法? – NSExplorer 2011-06-07 18:02:52

+0

嗯,我確定有一種方法,讓我看看。我在一臺機器上安裝了Xcode4,但我的大多數活動項目都是在3.2版本中構建的,因此我一直在使用它。我會去檢查它,因爲它應該是對我有用的東西:) – Sid 2011-06-07 18:48:50

+0

我很驚訝,但我不認爲有一種方法。查看我在編輯答案中的解決方法。 – Sid 2011-06-07 19:19:29