两人,真的:
如何查看整个源代码树,但只获取所有内容的中继,忽略所有分支和标记?
假设#1可行,是否有办法让没有任何“trunk”目录,只是让文件驻留在具有存储库名称的文件夹中?
答案 0 :(得分:25)
大多数SVN repostiories的结构都是这样的:
/
|-- /branches
|-- /tags
`-- /trunk
|-- foo
`-- bar
因此,如果存储库的根位于http://www.example.com/svn,则可以运行
svn co http://www.example.com/svn/trunk
只检查行李箱。如果要在项目后命名已签出的文件夹,只需将项目名称添加到命令行:
svn co http://www.example.com/svn/trunk myproject
此命令应生成如下目录结构:
myproject/
|-- foo
`-- bar
答案 1 :(得分:5)
不,这是不可能的。您可以做的是创建一个新项目,将定义外部链接从其添加到每个其他项目中继。外部链接的工作方式类似于softlink。
然后,您可以一步一步地解决所有问题。
答案 2 :(得分:3)
如果所有文件夹都具有相同的根结构,则可以在Windows中使用此批处理命令从根目录中检出所有主干文件夹:
for /F %%A IN ('svn list <your root URL here>') do svn co <your root URL here>/%%Atrunk ./%%A
答案 3 :(得分:0)
此脚本使用基础项目的所有签出命令创建下标(深度为DEVELOPMENT-> FOLDER-> SVN PROJECTS)
#!/bin/bash
PROJECTS=`svn list http://svn-server/svn/hps/Development/`
IFS=$'\n'
for i in $PROJECTS; do
REPOS=`svn list http://svn-server/svn/hps/Development/$i`
for r in $REPOS; do
echo "svn checkout \"http://svn-server/svn/hps/Development/${i}${r}trunk\" \"${r}\"" >> checkout_all_svn_trunk_cmd.sh
done;
done;