2011-06-07 67 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