代码之家  ›  专栏  ›  技术社区  ›  Josh Andreas Rehm

对于Magento的svn回购非常缓慢!

  •  1
  • Josh Andreas Rehm  · 技术社区  · 15 年前

    我正在使用Magento电子商务建立一个网站。我在服务器上为网站设置了subversion repo,包括所有Magento PHP文件,并使用svn/webdav将副本签出到本地系统。我已将magento添加到回购协议中并承诺。现在,任何svn操作,即使是 svn status svn commit ,生成文件列表以便输入提交消息,需要 永远 . 我的意思是10分钟以上,即使我只更改了一个文件。对可能出现的问题/如何排除故障/如何修复/建议有何看法?谢谢

    2 回复  |  直到 15 年前
        1
  •  6
  •   André Hoffmann    15 年前

    我真的不知道你的问题的原因,我只是多多少少想说,通常情况并非如此(或者这可能是WebDAV的错)。

    解决方法1:

    假设您不会对Magento的核心进行更改,您是否考虑过只对将由您更改的Magento安装部分进行版本控制?i、 e.模块所在的应用程序/代码/本地文件夹,可能还有模板文件夹。

    解决方法2:

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

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

    解决方案3:

    与第一点类似:尝试将不需要存储在回购协议中的所有内容添加到忽略列表中。比如 变量/

    解决方案4:

    git 而不是SVN,如果这是您的选择。

    eZ组件与SVN+WebDAV有相同的问题,有人比较了SVN+DAV与git之间的签出时间。结果可见一斑 here

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

        2
  •  1
  •   ColinM    15 年前

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

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

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

    Module Manager
    直奔源头: Module Manager (via gist)