Черепаха SVN: как обновить папку SVN, но не ее подпапки? - PullRequest
11 голосов
/ 27 ноября 2010

Возможно, у этого есть простое решение, но я, вероятно, совсем не хорош в использовании Tortoise SVN.

У меня есть эта рабочая директория, которую я проверил некоторое время назад:

/folder
   file1
   file2
   /subfolder1
   /subfolder2

Теперь все, что я хочу сделать, - это SVN ОБНОВИТЬ мой рабочий каталог только для файлов в /folder, но НЕ в его подпапках .Как мне это сделать?

Имейте в виду, что в репозитории сервера SVN, /folder теперь содержит новые файлы file3, file4, которые я хочу видеть в рабочем каталогепосле SVN UPDATE.

EDIT , поскольку, возможно, это не ясно: подпапки НЕ ДОЛЖНЫ касаться SVN во время SVN UPDATE, я не хочу, чтобы они вообще касались их.Я пытался использовать Greg ответ, но он не работает и ПРЕДУПРЕЖДЕНИЕ: подпапка 1 и подпапка 2 получат УДАЛЕНО из вашей рабочей копии во время обновления.

Спасибо.

Ответы [ 3 ]

27 голосов
/ 27 ноября 2010

Вы можете сделать SVN-обновление без рекурсии с помощью этой команды:

svn update --depth=files

Аргумент --depth может принимать следующие параметры: empty, files, immediates или infinity

Чтобы сделать это с помощью графического интерфейса, а не командной строки, вы можете использовать Update to revision, который можно найти здесь:

alt text

, а затем выберитеHead ревизия, вы можете указать, насколько рекурсивным является обновление: alt text

В вашем случае наиболее подходящим будет выбор Immediate children, including folders.

11 голосов
/ 09 декабря 2010

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

1 голос
/ 27 ноября 2010

Вместо Update используйте TortoiseSVN Update to Revision. Укажите HEAD в качестве ревизии для обновления (или любой ревизии, которую вы хотите обновить), а затем установите флажок «Обновлять только верхнюю папку».

Решение Грега прекрасно работает, если вы запускаете команду SVN через TortoiseSVN или используете клиент командной строки SVN.

...