Я использую подверсию для хостинга моего собственного репозитория для установки WordPress. У меня есть настроенный так, чтобы все базовые файлы WordPress были в их собственном каталоге (названы Wordpress) и настроенный для использования svn:externals для соединения с репозиторием WordPress. У меня затем есть своя собственная копия каталога wp-содержания (расположенный за пределами каталога Wordpress), который не использует svn:externals. Это все хорошо работает.
Когда я обновляю свой репозиторий, ядро WordPress обновляется. Так как репозиторий WordPress содержит свой собственный каталог wp-содержания, он также обновляет тот каталог. Таким образом, моя файловая структура заканчивает тем, что выглядела примерно так:
/
--/wordpress/ (wordpress repo)
-----/wp-admin/
-----/wp-content/
--/wp-content/ (my local repo)
Я заканчиваю тем, что имел две отдельных версии папки wp-содержания (один от моего repo и один из WordPress repo). Я не хочу тот от WordPress repo (или по крайней мере не в том месте). Существует ли способ для меня установить svn для игнорирования wordpress/wp-content каталога при тихом использовании определения внешнего облика?
Что вы действительно спрашиваете, «Можете ли вы указать - глубину
для SVN: внешние
» и ответ нет. В настоящее время внешние внешности полностью рекурсируются в указанном каталоге.
Выпуск 3216 запрашивает эту функцию, но она не похоже, что она скоро придет в ближайшее время.
Вы можете сделать это с помощью редких каталогов (также известных как неглубокие каприз ). Я не на 100% уверен, что он работает при использовании внешних, но я не понимаю, почему это не так.
Вы можете создать отдельные внешние файлы для каждой подпапки в указанном репозитории. Итак, если ваш внешний вид относится к репо с проектами A, B и C, и вам нужны только A и B, вы можете сделать две отдельные внешние ссылки на подпапки для A и B по отдельности.
В настоящее время я делаю это с проектом, но вы можете столкнуться с проблемами, если действительно вносите изменения во внешние элементы и фиксируете их, поскольку изменения в двух отдельных внешних элементах не могут быть зафиксированы атомарно. Эта проблема существует, даже если два внешних объекта на самом деле указывают на один и тот же репозиторий, что имеет смысл, но важно помнить при использовании этого метода.
Также, если вы отвечаете за второй репозиторий, один из вариантов - поместить тестирование, документацию и другие связанные папки в еще один отдельный репозиторий с внешними элементами исходного кода, чтобы отделить их от основного репозитория кода. Таким образом, эти папки не будут задействованы при создании внешней ссылки из-за зависимостей кода.
Что произойдет, если вы попытаетесь удалить локальный каталог wp-content, но сделаете это через SVN? т.е.
svn rm /wordpress/wp-content
Таким образом, SVN должен запоминать ваши изменения, и я предполагаю, что вы не отправляете какие-либо данные в репозиторий Wordpress, поэтому вам не нужно беспокоиться о случайном внесении изменений.