【发布时间】:2011-02-28 18:57:52
【问题描述】:
我在存储库中有十几个项目。存储库结构如下所示:
/ ----- + 项目1 +------- 后备箱 +------- 标签 +------- 分支机构 + 项目2我们的政策要求在 30 天不活动后删除任何活动分支。但是,没有自动检测到这样的分支。有时我有一些分支被遗漏了太多天。
是否有列出分支的脚本以及它们的最后签入日期?
【问题讨论】:
标签: svn
我在存储库中有十几个项目。存储库结构如下所示:
/ ----- + 项目1 +------- 后备箱 +------- 标签 +------- 分支机构 + 项目2我们的政策要求在 30 天不活动后删除任何活动分支。但是,没有自动检测到这样的分支。有时我有一些分支被遗漏了太多天。
是否有列出分支的脚本以及它们的最后签入日期?
【问题讨论】:
标签: svn
你试过了吗:
svn ls -v http://your.svn.server/path/branches
这将打印影响它们的最后一个修订版本、用户和日期的分支。
【讨论】:
我最终写了一个脚本来做这件事。对于那些有兴趣的人,您可以通过一个班轮来实现这一目标
svn list -v REPO_URL | grep -E "\/branches\/[0-9a-zA-Z_.-]+\/$"
我的存储库很大,所以这一个班轮运行得太慢了。我不得不优化脚本不进入标签和主干,并且不超过两层深度。
【讨论】:
我这样做的方法是编写一个脚本来获取所有分支的列表,然后对于每个分支,使用“svn log -l 1 -q”获取最近的提交(仅显示最后一个提交并保持安静),解析日期并做一些日期数学。我不知道任何已经这样做的脚本/工具,但无论您的分支模式如何,该方法都应该有效。
【讨论】: