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

标签 svn

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

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

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

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

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

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

最佳答案

Mightymuke 实际上是对的:

以下是说明:

  • 请注意新创建的文件的所有修订版(我称它们为 R1 .. 到 Rn)
  • 删除原始文件时注意修订(我称之为 Rd)
  • 至少用这个文件检查工作副本
  • 删除新文件并提交更改并在提交消息中声明文件在提交 R1 中添加错误(说明修订并确保每个人都能理解添加错误的原因)
  • 更新您的工作副本('svn update')
  • 如果使用 tortoiseSVN,请使用 show log 并在历史记录中找到 Rd,单击它并右键单击已删除的文件并选择“Revert changes from this revision” 不要在整个修订版上使用它,因为那样你也会撤消其他更改.在其他操作系统上,为此使用反向合并(“-c-Rd”表示例如“-c-50”,如果 50 是已删除文件的修订版):

    svn 合并 -c-Rd
  • 将当前文件内容从已删除的文件复制到恢复的文件中并提交(在提交消息中说明正在撤销的 Revisions R2..Rn)。替代方案:您可以重新创建每个旧修订并分别提交它们(在每个提交消息中说明原始修订 R2...Rn)
  • 关于svn - 在 subversion 中,有人删除了一个文件,然后在一次提交中将其添加回来,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460258/

    相关文章:

    python - 版本控制历史是如何存储和计算的?

    SVN 清理失败 - 其他发布的解决方案不起作用

    java - Subversion 和 Netbeans - 代码格式更改

    linux - 如何让 git-svn 使用特定版本的 SVN?

    java - Eclipse: 'Revert' 和 'Override and Update' 之间的区别

    svn commit 触发谷歌分析注释?

    java - 可在已编译的 GWT 包中访问 SVN 修订号

    svn - 在带有空格字符的 URL 中使用 svn delete

    java - Subversive 导致 Eclipse 不同步?

    svn - 描述 SVN 符号