3

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

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

我查看了 subversion 源代码树的元数据版本控制分支,但我不想尝试将 2006 年的代码合并到当前的 svn 源代码中。

谢谢,

戴夫

4

4 回答 4

2

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

use-commit-times

通常,您的工作副本文件具有反映它们最后一次被任何进程触及的时间戳,无论是您自己的编辑器还是某些 svn 子命令。这对于开发软件的人来说通常很方便,因为构建系统通常将时间戳视为决定哪些文件需要重新编译的一种方式。

然而,在其他情况下,有时工作副本文件最好有时间戳,以反映它们在存储库中的最后一次更改。svn export 命令总是将这些“最后提交时间戳”放在它生成的树上。通过将此配置变量设置为 yes,svn checkout、svn update、svn switch 和 svn revert 命令还将在它们接触的文件上设置最后提交时间戳。

请参阅运行时配置区域配置选项

顺便说一句,超越比较岩石! 我使用所有提到的,svn diff,TortoiseMerge 和 BC2。BC2是最完整的。

于 2008-11-04T13:10:14.387 回答
0

Subversion 会比无法比较更快地进行比较..

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

于 2008-11-04T12:39:55.837 回答
0

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

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

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

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

于 2008-11-04T12:49:36.753 回答
0

Whether "use-commit-times" needs to be set to yes on every client m/c config file OR is there any option to centralize this on Subversion installation directory?.

于 2012-09-21T15:23:29.623 回答