当一次svn提交意外删除了前一次提交的内容时,如何恢复?

当一次svn提交意外删除了前一次提交的内容时,如何恢复?,svn,latex,Svn,Latex,我意外地启动了一个提交,但在一些较早的提交之后没有重新加载我的文件,这些提交将较早提交的更改替换为先前的文本。由于我正在处理代码的不同部分,svn没有报告任何冲突。但那是一片混乱。如果不手动执行,如何从该问题中恢复?要恢复,我需要保留当前的更改,并恢复我在提交时意外删除的程序其他部分上以前的更改。假设您在修订版100时意外删除了文件。在您的工作副本中,更新至修订版99svn up-r 99。这将在您的工作副本中包含所有已删除的文件。对删除的文件进行备份。现在将工作副本更新为最新版本svn up。

我意外地启动了一个提交,但在一些较早的提交之后没有重新加载我的文件,这些提交将较早提交的更改替换为先前的文本。由于我正在处理代码的不同部分,svn没有报告任何冲突。但那是一片混乱。如果不手动执行,如何从该问题中恢复?要恢复,我需要保留当前的更改,并恢复我在提交时意外删除的程序其他部分上以前的更改。

假设您在修订版100时意外删除了文件。在您的工作副本中,更新至修订版99<代码>svn up-r 99。这将在您的工作副本中包含所有已删除的文件。对删除的文件进行备份。现在将工作副本更新为最新版本
svn up
。并将文件从备份复制到工作副本,
svn add
svn commit

我认为修复单个文件中覆盖更改的最佳方法是手动调用三向合并工具

假设您有基于更改的修订版1。修订版3是您对更改的承诺。不幸的是,第2版发生在这两个版本之间,这些更改被第3版删除

因此,调用一个三向合并工具,将“base”设置为修订版1的文件,并将修订版2和修订版3中的文件作为其他两个修订版

您可以使用
svn cat
命令获取所需的文件

保存结果并提交为修订版4以更正问题


将来,在提交之前,请始终关闭编辑器,并在提交之前以及开始工作之前进行更新。

我最终完成了这项工作。我认为我的编辑器会动态加载磁盘上的更改,因为mac上的大多数文件都会动态更改,而不像windows。