svn提交报错,Error running context: 远程主机强迫关闭了一个现有的连接

今天用svn提交代码,一直报错!

报错信息:

Commit failed (details follow):
Error running context: 远程主机强迫关闭了一个现有的连接。

网上的方法如clean up、clear data我都试了,还是一样的错误。

我重新拉一个svn版本库,试了试,还是一样的错误。

最后我一个文件一个文件单独提交,发现只有其中的5个文件提交不上,其他都可以提交。

我新建一个文件,提交成功。
删除一个文件,提交成功。
修改一个文件,提交成功。

貌似只有那5个文件有毒。

尝试,break lock,压根没有lock哪里来的break lock。我只好自己lock之后再break lock,还是不行,报一样的错误。

我把其中一个文件copy出来 add再提交,还是一样的错误。
确定是文件内容造成。
逐步,删除copy出来的那个文件,最后确定问题代码是出在下面:

private String getPath(HttpServletRequest request) {
	String basePath = getBasePath(request.getSession().getServletContext());
	String dateStr = new SimpleDateFormat("yyyyMM").format(new Date());
	File temp = new File(basePath + "/" + dateStr + "/");
	if (!temp.exists()) {
		temp.mkdirs();
	}
	String path = dateStr + "/" + System.currentTimeMillis() + ".jpg";
	return basePath + path;
}

只要这段代码出现在任何文件,那么那个文件一定不能提交。

初步怀疑,这段代码会触发svn某些东西,包括检查,由于这些操作会占用一定时间,然后触发svn连接超时,进而导致“远程主机强迫关闭了一个现有的连接”。

解决办法,将问题代码(不是问题文件的所有代码哦)逐行提交,就是说每次只提交一行即可,直到所有问题代码全部提交上去。

你可能感兴趣的:(开发工具,svn,服务器)