1

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

4

2 回答 2

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 之间的结帐时间。结果可以在这里看到。

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

于 2009-08-05T21:50:31.760 回答
1

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

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

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

有关更多信息,请参阅我的博客文章:模块管理器
直接访问源代码:模块管理器(通过 gist)

于 2009-10-17T05:55:31.783 回答