svn-репо для Magento работает очень медленно!
Вопрос
Я работаю над созданием веб-сайта с использованием электронной коммерции Magento.Я установил на сервере репозиторий Subversion для веб-сайта, включая все PHP-файлы Magento, и извлек копию в свою локальную систему с помощью svn/webdav.Я добавил magento в репо и зафиксировал.Теперь любая операция svn, даже svn status
или svn commit
, создание списка файлов, чтобы я мог ввести сообщение о фиксации, занимает навсегда.Я имею в виду более 10 минут, даже если я изменил только один файл.Есть идеи, что может быть не так/как устранить неполадки/как исправить/предложения?Спасибо!
Решение
Я сам работал с Magento + SVN (однако не с WebDAV), и до сих пор у меня не было таких проблем.Фиксация изменений в репозитории занимает много времени (около 2 минут), но ни в коем случае не более 5 минут.
Я действительно не знаю причину вашей проблемы, я просто более или менее хотел сказать, что обычно это не так (или что это может быть вина WebDAV).
Обходной путь 1:
Предполагая, что вы не будете вносить изменения в ядро Magento, рассматривали ли вы возможность создания версий только тех частей вашей установки Magento, которые будут изменены вами?то естьпапка app/code/local, где будут находиться ваши модули, и, возможно, папка вашего шаблона.Это значительно уменьшит общее количество версионных файлов и папок и тем самым значительно увеличит скорость синхронизации.
Обходной путь 2:
Всегда фиксируйте только самую нижнюю папку, содержащую все обновления.
cd app/code
svn commit -m ".." local
Обходной путь 3:
Аналогично номеру 1:Попробуйте добавить в список игнорирования все, что не нужно хранить в репозитории.Такие вещи, как вар/ папка не требует версионирования и содержит много файлов, поэтому может быть хорошей идеей не включать их в свой репозиторий.
Обходной путь 4:
Использовать мерзавец вместо SVN, если это для вас вариант.
У eZ Components были те же проблемы с SVN + WebDAV, и кто-то сравнил время оформления заказа между SVN+DAV и git.Результаты можно увидеть здесь.
Увидев эти цифры, я думаю, что переход на другую работу — лучший вариант в долгосрочной перспективе.
Другие советы
Вся работа с Magento может быть выполнена без прикосновения к одному базовому файлу, как вы должны это делать (за исключением, возможно, файлов локали, поскольку их легко объединить).
Я написал скрипт, который позволяет разбрасывать файлы проекта по всему установочному корню Magento, не увеличивая сложность управления исходным кодом (и без проверки в одном основном файле Magento). Как это работает? Мягкие ссылки. На самом деле вы можете сделать то же самое без моего скрипта, создавая мягкие ссылки вручную, но это только упрощает (развертывание / обновление на работающем сервере всегда одна команда).
Я не уверен насчет поддержки Windows, она может работать в Cygwin, но я не тестировал. Я занимаюсь разработкой под Windows, но запускаю виртуальную машину (VirtualBox) со своим стеком LAMP, разделяя файлы с Windows через Samba, поэтому я запускаю скрипт через командную строку на гостевой системе Linux и редактирую свои файлы с Netbeans через общий ресурс Samba ( и я могу зафиксировать изменения через модуль Subversion Netbeans).
Дополнительную информацию смотрите в моем блоге: Менеджер модулей
Перейдите прямо к источнику: Менеджер модулей (с помощью gist)