Tortoise SVN: как svn обновить папку, но НЕ ее подпапки?
Это, вероятно, то, что имеет простое решение, но я, вероятно, вообще не разбираюсь в использовании Tortoise SVN.
У меня есть эта рабочая директива, которую я проверил некоторое время назад:
/folder
file1
file2
/subfolder1
/subfolder2
Теперь все, что я хочу сделать, это SVN UPDATE мой рабочий каталог только для файлов в /folder
, но НЕ его подпапки. Как это сделать?
Помните, что в репозитории сервера SVN /folder
теперь содержит новые файлы file3
, file4
, которые я хочу увидеть в рабочем каталоге после обновления SVN.
ИЗМЕНИТЬ, поскольку, возможно, это не ясно: вложенные папки НЕ ДОЛЖНЫ быть затронуты SVN во время обновления SVN, я не хочу, чтобы он касался их вообще. Я попытался использовать ответ Грега, но он не работает и ПРЕДУПРЕЖДЕНИЕ: подпапка1 и подпапка2 будут получать DELETED из вашей рабочей копии во время обновления.
Спасибо.
Ответы
Ответ 1
Обычно я выполняю частичные обновления из диалога "Проверить изменения". Я запускаю его, я нажимаю "Проверить репозиторий", чтобы получить доступные обновления, а затем щелкните правой кнопкой мыши на точные элементы, которые я хочу получить.
Ответ 2
Вы можете сделать обновление SVN нерекурсивно, используя следующую команду:
svn update --depth=files
Аргумент --depth
может принимать следующие параметры: empty
, files
, immediates
или infinity
Для этого с помощью графического интерфейса, а не командной строки, вы можете использовать Update to revision
, который можно найти здесь:
![alt text]()
а затем выбрав версию Head
, вы можете указать, как рекурсивно это обновление:
![alt text]()
В вашем случае выбор Immediate children, including folders
будет наиболее подходящим.
Ответ 3
Вместо Update
используйте TortoiseSVN Update to Revision
. Укажите HEAD
как ревизию для обновления (или любую другую ревизию, которую вы хотите обновить), а затем установите флажок "Только обновить верхнюю папку".
Решение Greg отлично работает, если вы выдаете команду SVN через TortoiseSVN или используете клиент SVN с командной строкой.