3

这应该很简单,但不知何故我无法弄清楚:

我更新到倒数第二个修订版,比如说修订版 100(HEAD 位于 101),如下所示:svn up -r 100. 然后我进行了各种更改,现在我希望将修改后的文件作为修订版 102 签入(这样我可以在需要时返回到 101)。我怎么做?如果我只是简单地做一个,svn commit我会得到一个“过时”的错误。我svn up无法解决过时的问题,因为我不希望 HEAD (101) 中的任何更改回来......

4

2 回答 2

3

将更改的文件保存到临时文件夹。重命名本地存储库以进行备份。创建新的本地存储库。将代码更改粘贴回复制到临时文件夹的文件中。犯罪。

在提交之前,您可能需要执行 KDiff 以确认所有更改都正确。

希望这有助于解决这个问题。

于 2012-05-01T14:27:21.883 回答
2

In order to undo the changes of a previous commit, you should use svn merge, not svn up:

Instead of svn up -r100, check out the HEAD revision and do svn merge -c -101 .

That results in the same content in your local files, but now subversion will no longer try to reapply revision 101's changes before allowing you to commit.

See also the svn manual on undoing changes.

于 2012-05-01T14:53:19.750 回答