2008-11-04 64 views
3

我有一个大的源代码树(> 2 GB,WINCE构建树),我想开始使用Subversion进行管理。到目前为止,通过保留树的多个副本来管理“版本控制”,并使用“超越比较”来找出差异。如何将目录结构导入到SVN中,保持文件和文件夹修改日期相同?

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

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

感谢,

戴夫

回答

2

有控制时间戳是如何存储在仓库中的SVN配置选项:

use-commit-times 

通常你的工作拷贝文件有 时间戳反映他们受到的任何进程触动最后一次 , 无论是你自己的编辑还是 某些svn子命令。这通常是 方便开发 软件的人,因为构建系统通常会将时间戳看作 决定哪些文件需要重新编译的 。

在其他情况下,但是,它的 有时不错的工作副本 文件有反映 他们在 库被改变的最后一次时间戳。 svn导出命令 始终将这些“最后提交 时间戳”放置在它生成的树上。 通过设置此配置变量为 是的,svn checkout,svn update,svn 开关和svn revert命令将 也设置 他们触摸的文件上的最后提交时间戳。

Runtime Configuration AreaConfiguration Options

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

0

Subversion会做之比较比甚至超越比较会做..

如果使用TortoiseSVN,你甚至可以用无法比拟的外部diff工具快得多。

+0

这是用户的问题,而不是系统没有做它应该做的。感谢您及时的回复。 – DavidEBest 2008-11-04 13:04:43

0

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

如果更新文件,该文件已远程更改,则会获取新的时间戳。

因此,您保留上次修改的时间戳。

此外:为什么你想使用'比较'比较。您将不再需要保留不同的目录以反映不同的版本。而Subversion有自己的差异特征来为修订组合准备差异。

+0

这是用户的问题,而不是系统没有做它应该做的事情。感谢您及时的回复。 – DavidEBest 2008-11-04 13:03:33

0

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

相关问题