如果纯 bash 解决方案满足您的要求:
for i in `find . -type d -name .svn -prune -or -type f`; do
echo "$i: " $(svn info $i 2>/dev/null | grep '^Last Changed Rev')
done
简要说明:
- find 将搜索所有
-type f
不在 .svn 目录下的文件 ( ) ( -prune
)
- 对于他们每个人,
svn info
将收集您需要的信息并grep
过滤掉其他所有信息。
据此(对不起,在redbeans版本上找不到参考):
访问存储库
仅在对 URL 进行操作时
所以应该很快。无论如何,我做了这个小测试:
time (
for i in `find . -type d -name .svn -prune -or -type f`; do
echo "$i: " $(svn info $i 2>/dev/null | grep '^Last Changed Rev')
done | wc
)
925 3325 87256
real 0m17.231s
user 0m2.648s
sys 0m1.416s
不幸的是,我的工作副本在 NFS 上,因此时间可能对您完全不适用,但您的案例最多可能需要 12 分钟。不确定它是否足够快。