如何将目录结构导入SVN,保持文件和文件夹修改日期相同?

时间:2008-11-04 12:32:44

标签: windows svn timestamp beyondcompare

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

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

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

谢谢,

戴夫

4 个答案:

答案 0 :(得分:2)

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

use-commit-times
  

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

     

然而,在其他情况下,它是   有时对工作副本很好   文件有反映的时间戳   他们最后一次改变了   库。 svn export命令   总是把这些“最后提交   时间戳“在它产生的树上。   通过将此配置变量设置为   是的,svn checkout,svn update,svn   switch和svn revert命令会   还设置了last-commit时间戳   他们接触的文件。

Runtime Configuration AreaConfiguration Options

BTW,超越比较摇滚!我使用了所有提到的,svn diff,TortoiseMerge和BC2。 BC2是最完整的。

答案 1 :(得分:0)

Subversion将比对比更快地进行比较。

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

答案 2 :(得分:0)

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

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

所以你要保留最后一次修改的时间戳。

此外:为什么你要对差异使用'Beyond Compare'。您将不再需要保留不同的目录以反映不同的版本。并且subversion具有自己的差异特征,可以为修订组合准备差异。

答案 3 :(得分:0)

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