【问题标题】:Why svn commit changes timestamps?为什么 svn commit 更改时间戳?
【发布时间】:2011-11-03 21:34:14
【问题描述】:

我正在 SVN 版本控制下开发 C++ 项目。这是我的典型工作流程:

  • 对工作副本进行一些更改
  • 构建和测试项目
  • 提交

在最后一步之后,所有已提交文件的时间戳都更改为当前时间。这很不方便,因为依赖这些文件的项目的所有部分都将再次重建,尽管它们的内容在提交后没有改变(只有时间戳)。

  • 为什么这种行为会有用?
  • 我可以配置 svn 来禁用它吗?

【问题讨论】:

  • 你使用哪个 svn-client?在哪个操作系统中?
  • 您的文件是否设置了 svn:keyword 属性?
  • 哪些时间戳?上次访问或上次修改时间?
  • 我在Linux上也有同样的效果,我觉得答案1是对的(svn:keywords)。
  • 是的,我已将svn:keywords 设置为Id Rev。我不认为,我可以删除它们,因为它们在 cpp 和 h 文件中使用。

标签: svn timestamp


【解决方案1】:

通常,SVN 客户端不会出现这种行为。然而, svn:keywords 属性有这个副作用(因为替换属性会改变文件的时间戳)。当你不需要关键字时(它们在 C++ 项目中很少使用),你应该检查是否设置了 svn:keywords 属性并将其删除。

【讨论】:

    【解决方案2】:
    • 如果您使用 TSVN,您可以更改设置 - 常规 - 将文件日期设置为复选框
    • 如果您使用 CLI,但仍使用 Windows HKEY_CURRENT_USER\​Software\Tigris.org​\Subversion\Config​\miscellany“use-commit-times”键(是|否)
    • If you use any other OS - 您必须找到并编辑 Subversion 配置文件并根据需要进行更改 `#use-commit-times = yes' 键

    SVN 属性(任何)与时间戳问题略有相关

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2021-08-12
      相关资源
      最近更新 更多