2009-08-05 59 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)