在 subversion 中,有人删除了一个文件,然后在一次提交中将其添加回来,我该如何解决这个问题?

Tim*_*Tim 5 svn

有人进行了一次删除文件的 subversion 提交,并添加了一个同名的新文件,该文件由原始文件和约 155 行新行组成。

(我不知道他们是如何做到这一点的。)

现在 'svn log' 只显示回溯到那个提交的历史记录,如果我想从他们这样做的时间点之前和之后比较该文件的修订版本,我必须跳过箍。(例如 'svn diff url@oldrev url@newrev' 而不是 'svn diff -rn:m')

发生这种情况后,对该文件进行了一些提交。(大约 3 个)。

我怎样才能解决这个问题?

我在 Linux 上使用命令行“svn”客户端。

Pet*_*ker 2

Mightymuke 实际上是对的:

以下是说明:

  1. 记下新创建的文件的所有修订(我将它们称为 R1 .. 至 Rn)
  2. 注意删除原始文件时的修订(我称之为 Rd)
  3. 签出至少包含此文件的工作副本
  4. 删除新文件并提交更改,并在提交消息中声明文件在提交 R1 中添加错误(说明修订版本并确保每个人都能理解为什么添加错误)
  5. 更新你的工作副本('svn update')
  6. 如果使用 tortoiseSVN,请使用显示日志并在历史记录中找到 Rd,单击它并右键单击已删除的文件并选择“恢复此版本的更改”不要在整个版本上使用此选项,因为那样您也会撤消其他更改。在其他操作系统上,为此使用反向合并(“-c-Rd”表示例如“-c-50”,如果 50 是已删除文件的修订版):

    svn 合并-c-Rd

  7. 将当前文件内容从已删除的文件复制到恢复并提交(在提交消息中说明撤消修订 R2..Rn)。替代方案:您可以重新创建每个旧版本并单独提交它们(在每个提交消息中注明原始版本 R2...Rn)