【问题标题】:How can I import a directory structure into SVN, keeping the file and folder modifed dates the same?如何将目录结构导入 SVN,保持文件和文件夹修改日期相同?
【发布时间】:2008-11-04 12:32:44
【问题描述】:

我有一个大型源代码树(> 2 GB,WINCE 构建树),我想开始使用 Subversion 进行管理。到目前为止,“版本控制”是通过保留树的多个副本并使用 Beyond Compare 来查找差异来管理的。

我看到使用 Subversion 的最后一个大绊脚石是它将文件时间戳修改为提交时间。这使得 Beyond Compare 比较更加耗时,因为您必须进行二进制比较才能发现更改。

我查看了 subversion 源代码树的 meta-data versioning 分支,但我不想尝试将 2006 年的代码合并到当前的 svn 源代码中。

谢谢,

戴夫

【问题讨论】:

    标签: windows svn timestamp beyondcompare


    【解决方案1】:

    有一个 svn config 选项可以控制时间戳在存储库中的存储方式:

    use-commit-times
    

    通常您的工作副本文件有 反映上次时间的时间戳 他们被任何过程所感动, 无论是你自己的编辑还是由 一些 svn 子命令。这一般是 方便人们发展 软件,因为经常构建系统 将时间戳视为一种方式 决定哪些文件需要 重新编译。

    然而,在其他情况下,它是 有时很适合工作副本 具有反映时间戳的文件 上次他们在 存储库。 svn 导出命令 总是将这些“最后提交 时间戳”在它产生的树上。 通过将此配置变量设置为 是的,svn 结帐,svn 更新,svn switch 和 svn revert 命令将 还设置最后提交时间戳 他们接触的文件。

    见Runtime Configuration Area 和 Configuration Options

    顺便说一句,Beyond Compare rocks!我使用所有提到的,svn diff、TortoiseMerge 和 BC2。 BC2是最完整的。

    【讨论】:

      【解决方案2】:

      Subversion 进行比较的速度比无法比较的快得多..

      如果你使用 tortoiseSVN,你甚至可以使用超越比较作为外部 Diff 工具。

      【讨论】:

      • 这是用户的问题,而不是系统没有做它应该做的事情。感谢您的快速回复。
      【解决方案3】:

      快速检查后:如果您从工作副本提交文件,它会保留其时间戳(上次修改时间)。即使在更新之后(无需对该文件进行进一步的远程更改),该文件也会保留上次修改的时间戳。测试在 Linux 上进行,Subversion 版本为 1.4.6。

      如果您更新一个远程更改的文件,它会获得一个新的时间戳。

      所以你保留上次修改的时间戳。

      此外:为什么要对差异使用“超越比较”。您将不再需要保留不同的目录来反映不同的版本。并且 subversion 有它自己的 diff 功能,可以为修订组合准备 diff。

      【讨论】:

      • 这是用户的问题,而不是系统没有做它应该做的事情。感谢您的快速回复。
      【解决方案4】:

      是否需要在每个客户端 m/c 配置文件上将“use-commit-times”设置为 yes,或者是否有任何选项可以将其集中在 Subversion 安装目录中?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多