Как я могу оформить несколько SVN-репозиториев одной командой? - PullRequest
1 голос
/ 30 января 2012

У меня более 250 проектов SVN, которые мне нужно оформить на моем сервере, и мне было интересно, есть ли способ автоматизировать этот процесс.Все проекты находятся в одном файле:

data /..project1..project2..project3

и т. д.

Есть ли в командной строке команда, которую я мог бы сделать для автоматизации процесса? Выполнение этого вручную 250+ раз было бы серьезной болью.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 30 января 2012

За исключением определения 1 'мета-репо, со всеми проектами, определенными как внешние, я не могу думать о чистом svn-решении.

В зависимости от вашего доступа к серверу могут использоваться другие методы, например, с помощью ssh:

 for repo in `ssh user@host 'ls /var/svn-repos'`;do svn co <method of connecting/path>/$repo $repo;done;

Вкратце: вам нужен не-svn метод для отображения всех репозиториев.

1 голос
/ 30 января 2012

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

C:> svn help checkout
checkout (co): проверить рабочую копиюиз хранилища.
использование: извлечение URL [@REV] ... [PATH]

Если указано, REV определяет, в какой ревизии URL-адрес первый
поиск.

Если PATH опущен, базовое имя URL будет использоваться как
место назначения.Если указано несколько URL-адресов, каждый из них будет
извлечен в подкаталог PATH, а именем подкаталога
будет базовое имя URL-адреса.

Короче говоря, вам придется использовать ваш любимый текстовый редактор для составления строк, подобных этой:

svn checkout https://example.com/path/to/repos/project1 ^
svn checkout https://example.com/path/to/repos/project2 ^
svn checkout https://example.com/path/to/repos/project3 ^
...
svn checkout https://example.com/path/to/repos/project250 ^
c:\path\to\working-copies

..., а затем либо сохранить как * .bat файл, либо скопировать и вставить в командную строку,(Символ ^ - это просто хитрость, позволяющая использовать многострочные команды; вы также можете записать все в одну строку.)

Личная мысль: трудно поверить, что есть заостренный босстам, который ожидает, что вы будете работать над 250 различными проектами.Скорее всего, у вас есть 250 настроек одного и того же продукта, а наличие 250 репозиториев является следствием какого-то плохого решения в прошлом.В любом случае, удачи.

Обновление: Вполне возможно, что в командной строке Windows установлен максимально допустимый размер команды.Если вы хотите остаться в безопасности, вместо этого напишите 250 различных svn checkout строк.

...