SVN如何存储提交时间?

SVN如何存储提交时间?,svn,timezone,repository,commit,logging,Svn,Timezone,Repository,Commit,Logging,我正在从事一个项目,该项目涉及使用SVNKit从SVN服务器提取详细信息。我的项目已经完成,我们已经工作了一段时间了。在测试过程中,我注意到一些非常奇怪的事情。提取数据的提交时间似乎总是与SVN日志中的提交时间不同 我在我的项目中找不到任何可能导致这种差异的代码,但现在我正在研究SVN服务器如何存储提交时间。由于我们有来自世界不同地区的开发人员,因此产生了不同的时区,我认为SVN可能在将时间转换为GMT或SVN服务器运行的系统的时区后存储时间。但这似乎没有发生。而是根据提交完成的时间以及本地时区

我正在从事一个项目,该项目涉及使用SVNKit从SVN服务器提取详细信息。我的项目已经完成,我们已经工作了一段时间了。在测试过程中,我注意到一些非常奇怪的事情。提取数据的提交时间似乎总是与SVN日志中的提交时间不同

我在我的项目中找不到任何可能导致这种差异的代码,但现在我正在研究SVN服务器如何存储提交时间。由于我们有来自世界不同地区的开发人员,因此产生了不同的时区,我认为SVN可能在将时间转换为GMT或SVN服务器运行的系统的时区后存储时间。但这似乎没有发生。而是根据提交完成的时间以及本地时区本身存储时间

到目前为止,我在网上找不到任何实质性的文件来支持我的理论


有人能简单地解释一下SVN如何存储每次更改的提交时间吗?与此相关的文档链接将非常有用。

看起来Subversion使用
UTC
时区根据
server
时间设置提交时间,Subversion开发者的电子邮件
Ben Collins Sussman
对此进行了确认。此外,手册页和Perl模块文档也同意这一点

来自:

svn:date

包含以ISO 8601格式创建修订的UTC时间。该值来自服务器的时钟,而不是客户端的时钟

仍然允许使用大量不同的格式,并且时区指示器不是强制性的。但是,如果查看
svn:date
的值,如下所示:

svn propget --revprop -r HEAD http://example.com/svn
2010-12-23T00:45:41.552600Z
那么结果会是这样的:

svn propget --revprop -r HEAD http://example.com/svn
2010-12-23T00:45:41.552600Z

末尾的
Z
UTC时区的指示器,Subversion总是使用该时区记录提交日期时间。

您调用propget子命令似乎忽略了svn:date参数。我必须以这种方式输入命令以达到预期的结果:

svn propget--revprop-r头svn:日期