Как сделать нерекурсивные коммиты с TortoiseSVN? - PullRequest
1 голос
/ 16 марта 2009

Когда я изменяю свойство (скажем, svn: ignore) в самом верхнем каталоге, который я извлек (в большинстве случаев это транк, во всяком случае), используя TortoiseSVN, клиент (ы) рекурсивно проходит весь проект.

Большое дерево, много данных, занимает много времени.

Как мне этого избежать? Могут быть изменения где-то еще, но я знаю, что я просто не заинтересован в них, и все равно снимите их.

Мне известна функция разреженного извлечения, но я не понимаю, как применить это здесь, поскольку у меня нет разреженного извлечения. Нужно ли мне создать вторую, редкую проверку, применить изменения / фиксацию и затем обновить мою другую копию?

Ответы [ 2 ]

7 голосов
/ 16 марта 2009

Попробуйте:

svn commit --non-recursive [target]
<Ч />

[ Редактировать: ОП обновил свой вопрос, чтобы уточнить, что он имеет в виду TortoiseSVN, а не обычную командную строку Subversion.]

Нет, TortoiseSVN не предоставляет прямой способ нерекурсивной фиксации. Однако, если вы фиксируете что-то на верхнем уровне каталога, но не что-то на нижнем уровне (например, вы отменяете его), это по необходимости вызывает нерекурсивное принятие. Смотри здесь .

Таким образом, есть обходной путь. Если вы действительно, действительно хотите это сделать, и вам не нравится командная строка, просто внесите тривиальное изменение в файл в базовом каталоге, зафиксируйте ваш реальный файл, отменив выбор фиктивного изменения, а затем отмените фиктивное изменение. Это заставит TortoiseSVN выполнить нерекурсивный коммит.

0 голосов
/ 16 марта 2009

Поскольку вы выполняете операцию с каталогом, черепаха предполагает, что это может повлиять на все внутри нее, и поэтому выглядит полностью внутри вашей рабочей копии.

Проверка рабочей копии должна быть достаточно быстрой, даже для большого репо, поскольку это локальная операция в файловой системе без сетевых операций

После того, как черепаха обнаружит все измененные файлы, вы можете выбрать только те, которые вам нужны, и зафиксировать только эти.

В любом случае, разница заключается в том, что каталоги обрабатываются не так, как обычные файлы, и эта разница в обработке может даже отражать поведение самой Subversion, а не только черепахи.

...