操作系统时间不正确导致的 Jenkins svn 取出失败

我的 Subversion 服务器 http://192.168.0.10/svn 是通过 Write-through proxying 建立的一个 slave server。在 slave 服务器操作系统时间偏移过大的时候,jenkins 从 svn 取出数据时失败了,错误日志如下:

Started by user blah
Cleaning workspace /usr/local/jenkins/jobs/blah-project/workspace
Checking out http://192.168.0.10/svn/blah/trunk
ERROR: Failed to check out http://192.168.0.10/svn/blah-project/trunk
org.tmatesoft.svn.core.SVNException: svn: REPORT of /svn/blah-project/!svn/vcc/default: 500 Internal Server Error (http://192.168.0.10)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDatedRevision(DAVRepository.java:205)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:477)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:879)
	at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
	at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901)
	at hudson.scm.subversion.CheckoutUpdater$1.perform(CheckoutUpdater.java:83)
	at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:135)
	at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:747)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:728)
	at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:712)
	at hudson.FilePath.act(FilePath.java:758)
	at hudson.FilePath.act(FilePath.java:740)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:705)
	at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:654)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1184)
	at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:537)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:425)
	at hudson.model.Run.run(Run.java:1376)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:466)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:175)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: REPORT of /svn/blah/!svn/vcc/default: 500 Internal Server Error (http://192.168.0.10)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:181)
	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:133)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.createDefaultErrorMessage(HTTPRequest.java:430)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.readError(HTTPRequest.java:286)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:211)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:364)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:285)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:276)
	at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:264)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:266)
	at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.doReport(DAVConnection.java:257)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDatedRevision(DAVRepository.java:198)
	... 20 more
WARNING: clock of the subversion server appears to be out of sync. This can result in inconsistent check out behavior.
Finished: FAILURE

#jenkins, #subversion