Subversion更新公共父目录下的所有工作副本

时间:2013-10-11 11:37:47

标签: bash svn repository svn-update

我正在同时从事多个项目。每个项目都有一个Subversion存储库。存储库并非全部托管在同一服务器上。当我开始我的一天时,我发现自己必须为每个项目做svn update

我的本​​地工作副本全部存储在一个父目录 Projects

我的问题:是否有一个可以从 Projects 目录发出的命令,它将在文件系统的后代中搜索工作副本,并为每个命令发出svn update命令。它们?

我使用的是Subversion版本1.7.5的Ubuntu。

3 个答案:

答案 0 :(得分:3)

cd到Projects然后:

svn up `ls -d ./*`

(注意这些是反引号,而不是单引号。)

svn很乐意跳过非svn目录。 您可以在.bashrc

中添加别名
alias up-svn='svn up `ls -d ./*`'

答案 1 :(得分:0)

另一个类似于@thekbb答案的建议

svn up `find ~/svn -maxdepth 3 -type d`

说明: “〜/ svn”是我的目录,所有签出的存储库都在 '-maxdepth 3'的某些存储库是嵌套的(3级深) 例如公司名称/项目名称/分公司 “ -d”类目录

答案 2 :(得分:-1)

不,但您可以轻松编写在每个子目录中调用“svn update”的脚本/批处理文件。