我有一个大型源代码树(> 2 GB,WINCE构建树),我想开始使用Subversion进行管理。到目前为止,通过保留树的多个副本并使用Beyond Compare查找差异来管理“版本控制”。
我看到使用Subversion的最后一个绊脚石是它将文件时间戳修改为提交时间。这使得Beyond Compare比较更加耗时,因为您必须进行二进制比较才能找到更改。
我查看了subversion源代码树的meta-data versioning分支,但我宁愿不尝试将2006年的代码合并到当前的svn源代码中。
谢谢,
戴夫
答案 0 :(得分:2)
有一个svn配置选项可以控制时间戳在存储库中的存储方式:
use-commit-times
通常你的工作副本文件有 反映最后一次的时间戳 他们被任何过程所感动, 无论是你自己的编辑还是 一些svn子命令。这通常是 方便人们发展 软件,因为经常构建系统 把时间戳看作一种方式 决定需要哪些文件 重新编译。
然而,在其他情况下,它是 有时对工作副本很好 文件有反映的时间戳 他们最后一次改变了 库。 svn export命令 总是把这些“最后提交 时间戳“在它产生的树上。 通过将此配置变量设置为 是的,svn checkout,svn update,svn switch和svn revert命令会 还设置了last-commit时间戳 他们接触的文件。
见Runtime Configuration Area和 Configuration 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安装目录上?。