如何获取存储库中曾存在的所有Subversion分支的列表?例如,/ branches文件夹的内容包含活动/开放分支,但是如何在HEAD修订之前列出该路径下已经关闭(已删除)的分支?有时我想回顾一下我在一个旧的退休分支中专门做的一些工作,但我不记得修改范围很容易找到它。
答案 0 :(得分:1)
我写了一个" quick" one-liner迭代Subversion repo URL范围,排序并删除重复项。 svn help ls
的输出表示不允许修订范围,所以我认为这可能是列出过去的唯一方法。
R1=1; R2=7; URL="https://.../branches" \
OUTPUT=""; \
for (( REV=$R1; REV<=$R2; ++REV )); do \
echo "Processing revision $REV"; \
OUTPUT="$OUTPUT\n$(svn ls $URL -r$REV 2>/dev/null;)"; \
done; \
echo -e "$OUTPUT" | sort | uniq | sed -e 's/\/$//';
示例输出:
Processing revision 1
Processing revision 2
Processing revision 3
Processing revision 4
Processing revision 5
Processing revision 6
Processing revision 7
branch-deleted-in-r2
branch-deleted-in-r5
branch-stale-but-still-alive
some-branch-removed-r5
some-current-branch