用于Magento的svn回购非常慢!

时间:2009-08-05 21:25:16

标签: php svn magento webdav

我正在使用Magento电子商务建立一个网站。我在服务器上为网站设置了一个subversion repo,包括所有Magento PHP文件,并使用svn / webdav将副本签出到我的本地系统。我已经将magento添加到了repo并且已经提交了。现在,任何svn操作,甚至是svn statussvn commit,构建文件列表以便我可以输入提交消息,永远。我的意思是超过10分钟,即使我只更改了一个文件。关于什么可能是错误的/如何排除故障/如何修复/建议的任何想法?谢谢!

2 个答案:

答案 0 :(得分:6)

我自己一直在使用Magento + SVN(不是WebDAV),到目前为止还没有遇到过这类问题。提交更改到存储库需要很长时间(如在2分钟内),但绝不会超过5分钟。

我真的不知道你的问题的原因,我或多或少想说它通常不那样(或者它可能是WebDAV的错误)。

解决方法1:

假设您不会对Magento的核心进行更改,您是否考虑过仅对您的Magento安装部分进行版本控制?即你的模块所在的app / code / local文件夹,也许是你的模板文件夹。 这将大大减少版本化文件/文件夹的总数,从而显着提高同步速度。

解决方法2:

始终只提交包含所有更新的最下层文件夹。

cd app/code 
svn commit -m ".." local

解决方法3:

与数字1类似:尝试将不需要存储在repo中的所有内容添加到忽略列表中。诸如 var / 文件夹之类的东西不需要进行版本化并包含大量文件,因此最好不要将它们包含在您的存储库中。

解决方法4:

如果您可以选择使用git而不是SVN。

eZ Components与SVN + WebDAV存在同样的问题,有人将SVN + DAV的结账时间与git进行了比较。结果可见here

在看到这些数字之后,我认为从长远来看,切换是您最好的选择。

答案 1 :(得分:1)

所有Magento的工作都可以在不触及单个核心文件的情况下完成,这是你应该这样做的方式(除了区域设置文件,因为它们很容易合并)。

我编写了一个脚本,可以让您在Magento的安装根目录中分散项目文件,而不会增加管理源代码的难度(并且无需检入单个Magento核心文件)。它是如何工作的?软链接。通过手动创建软链接,您可以在没有我的脚本的情况下完成相同的操作,但这只会使其更容易(部署/更新到实时服务器总是一个命令)。

我不确定Windows支持,它可以在cygwin中工作,但我还没有测试过。我在Windows上进行开发,但运行一个虚拟机器(VirtualBox),上面有我的LAMP堆栈,通过Samba与Windows共享文件,所以我通过Linux客户机上的命令行运行脚本,并通过Samba共享使用Netbeans编辑我的文件(我可以通过Netbeans的subversion模块提交更改。

有关详细信息,请参阅我的博文:Module Manager
直接来源:Module Manager (via gist)