我怎样才能保持Subversion的原始文件时间戳?

我想确定,如果我在一台机器上在Subversion中提交了一些东西,并且在另一台机器上签出,我将得到相同的datetime和timestamp值。

目前,我观察到文件修改的date时间是从做同步而不是原始值开始的。

对我来说,知道什么时候文件同步是没有意义的 – 我只想看最后一次提交的时间。

这个问题不是时区相关的。

你可以在.subversion/config设置它:

 [miscellany] use-commit-times = yes 

如果我们正在讨论源文件,虽然你会有奇怪的副作用。

例如,你build立你的软件,并进行svn update 。 现在,更新文件的时间戳比构build结果文件的时间戳更早,即使某些源文件已更改,也不会重新生成。 要非常小心这个设置。

如果您使用的是TortoiseSVN,则有一个选项。 TortoiseSVN – >设置 – >常规 – >“将文件date设置为'上次提交时间'”。

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

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

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