我们在办公室的开发服务器上保存了三个网站的 SVN 工作副本。服务器 WAS Linux,工作副本在 Windows 机器上工作,并使用 TortoiseSVN 更新/提交等。我会先说我知道网络共享上的工作副本不受严格支持,但这样做是为了在将它们放到实时服务器上之前,我们可以在本地开发 URL 上离线测试我们对站点的代码更改。
这工作非常出色。完全没有问题 - 直到我们的 Linux 服务器出现问题并不得不更换。我们已将其替换为 Mac,以扼杀在内部使用 Mac 进行浏览器测试的第二只鸟。
自从把所有东西都移到 Mac 上之后,SVN 就一直是个大问题。提交/更新通常会因“数据库已锁定”错误而失败,而且我大部分时间都无法清理,因为它通常会因以下错误而失败:
清理未能处理以下路径: PATH TO WC ON NETWORK 数据库已锁定,正在执行语句 'COMMIT TRANSACTION;'
正在执行的语句不同,有时与 RELEASE 有关。
我们所做的代码更改必须在我们的开发服务器上进行测试,然后才能在线提交到实时站点。就目前而言,我现在在自己的硬盘上签出了一份工作副本。我必须提交我的更改,在开发服务器上更新(并祈祷它可以工作 - 无论哪种方式都需要 AGES)并测试它们,然后在它们工作时更新实时服务器。
我也无法在网络共享上签出新的工作副本 - 再次,它通常无法抱怨磁盘 I/O 错误或数据库被锁定。我们已经禁用了 Mac 的所有省电功能,以防睡眠或硬盘减速导致 - 运气不好。
如果可能,我希望将工作副本保留在网络共享上。正如我已经说过的,我意识到这不是执行 SVN 的最合适的方式,但它一直在为我们工作。我可以做些什么来尝试解决这个问题?我怀疑它与 Windows -> Mac 网络相关,实际上还有另一个问题是关于从我的机器到 Mac 网络共享的慢速网络访问。