如何在Subversion上保留原始文件[commit]时间戳?

时间:2010-01-31 14:08:16

标签: svn datetime timestamp

我想确定如果我在一台机器上从Subversion中提交了一些内容,并在另一台机器上检出,我会得到相同的datetime和timestamp值。

目前,我观察到文件修改的日期时间是从我进行同步而不是原始值的那一刻开始的。

对我来说,知道文件何时同步没有任何意义 - 我只想查看上次提交时间。

此问题与时区无关。

4 个答案:

答案 0 :(得分:61)

您可以在.subversion/config

中进行设置
[miscellany]
use-commit-times = yes

如果我们谈论源文件,你会有奇怪的副作用。

例如,您构建软件并执行svn update。现在,更新文件的时间戳早于构建结果文件的时间戳,即使某些源文件发生更改,也不会重建它。对此设置要非常小心。

答案 1 :(得分:29)

如果您使用的是TortoiseSVN,则可以选择。 TortoiseSVN - >设置 - >一般 - > “将文件日期设置为'上次提交时间'”。

Right click on your Tortoise shortcut to settings

答案 2 :(得分:14)

Subversion不保留文件的原始时间戳。

如果您绝对需要保留时间戳,则必须自己完成。例如,您可以将原始时间戳存储为Subversion属性。

答案 3 :(得分:1)

似乎'stat -c%y $ FILE'被用作在svn:date上运行的pre-revprop-change钩子的一部分。我可能会看到的唯一问题是日期格式。