我们有一个包含多个相关项目的SVN存储库.像这样......
\repo
\Project1
\branches
\tags
\trunk
\Project2
\branches
\tags
\trunk
\Project3
\branches
\tags
\trunk
Run Code Online (Sandbox Code Playgroud)
我想在没有branches/tags文件夹的情况下将每个项目的主干检出到我的工作区.
\workspace
\Project1
\trunk
\Project2
\trunk
\Project3
\trunk
Run Code Online (Sandbox Code Playgroud)
有没有办法在不单独检查每个干线的情况下执行此操作?
简答:不.
答案很长:请参阅http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html并在循环脚本中执行签出.
您可以使用-N选项,它忽略子目录.您可以在第一次检查来源时运行此命令:
svn co -N http://path/to/repo
cd repo
for f in Project1 Project2 Project3; do
svn up -N $f
svn up $f/trunk
done
Run Code Online (Sandbox Code Playgroud)
并在以后更新中继:
svn up repo/*/trunk
Run Code Online (Sandbox Code Playgroud)
这适用于所有SVN客户端.如果您使用的是SVN 1.5.x版本的客户端,你也可以看看"稀疏目录",在记载稀疏目录(我不能发布链接尚未:-C),这将允许您运行" svn update"在存储库目录中.
这在bash中做得非常好.请注意,我重命名了输出文件夹,以便在导入项目时使Eclipse更快乐.
for f in `svn ls http://path/to/repo`; do svn checkout http://path/to/repo/${f}trunk $f; done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16440 次 |
最近记录: |