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