我正在编写一个部署bash脚本,它将源控件中的最新更改发布到另一台计算机。我是命令行中的新手(已经在开发中使用了多年)和bash脚本的新手。
我需要一种方法来检查最近修改过的文件。像这样:
svn checkout svn://server/repo/project/trunk -mtime -1d4h
这样做的想法只会检查过去28小时内提交的文件。
答案 0 :(得分:1)
上述说明的后果
-d "28 hours before"
)和stored in variable可以轻松构建具有自由格式规范的相对日期,可以将其用作electrictoolbox脚本的参数答案 1 :(得分:0)
基于此,我找到了更简单的方法来满足我的需求: How can I keep the original file [commit] timestamp on Subversion?
我使用--config-option config:miscellany:use-commit-times=yes
签出或更新项目的工作副本,该副本设置文件系统上的时间戳等于上次结帐时间。然后我使用标准的find
命令。例如:
#!/bin/bash
function listfn {
while read file; do
if [[ !( $file =~ ^.*\.svn.*$ ) ]]; then
echo $file
fi
done
}
svn checkout --config-option config:miscellany:use-commit-times=yes svn://server/repo/project/trunk project-fordeploy
find project-fordeploy -mtime -1d4h | listfn