Как консолидировать несколько скрытых.каталоги svn с Subversion 1.7+
по словам примечания к выпуску Apache Subversion 1.7:
вместо a .каталог svn в каждом каталоге рабочей копии, Subversion 1.7 рабочие копии имеют только один .каталог-в SVN в корне рабочей копии.
допустим, в репозитории есть несколько каталогов, и когда я сначала проверяю, я только выборочно проверяю определенные каталоги. Это, как говорится в документации, создает только один .svn скрыто папка в каталоге верхнего уровня.
Если, однако, я позже решу проверить другой каталог, после завершения проверки будет другой .каталог svn в недавно проверенном каталоге.
из этого следует, что если я попытаюсь сделать фиксацию с корневого уровня, он будет знать только о каталогах, которые были первоначально проверены. Мне также придется совершить для любых последующих проверок индивидуально.
есть ли вообще измените это поведение или сделайте их скрытыми .каталоги svn сливаются вместе? Или мне нужно будет сделать что-то вроде проверки всей структуры каталогов репозитория при первом выполнении проверки?
1 ответов
короткий ответ: Нет. Каждый из них представляет собой отдельную кассу и имеет собственную базу данных. Я уверен, если вы поняли глубокую магию, скрытую внутри .svn
каталог, вы можете munge его, чтобы делать то, что вы хотите. Однако, в отличие от версий Subversion 1.1 до 1.6, структура этого .svn
каталог намного, намного сложнее и не так легко понять.
в вашем случае лучше всего проверить все обратно и сделать новую проверку, чтобы включить оба проекта.
если вы хотите делать это на регулярной основе, что вы должны делать это с помощью --depth=
на svn co
и --set-depth=
на svn update
.
например, я проверяю базовый каталог, но я не хочу ничего другого:
$ svn co --depth=immediates http://svn.vegicorp.com/svn/base_prod
A base_prod/.classpath
A base_prod/.settings
A base_prod/foundation
A base_prod/client
A base_prod/server
это проверяет .settings
и и foundation
, client
и server
справочники, но ничего больше. Это быстро, и я не проверяю много вещей, которые я не хочу.
теперь, я хочу работать на сервер:
$ cd base_prod
$ svn update --set-depth=infinity server
это обновление мой каталог сервера, но оформить заказ вся структура каталогов. Теперь я могу работать с server
, но у меня нет foundation
или client
файлы занимают место.
позже, я хотел бы сделать некоторую работу в foundation
:
$ svn update --set-depth=infinity foundation
теперь у меня есть .