Как войти в локальную копию подкаталогов AND svn: externals за один коммит? - PullRequest
2 голосов
/ 25 февраля 2010

У нас есть проект SVN, в котором также есть несколько плагинов в vendor/plugins - все подключаются через svn:externals.

У меня есть коммит, который охватывает как основной проект, так и несколько этих плагинов одновременно.

Когда я делаю svn st, он перечисляет все мои измененные файлы во всех правильных подкаталогах, но когда я пытаюсь сделать svn ci, он показывает только файлы из моего локального проекта.

Как сделать один коммит, который включает в себя как локальные изменения , так и и каталоги svn:externals?

1 Ответ

3 голосов
/ 25 февраля 2010

Хорошо, похоже, что не вполне возможно объединить локальные изменения с внешними svn, но вы можете объединить все несколько внешних элементов и затем проверить свои локальные рабочие изменения.

Чтобы зафиксировать обратно в svn:externals проект, вы должны явно указать имя каталога svn:externals при регистрации, например:

svn ci vendor/plugin/<plugin_name>

Вы можете проверить любое количество различных плагинов в одной командной строке:

svn ci vendor/plugin/<plugin_one>  vendor/plugin/<plugin_two> ... 

Но тогда ваши локальные изменения рабочей копии должны быть сделаны отдельно. Если вы этого не сделаете, вы получите либо неприятное предупреждение, в котором говорится, что «Невозможно заблокировать» локальную рабочую копию, и спросите: «Все ли цели являются частью одной рабочей копии? ИЛИ вы получите какое-то странное сообщение о том, что

svn: Commit failed (details follow):
svn: Illegal repository URL ''

Так что, похоже, вы должны фиксировать изменения рабочей копии независимо от вашей фиксации svn: externals. Тем не менее - по крайней мере, это только для, а не N (где N - количество плагинов плюс рабочая копия). Вы по-прежнему можете связать два коммита вместе с одним и тем же сообщением коммита.

...