【问题标题】:TortoiseSVN: Move file does not preserve historyTortoiseSVN:移动文件不保留历史记录
【发布时间】:2010-01-26 17:50:31
【问题描述】:

我正在尝试将文件移动到 TortoiseSVN 存储库中的另一个文件夹,并且没有保留修订历史。我已经尝试使用 Repo 浏览器移动文件(右键单击拖动文件并选择“将项目移至此处”)以及工作文件夹中(右键单击拖动,选择“SVN 将版本化文件移至此处”并提交父文件夹)。在这两种情况下,历史都不会被保留。我已经阅读了 TortoiseSVN 手册以及人们的其他一些帖子,并且我很肯定这些都是这样做的方法。我错过了什么吗?

【问题讨论】:

  • 如果我没记错的话(现在无法查找),TortoiseSVN 的历史查看器只显示移动或复制的历史,并且有一个复选框可以让它更深入地挖掘.
  • 您是否在历史浏览器中取消标记“停止复制/重命名”?
  • 是的,我还是看不到历史记录。
  • 我的存储库的不同之处在于它是从备份创建的。会不会跟这有关系?

标签: svn version-control tortoisesvn


【解决方案1】:

Subversion 和 TortoiseSVN 绝对会保留文件历史记录。 (这是 SVN 的基本方面之一。)

两个关键点(您似乎已经意识到了):

  • 您必须使用 SVN 移动/复制/重命名命令。否则,SVN 将无法知道它们是同一个文件。

  • 查看已移动/复制/重命名的日志时,您必须确保未选中“停止复制/重命名”选项。否则,日志只会返回到目前为止。

现在,请记住,您需要查看日志以查找实际移动/复制的内容。查看已复制文件的日志。不要查看您从中复制它的目录的日志,或者您将其复制到的目录。

【讨论】:

  • 谢谢!我已经涵盖了这两点,但仍然没有历史记录。而且 Subversion 使用全局修订号,所以如果我在 repo 浏览器的根目录上执行“显示日志”,我应该会看到移动操作。由于某种原因,这没有出现。
  • 如果你在 repo 的根目录显示日志,你应该看到每一个变化。对于您执行移动操作的修订版,它显示了什么?
  • 在文件重命名后查看文件夹的日志窗口:您应该看到文件从旧位置“删除”并“添加”到新位置。您将看到填充了“从路径复制”和“修订”列,其中显示了文件的祖先。如果您对单个文件执行显示日志,它将显示文件的历史记录(只要未选中“复制/重命名时停止”)。
【解决方案2】:

带有答案的页面已从 TortoiseSVN 帮助文档中删除: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html>

但仍存在于 Google 缓存中:

http://webcache.googleusercontent.com/search?q=cache:x7UeADC8BpwJ:tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-rename.html+&cd=4&hl=en&ct=clnk&gl=us

如果您想在工作副本内移动文件,可能移动到不同的子文件夹,请使用鼠标右键拖放处理程序:

选择要移动的文件或目录

将它们拖到工作副本中的新位置

松开鼠标右键

在弹出菜单中选择 Context Menu → SVN Move versioned files here

【讨论】:

    【解决方案3】:

    我发现,在您在这里执行 SVN 移动版本化文件之后,只要您选择每个文件,您就可以访问历史记录。如果您尝试查看文件夹的日志,它只会显示副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多