You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
2.0 KiB
69 lines
2.0 KiB
#!/bin/sh
|
|
PATH_LIB='/lib/Image'
|
|
array=('/var/www/10ballov','/var/www/predelanet','/var/www/zelenoemore','/var/www/d753_common')
|
|
|
|
if [ ! -a CHANGELOG.md ]
|
|
then
|
|
echo 'File CHANGELOG.md not exists.'
|
|
exit 1
|
|
fi
|
|
if [ test -n CHANGELOG.md ]
|
|
then
|
|
echo 'CHANGELOG.md is empty.'
|
|
exit 1
|
|
fi
|
|
git diff-index --quiet HEAD --
|
|
REPO_CHANGED=`echo $?`
|
|
if [ $REPO_CHANGED ]
|
|
then
|
|
echo 'Please commit all changes in repository.'
|
|
exit 1
|
|
fi
|
|
VERSION_PREVIOUS=`sed -n '4,4p' CHANGELOG.md | cut -d "(" -f1`
|
|
if [ `git rev-parse ${VERSION_PREVIOUS}` != `git rev-parse HEAD` ]
|
|
then
|
|
VERSION=`echo ${VERSION_PREVIOUS} | awk -F. -v OFS=. 'NF==1{print ++$NF}; NF>1{if(length($NF+1)>length($NF))$(NF-1)++; $NF=sprintf("%0*d", length($NF), ($NF+1)%(10^length($NF))); print}`
|
|
gitchangelog > CHANGELOG.md &&
|
|
git add CHANGELOG.md &&
|
|
git commit -m "Update CHANGELOG.md on ${VERSION}" &&
|
|
git tag $VERSION &&
|
|
git push --tags
|
|
else
|
|
VERSION=$VERSION_PREVIOUS
|
|
fi
|
|
git push > /dev/null || exit 1
|
|
|
|
MESSAGE="Update ${PATH_LIB} on ${VERSION}"
|
|
CURRENT_DIR=`pwd`
|
|
for project in "${array[@]}"
|
|
do
|
|
echo "Update lib for ${i}...\n"
|
|
(cd "${project}${PATH_LIB}" &&
|
|
git fetch > /dev/null &&
|
|
git checkout $VERSION > /dev/null) ||
|
|
(echo "Failed to checkout lib on tag ${VERSION}\n" &&
|
|
exit 1)
|
|
cd "${project}"
|
|
git diff-index --quiet HEAD "${PATH_LIB#'/'}"
|
|
if [ `echo $?` ]
|
|
then
|
|
(git reset > /dev/null
|
|
git add "${PATH_LIB#'/'}" > /dev/null &&
|
|
git commit -m $MESSAGE > /dev/null) ||
|
|
(echo "Failed to update lib for ${project}\n" &&
|
|
exit 1)
|
|
if [ $project == "/var/www/d753_common" ]
|
|
then
|
|
(git push origin master > /dev/null &&
|
|
cd /var/www/d753/ && ./merge-from-master.sh > /dev/null
|
|
cd /var/www/d753_10ballov/ && ./merge-from-master.sh > /dev/null) ||
|
|
(echo "Failed to update dependency d753 branches... Please resolve that problem by hand\n" &&
|
|
exit 1)
|
|
fi
|
|
else
|
|
echo "Already update\n"
|
|
fi
|
|
done
|
|
|
|
echo "All operations succeed\n"
|
|
exit 0
|