我为开发人员托管了 svn 服务器。从服务器上,我可以看到所有已配置的目录和 svn repos。我想获取所有目录的最后修改日期(约 30 个不同的项目)。我不想连接到所有目录,而是进行签出,然后在每次检查最后修改时使用 svn 命令。我只想使用 bash 来提取该信息,但不知道怎么做,甚至不知道是否可行。
EDIT1:看起来例如在同一个服务器上的不同存储库中有 10 个项目(没有分支)...所有项目都位于配置为不同 svn 存储库的一个目录中:
/svn_repos/项目1 /svn_repos/项目2 /svn_repos/项目3 ... /svn_repos/项目10
答案1
svnlook tree --full-paths "$REPO" | grep '/branches/[^/]*/$' | \
while read branch ; do
svnlook history -l 1 "$REPO" "$branch"
done | while read revision path ; do
# Input looks like the following, in a loop...
#
# REVISION PATH
# -------- ----
# 20 /path/to/branch
case "$revision" in
REVISION|--------) : ;; # Skip headers
*) echo "$path" `svnlook date -r "$revision" "$REPO"`
;;
esac
done
答案2
尝试以下命令
bash$> svnlook date <repo_path>