我需要从我的服务器检出超过250个SVN项目,我想知道是否有一种方法可以自动化该过程。所有项目都在同一个文件中:
数据/
..project1
..project2
..project3
等
我是否可以在命令行中执行命令来自动执行此过程?手动执行250次以上操作会非常严重。
谢谢!
答案 0 :(得分:2)
如果没有定义1'meta'-repo,所有项目都定义为外部,我想不出纯粹的svn解决方案。
根据您对服务器的访问权限,可以使用其他方法,例如使用ssh:
for repo in `ssh user@host 'ls /var/svn-repos'`;do svn co <method of connecting/path>/$repo $repo;done;
简而言之:您需要一个非svn方法来列出所有回购。
答案 1 :(得分:1)
您必须学会使用命令行客户端。它与TortoiseSVN捆绑在一起,但您需要确保它已安装,因为安装程序将其作为可选组件提供。
C:&gt; svn help checkout
checkout(co):从存储库中查看工作副本 用法:结帐网址[@REV] ... [路径]
如果指定,REV确定URL首先在哪个版本中 抬起头来。
如果省略PATH,则URL的基名将用作
目的地。如果给出多个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
行。