SVN удалить локальные файлы, сохранить в хранилище - PullRequest
4 голосов
/ 05 марта 2012

Итак, вот вопрос, который я еще не видел.

Я использую Subversion 1,7

Я сделал «svn co» для каталога, который мне не нужен, но не может быть удален из репозитория (это нужно другим людям). Я могу удалить локальную копию каталога, и это нормально, но когда я запускаю «svn up» в корневом каталоге, восстанавливается удаленный каталог.

  /rootDir
        /folder1.      
        /unneededFolder

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

Ответы [ 3 ]

8 голосов
/ 19 августа 2012

Самый простой способ сделать это - использовать:

svn update --set-depth exclude <dir>

Это удалит из вашей рабочей копии, но оставит ее в хранилище.

См. Документацию по Разреженные каталоги .

0 голосов
/ 05 марта 2012

Вам нужно использовать опцию --depth клиента SVN (вызывается sparse-checkout). Это означает, что вы должны сделать отдельную проверку, используя опцию --depth, чтобы ограничить количество уровней каталогов, которые будут проверены. Что означает в вашем случае:

svn co URL rootDir --depth=immediate

чем у вас есть рабочая копия, которая не содержит все уровни. Теперь вы можете перейти в каталоги, которые вы хотели бы иметь все уровни или ограниченные уровни. Давайте предположим, что вы идете в папку 1:

svn update --depth=infinity

поэтому после этого вы не получите содержимое ненужной папки, если не зайдете в эту папку и не выполните:

svn update --depth=infinity

Компромисс в том, что вы НЕ можете вернуться назад, если однажды сделали бесконечность.

Кроме того, вы говорите о хранилище, но имеете в виду рабочую копию.

0 голосов
/ 05 марта 2012

Опция -N на svn update приведет к тому, что обновление не будет рекурсивным; и только материал в вашем текущем рабочем каталоге будет обновлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...