![SVN 在提交时挂起-有任何故障排除建议吗?](https://linux22.com/image/526370/SVN%20%E5%9C%A8%E6%8F%90%E4%BA%A4%E6%97%B6%E6%8C%82%E8%B5%B7-%E6%9C%89%E4%BB%BB%E4%BD%95%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4%E5%BB%BA%E8%AE%AE%E5%90%97%EF%BC%9F.png)
我们在使用 SVN 时遇到了问题... 当我们一次将多个文件提交到服务器时,Subversion 客户端(例如 TortoiseSVN)会挂起。所有内容似乎都已成功提交到存储库;但所有数据传输完毕后,客户端会挂起。
我们使用的是 SVN 服务器 1.4.4 版。我们使用 svn:// 协议而不是 http 进行连接。
我们在多个客户端上重现了这个问题:TortoiseSVN(1.6.10)、AnkhSVN(2.1)和 Silk 命令行客户端(1.6.12)。团队中的每个人都遇到了这个问题,不过有些人似乎比其他人受到的影响更大。如果有人只提交几个文件,它通常可以正常工作;但如果提交了六个以上的文件,它通常会挂起。
有人有故障排除建议吗?这种情况偶尔会发生一段时间,但最近变得相当一致。我们一直在通过关闭挂起的 SVN 客户端、执行“svn cleanup”,然后执行“svn up”来解决这个问题;但有时这会导致树冲突。另一种解决方法是删除工作区并在每次提交后再次检查它;但这当然很烦人。
是否有任何诊断可以帮助我们解决此问题?我们正在考虑升级到 SVN 1.6 服务器,并在新机器上安装该服务器;但我们想知道是否有更简单的解决方案。
谢谢你的帮助,
理查德
答案1
strace
当问题发生时,您可以尝试svn daemon 来查看那里发生了什么。
答案2
Svn 在文件系统上的表现很差,尤其是 NTFS,该文件系统访问许多小文件的速度较慢......
尝试将您的工作副本移动到 FAT 32 / FAT 16 格式的外部硬盘上,或者从 Linux (ext3) 使用它,但不要指望它太快(svn 架构也很糟糕,有太多“.svn”文件)
为了避免这些问题,我做的另一件事是在提交之前仅选择已更改的文件,而不是所有基础工作副本
无论如何,多年来我一直遇到和你同样的问题...现在我发现 Git 是由 Linus Torvarlds 开发的,它考虑了文件系统和速度,我建议你也尝试一下,因为 github 很棒,学习它可以为开发人员带来很大的权力。