Сложная процедура оформления SVN? - PullRequest
3 голосов
/ 22 января 2010

У меня есть хранилище, настроенное так:

+---CollectionA
|   \---project1
|       \---trunk
|           \---sourcecode
|       \---tags
|           \---rel-1
|   \---project2
|       \---trunk
|           \---sourcecode
|       \---tags
|   \---project3
|       \---trunk
|           \---sourcecode
|       \---tags
|           \---rel-1

Я бы хотел оформить заказ на любой проект с тегом rel-1. В этом случае я получу project1 и project3 в моем рабочем пространстве, но не project2.

Все projectN являются проектами Eclipse Java.

Я использую Eclipse / Subversive, но я открыт для использования Tortoise или командной строки (windows), если мне нужно.

Редактировать : В настоящее время, чтобы сделать это, мне придется пройти через мои 30 с небольшим проектов и проверить каждый тег в отдельности. Есть ли способ сделать это без прохождения каждого проекта в отдельности?

Ответы [ 4 ]

2 голосов
/ 22 января 2010

Я думаю, вам нужно написать скрипт командной строки, чтобы сделать это. Я не знаю, как это сделать, используя Tortoise или интегрированный инструмент IDE / SVN, поскольку это необычный (по моему опыту) тип операции извлечения.

Вы можете спросить svn в командной строке о том, существует ли каталог, используя команду svn list .

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

Примерно так:

For each project in myProjects:
   exec "svn list " myRepositoryPath + "/" + myProject + "/tags/directory"
1 голос
/ 24 января 2010

Если вы собираетесь делать это много, вы можете создать другой каталог в своем хранилище и присвоить ему свойство svn:externals. Перечислите все соответствующие проекты как внешние. Затем, когда вы проверяете новый каталог, вы получаете все проекты, проверенные в нем.

1 голос
/ 22 января 2010

Мы используем сценарии для достижения желаемой эффективности. Создайте общий сценарий проверки, который ищет второй файл манифеста, который содержит теги / ветви / имена линий, которые вы хотите оформить для каждого модуля.

Мне понравилась идея создания модуля, содержащего каталоги "проекта" с внешними элементами к конкретным тегам / ветвям / стволам комбинации модулей проектов, но я никогда не удосужился это сделать.

0 голосов
/ 24 января 2010

Чтобы дополнить предыдущие ответы, вы можете использовать сценарии для создания файла набора командных проектов Eclipse, чтобы напрямую импортировать все проекты одновременно. Не удалось найти прямую ссылку на «формат файла psf», но вы получите идею в этом примере и проверку справки по eclipse.

...