用于检查git提交是否是一天中的第一个的脚本

时间:2014-04-27 10:08:03

标签: linux git shell travis-ci

任务如下:

  • 在构建服务器上(travis-ci)我想检查推送是否是白天的第一次
  • 如果是,请将主分支复制到另一个分支(每日快照)

祝你好运

1 个答案:

答案 0 :(得分:1)

在构建脚本的末尾,您可以将日期转储到文件中。在开始时,你可以比较它。它可能看起来像:

currentDate=$(date +%D)
isFirstBuildOfTheDay=true

if [ -e last_date_build.txt ]; then
  if [ $currentDate = $(cat last_date_build.txt) ]; then
      isFirstBuildOfTheDay=false
  fi
fi

if $isFirstBuildOfTheDay; then
   #Take a daily snapshot
fi

#Perform the actual build

echo $currentDate > last_date_build.txt

修改以考虑评论:

如果你不能保存文件,那么在标签上记录这个日期呢?

例如:

currentDate=$(date +%F)
dailyTag=daily_$currentDate
if ! git rev-parse $tag >/dev/null 2>&1; then
  #Take a daily snapshot
  git tag $dailyTag
  git push --tags
fi