1e9baeff4SMasatake YAMATO#!/bin/sh 2e9baeff4SMasatake YAMATO 3*eb8b8d90Sleleliu008set -e 4*eb8b8d90Sleleliu008 5*eb8b8d90Sleleliu008##################################### util ####################################### 6*eb8b8d90Sleleliu008 7*eb8b8d90Sleleliu008COLOR_RED='\033[0;31m' # Red 8*eb8b8d90Sleleliu008COLOR_GREEN='\033[0;32m' # Green 9*eb8b8d90Sleleliu008COLOR_PURPLE='\033[0;35m' # Purple 10*eb8b8d90Sleleliu008COLOR_OFF='\033[0m' # Reset 11*eb8b8d90Sleleliu008 12*eb8b8d90Sleleliu008note() { 13*eb8b8d90Sleleliu008 printf '\n%b\n' "${COLOR_RED}$*${COLOR_OFF}" 14*eb8b8d90Sleleliu008} 15*eb8b8d90Sleleliu008 16*eb8b8d90Sleleliu008run() { 17*eb8b8d90Sleleliu008 printf '%b\n' "${COLOR_PURPLE}==>${COLOR_OFF} ${COLOR_GREEN}$*${COLOR_OFF}" 18*eb8b8d90Sleleliu008 eval "$*" 19*eb8b8d90Sleleliu008} 20*eb8b8d90Sleleliu008 21*eb8b8d90Sleleliu008##################################### main ####################################### 22*eb8b8d90Sleleliu008 23e9baeff4SMasatake YAMATObase=5.9 24e9baeff4SMasatake YAMATOcal=$(date +%Y%m%d) 25e9baeff4SMasatake YAMATOchicken=0 26*eb8b8d90Sleleliu008new_tagname="p${base}.${cal}.${chicken}" 27e9baeff4SMasatake YAMATO 28*eb8b8d90Sleleliu008run git --version 29*eb8b8d90Sleleliu008 30*eb8b8d90Sleleliu008case "$(git describe --tags --exact-match HEAD 2>/dev/null || true)" in 31e9baeff4SMasatake YAMATO p*.0) 32*eb8b8d90Sleleliu008 note "do nothing. because there are no commits since the latest tag." 33e9baeff4SMasatake YAMATO exit 0 34e9baeff4SMasatake YAMATO ;; 35*eb8b8d90Sleleliu008 '') ;; 36*eb8b8d90Sleleliu008 *) echo "found a tag but it is not periodical one; create a periodical tag" 37e9baeff4SMasatake YAMATOesac 38e9baeff4SMasatake YAMATO 39*eb8b8d90Sleleliu008for old_tagname in $(git tag --list) 40*eb8b8d90Sleleliu008do 41*eb8b8d90Sleleliu008 if [ "$old_tagname" = "$new_tagname" ] ; then 42*eb8b8d90Sleleliu008 note "do nothing. because $new_tagname tag already exists." 43*eb8b8d90Sleleliu008 exit 0 44e9baeff4SMasatake YAMATO fi 45*eb8b8d90Sleleliu008done 46*eb8b8d90Sleleliu008 47*eb8b8d90Sleleliu008run git tag "$new_tagname" 48*eb8b8d90Sleleliu008run git push origin "$new_tagname" 49