如何撤消svn更新?

时间:2013-10-08 12:55:25

标签: svn

我修改了工作目录中的文件并进行了svn更新。更新执行时没有冲突。

我希望能够将工作目录内容恢复到svn更新之前的状态。

原因是因为我与共享的svn存储库并行维护一个本地git存储库。在执行svn更新之前,我忘了git提交我的本地更改。现在,我的工作目录包含与svn更新产生的更改混合的本地更改。如果我提交,所有更改将显示为一个原子更改。我希望他们能分开。如果我可以恢复更新并保留我在svn更新之前的工作目录的内容,我可以这样做。

5 个答案:

答案 0 :(得分:8)

我一直在回答这个问题,它实际上并未包含对“如何撤消svn更新”的简单回答?"问题

为了其他人的利益,在可解决的情况下,您只想回滚更新:

首先使用以下方法检查日志:

svn log | less

这将为您提供您希望返回的修订号(例如957)。然后:

svn up -r 957

答案 1 :(得分:5)

这是不可能的。忘记更新前的状态。

您可以通过制作subversion diff来分隔更改,使用git apply将其应用于索引,提交(更改)并提交所有内容(来自pull的更改)。

这是紧急解决方案。我建议您切换到git-svn,这将在未来为您处理此类事情。

答案 2 :(得分:2)

执行“更新到版本”,因此您将本地文件更改为稳定版本,然后重新提交。通过这种方式,您将失去所有本地更改。

答案 3 :(得分:0)

这适用于linux用户。

假设修订如下。

头--20 以前的修订版--18,17,15,14,10,9,8。

转到你的src目录。 使用 svn merge -r 17:18 $ url

$ url for your svn base。

答案 4 :(得分:-1)

如果在更新期间发生任何冲突,您的文件和修订文件的副本将在您的回收站中提供