如何在Subversion中删除1个文件夹的修订版

Hol*_*rwa 3 svn tortoisesvn

我的存储库中有几个项目,每个项目都有自己的文件夹.是否可以删除其中一个项目的最新修订而不更改其他任何内容?

示例:项目A的最新版本已提交创建rev.50.关于其他项目的工作正在进行,存储库现在处于转速状态.60.

现在A的用户回来并请求删除最后一个版本的更改,因为它们不适合他.他想回到以前的版本,所有进一步的改变应该从那里开始.

在这一点上,我想要转.50消失,以便项目A可以像转速一样继续.50从未发生过.

我能看到的唯一方法是创建一个分支,从现在开始在该分支上工作.但随着时间的推移,这只是创造了许多分支,而且项目的历史变得杂乱无章.

对于这种情况,什么是好的解决方案?

Pau*_*lan 9

简短的回答,你没有.实际上很难从subversion repo中删除提交.故意如此.

实际上,要做的是将该目录恢复为修订版49,然后将其提交为rev 61.

关键是你只回复有问题的目录,而不是整个结账.

以下是相关的SVN书籍链接:http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-4-sect-4.2

你想要一个"svn merge -r 60:50 xxx:// path"形式的命令

  • 同样,如果您还原该文件,您将丢失自该修订版本以来您在该文件中更改的任何内容!因此需要查看更改的内容并进行合并! (3认同)

Wim*_*nen 5

  1. 进行更新以确保您的工作副本是最新的.确保您的工作副本干净,没有待修改.
  2. 右键单击项目工作副本的根文件夹并"显示日志"
  3. 选择(使用ctrl/shift选择多个)要撤消的修订
  4. 右键单击选定的修订版并"还原这些修订版本中的更改"
  5. 检查撤消操作对工作副本所做的修改.必要时解决任何冲突.
  6. 提交修改

Gabriel Hurley你目前已经接受的答案没有意义:在进行"修订更新"之后无法提交.该操作将回滚BASE您的工作副本所基于的修订版.在尝试提交更改时,subversion会抱怨文件和文件夹已过期.

您希望恢复修订还原修订功能的更改,而不是"更新到修订版".