【问题标题】:svn repo for Magento is very slow!Magento 的 svn repo 非常慢!
【发布时间】:2010-11-17 04:13:22
【问题描述】:

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

【问题讨论】:

标签: php svn magento webdav


【解决方案1】:

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

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

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

查看我的博文了解更多信息:Module Manager
直接上源码:Module Manager (via gist)

【讨论】:

    【解决方案2】:

    我自己一直在使用 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

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

    【讨论】:

    • @Andre,谢谢!这很有帮助。你有整个 magento 安装在 svn 下还是只是 app/code/local 文件夹?我不确定我会改变核心的哪些部分......
    • 我对所有内容都进行了版本控制。我建议不要更改核心中的任何内容,因为它会使更新变得非常困难。再说一次,您有时会遇到没有 Magento 事件可以帮助您的情况,您必须向 Magento 核心引入一个新事件,除了手动执行之外别无他法。
    • 我试图不修改核心,因为我想避免更新头痛。但是我已经对它进行了版本化,因此如果我确实修改了核心,svn 会帮助我将我的更改合并到下一个版本中。
    • 我从未尝试过,但你不能在子文件夹中执行 svn commit 命令,这样它就不会遍历整个 repo,而只会遍历你当前所在的子文件夹?像这样: "cd app/code && svn commit -m "..." local" 这样你仍然可以对核心进行更改。
    • +1,你是对的,当我能做到这一点时,这确实有帮助。可悲的是,我在根级别上有大约 5 个目录,而且我经常需要一次全部提交。 (或者,不是“需要”而是“想要”:-)
    猜你喜欢
    • 2010-10-31
    • 2018-02-12
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    相关资源
    最近更新 更多