乌龟SVN仓库浏览器

3
我想知道如果我在SVN仓库浏览器中右键单击文件,它会被永久删除吗?它是否可以恢复?
6个回答

4
您会发现只有在查看HEAD版本时才能从Repo Browser中删除文件。这与从您的工作副本中删除文件并检入删除是相同的。在这两种情况下,您都可以从以前的版本中恢复。

4

这个SVN FAQ中的问题/答案可能会引起你的兴趣:

如何完全删除仓库历史记录中的文件?

有些特殊情况下,您可能想要销毁某个文件或提交的所有证据。(也许某人意外地提交了一份机密文件。)这并不容易,因为Subversion被设计成绝不丢失信息。修订是不可变树,它们相互建立。从历史记录中删除一个修订版本将导致连锁反应,在所有后续修订版本中创建混乱,并可能使所有工作副本无效。

然而,该项目计划有一天实现一个svnadmin obliterate命令,可以完成永久删除信息的任务。(请参见问题516。)

与此同时,您唯一的选择是svnadmin dump您的仓库,然后将转储文件通过svndumpfilter(排除错误路径)传输到svnadmin load命令中。

如果这么难,那么很少有机会能够轻松地从Tortoise SVN中完成...
(这也不是源代码控制的目标...)


2

通过仓库浏览器上下文菜单删除文件,基本上会创建一个新的全局版本,只有该文件被删除,因此在日志中显示为这样 - 您始终可以恢复到该版本以获取文件,或者您可以直接从存储库拉取它到您的工作副本。


1

不...删除文件(即使使用仓库浏览器)只会影响工作副本。如果您无法从过去恢复文件,那么它将是一个相当糟糕的版本控制系统。实际上,即使您拥有服务器的根访问权限,也很难修改已提交的修订中的文件。


0

我不小心从Repo浏览器中删除了一个顶级目录,唯一的恢复方式如下:

  • 从以前的版本历史记录中导出顶级文件夹
  • 在存储库中创建一个新文件夹以替换已删除的文件夹。
  • 将导出的文件添加回新目录(与以前的名称相同)
  • 更新工作副本,它将删除然后重新添加相同的文件。

这很烦人,但至少工作和repo会重新同步。 "撤消此版本的更改"无法撤消存储库删除,它仅还原工作目录而不是撤消对存储库的删除。


0

右键不就是弹出一个菜单吗?而且使用 SVN 的话,你总是可以回滚的。


是的,但我所说的是从存储库浏览器本身而不是文件系统上下文菜单。 - Grant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接