Теги SVN: как не обновить / оформить заказ? - PullRequest
8 голосов
/ 18 мая 2010

Во многих проектах я проверяю полный репозиторий и затем имею стандартную структуру каталогов:

project/
    branches/
    tags/
    trunk/

Если я делаю svn up project, все нормально с папками branches и trunk, но, конечно, папка tags тоже обновляется и заполняется (в основном) большим количеством помеченных версий которые не имеют никакого значения для моей работы и занимают только дисковое пространство.

Как я могу кроме папки tags из svn update? В частности, как я могу сделать это только локально , то есть без фиксации этого обратно в хранилище, как это может сделать решение с ключевым словом svn:ignore?

Ответы [ 4 ]

16 голосов
/ 18 мая 2010

В этом случае в Subversion есть функция Sparse Checkout.

svn up --set-depth empty project/tags

Это удалит все извлеченные теги, оставив только каталог «tags».

Другой вариант:

svn up --set-depth immediates project/tags

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

svn up --set-depth infinity project/tags/mytag

Изменить:

Это работает и с решением elcucos, и вы даже можете использовать его для своего каталога филиалов.

13 голосов
/ 18 мая 2010

Сначала вы проверяете верх проекта не рекурсивным способом (-N или --non-recursive)

svn co https://server/project -N my_project_checkout

Теперь на этом этапе вы можете обновить только транк:

svn up my_project_checkout/trunk
2 голосов
/ 18 мая 2010

Вы должны проверять и работать в транке или на определенной ветке. Похоже, вы проверили все дерево проекта.

1 голос
/ 18 мая 2010

Чтобы обновить только определенную папку, передайте их команде обновления svn.

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