2009-08-05 85 views
1

我正在使用Magento电子商务构建网站。我为包括所有Magento PHP文件的网站在服务器上设置了一个subversion repo,并使用svn/webdav将一份副本签出到我的本地系统。我已经将magento添加到回购和承诺。现在,任何SVN opearation,甚至svn statussvn commit,建立档案的列表,以便我可以输入提交信息,需要永远。我的意思是10分钟以上,即使我只更改了一个文件。任何想法可能是错误的/如何排除故障/如何解决/建议?谢谢!svn回购Magento非常慢!

+1

重复http://stackoverflow.com/questions/949492/svn-tortoise-painfully-slow – Dan 2009-08-10 10:46:00

+0

感谢丹!我搜索,但由于某种原因无法找到。完美解释我的问题。 – Josh 2009-08-10 11:51:58

回答

6

我一直使用的Magento + SVN(但不是WebDAV的)自己,并没有这些类型的问题为止。需要很长时间(如2分钟)才能对存储库进行更改,但绝不会超过5分钟。

我真的不知道你的问题的原因,我只是或多或少想说,它通常不是这样的(或者说,它可能是DeltaV的故障)。

解决方法1:

假设你将不会被更改到Magento的核心,你只考虑版本将由你来改变你的Magento安装的那些部分?即模块将驻留的应用程序/代码/本地文件夹,也可能是您的模板文件夹。 这将大大减少版本化文件/文件夹的总数,从而显着提高同步速度。

解决方法2:

始终承诺只包含所有更新的最下面的文件夹。

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

解决方法3:

类似号码1:尝试添加这并不需要被存储在回购忽略列表一切。诸如var/文件夹之类的东西不需要进行版本控制,并且包含大量文件,因此不要将它们包含到存储库中是个好主意。

解决方法4:

使用git而不是SVN,如果这是一个选择。

的eZ的成分与SVN + WebDAV和别人同样的问题相比SVN + DAV使用Git的付款时间。结果可以看到here

在看到这些数字之后,我认为切换是您长期使用的最佳选择。

+0

@安德烈,谢谢!这很有帮助。你有完整的magento安装在svn下还是只有app/code/local文件夹?我不确定我将会改变核心的哪些部分... – Josh 2009-08-05 21:59:50

+0

我有一切版本。我建议不要改变核心中的任何内容,因为它会使更新变得非常困难。 然后,有时您会遇到没有Magento事件可以帮助您的情况,您必须向Magento核心引入新事件,并且没有其他方法可以执行此操作,而是手动执行此操作。 – 2009-08-05 22:05:06

+0

我试过不修改核心,因为我想避免更新头痛。但是我已经对它进行了版本化,所以如果我修改了核心,svn将帮助我将更改合并到下一个版本中。 – Josh 2009-08-05 22:09:26

1

所有Magento的作品可以不接触的单核文件,这是你应该做的方式(也许除了区域设置文件,因为这些都容易合并)来完成。

我写了一个脚本,它可以让你分散你的项目文件遍布Magento的安装根目录不增加管理源代码的难度(并且没有在一个Magento的核心文件检查)。它是如何工作的?软链接。你可以通过手工创建软链接来实现同样的效果,但这样做更容易(部署/更新到活动服务器始终是一个命令)。

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

请参见我的博客文章进一步信息:Module Manager
直接前往来源:Module Manager (via gist)