Working on automatic changelogs
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
LOGSPEC='%ci %an <%aE>%n%n %s%n [%h]%d%n'
|
||||||
|
|
||||||
BRANCH=$2
|
BRANCH=$2
|
||||||
if [ "${BRANCH}" == "" ]; then
|
if [ "${BRANCH}" == "" ]; then
|
||||||
BRANCH=$(git branch | grep '^\*\s*.*' | cut -d ' ' -f 2)
|
BRANCH=$(git branch | grep '^\*\s*.*' | cut -d ' ' -f 2)
|
||||||
@@ -9,6 +11,7 @@ REBUILDING=0
|
|||||||
SHA1=$(git rev-parse HEAD)
|
SHA1=$(git rev-parse HEAD)
|
||||||
TAG=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null)
|
TAG=$(git describe --tags `git rev-list --tags --max-count=1` 2>/dev/null)
|
||||||
BUILD=0
|
BUILD=0
|
||||||
|
CHANGELOG="$(git log --format="format:$LOGSPEC" ${BRANCH}@{0}..HEAD)"
|
||||||
if [ "$TAG" == "" ]; then
|
if [ "$TAG" == "" ]; then
|
||||||
BUILD=0
|
BUILD=0
|
||||||
REBUILDING=1
|
REBUILDING=1
|
||||||
@@ -18,6 +21,7 @@ else
|
|||||||
BUILD=$(echo $TAG | cut -d , -f 3)
|
BUILD=$(echo $TAG | cut -d , -f 3)
|
||||||
TAGSHA=$(git rev-list $TAG | head -n 1)
|
TAGSHA=$(git rev-list $TAG | head -n 1)
|
||||||
if [ "$TAGSHA" != "$SHA1" ]; then
|
if [ "$TAGSHA" != "$SHA1" ]; then
|
||||||
|
CHANGELOG="$(git log --format="format:$LOGSPEC" $TAGSHA..$SHA1)"
|
||||||
BUILD=$(expr $BUILD + 1)
|
BUILD=$(expr $BUILD + 1)
|
||||||
REBUILDING=1
|
REBUILDING=1
|
||||||
else
|
else
|
||||||
@@ -31,7 +35,7 @@ if [ "$OS_NAME" == "" ] && [ "$(uname)" == "Darwin" ]; then
|
|||||||
OS_NAME="osx"
|
OS_NAME="osx"
|
||||||
elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then
|
elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then
|
||||||
OS_NAME="el"
|
OS_NAME="el"
|
||||||
elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname)" == "Cygwin" ]; then
|
elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname | grep -i '^CYGWIN')" != "" ]; then
|
||||||
OS_NAME="win"
|
OS_NAME="win"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -54,7 +58,7 @@ if [ "$ARCH" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SOURCE=$(git remote show origin | grep "Fetch URL" | cut -d : -f 2- | cut -d ' ' -f 2-)
|
SOURCE=$((git remote show origin 2>/dev/null | grep "Fetch URL" | cut -d : -f 2- | cut -d ' ' -f 2-) || echo '')
|
||||||
|
|
||||||
echo "TAG=\"${TAG}\""
|
echo "TAG=\"${TAG}\""
|
||||||
echo "BRANCH=\"${BRANCH}\""
|
echo "BRANCH=\"${BRANCH}\""
|
||||||
@@ -70,3 +74,4 @@ echo "BUILDUSER=\"$(whoami)\""
|
|||||||
echo "BUILDDIR=\"$(pwd)\""
|
echo "BUILDDIR=\"$(pwd)\""
|
||||||
echo "SOURCE=\"${SOURCE}\""
|
echo "SOURCE=\"${SOURCE}\""
|
||||||
echo "REBUILDING=$REBUILDING"
|
echo "REBUILDING=$REBUILDING"
|
||||||
|
echo "CHANGELOG=\"$CHANGELOG\""
|
||||||
|
|||||||
11
hgversion
11
hgversion
@@ -7,9 +7,10 @@ fi
|
|||||||
|
|
||||||
REBUILDING=0
|
REBUILDING=0
|
||||||
SHA1=$(hg identify -i | grep -Eo "[a-zA-Z0-9]+")
|
SHA1=$(hg identify -i | grep -Eo "[a-zA-Z0-9]+")
|
||||||
TAG=$(hg identify -t)
|
TAG=$(hg parents --template '{latesttag}')
|
||||||
LASTTAGGEDBUILD=$(hg log -r $(hg identify -n):0 --branch $BRANCH --template "{tags}\n" | grep -v "^$" | grep "build|" | head -n 1)
|
TAGSHA=$(hg identify -r $TAG | cut -d ' ' -f 1)
|
||||||
BUILD=0
|
BUILD=0
|
||||||
|
CHANGELOG="$(hg log -X .hgtags --style=changelog -r ${TAG}:${SHA1})"
|
||||||
if [ "$TAG" == "" ]; then
|
if [ "$TAG" == "" ]; then
|
||||||
BUILD=0
|
BUILD=0
|
||||||
REBUILDING=1
|
REBUILDING=1
|
||||||
@@ -20,6 +21,7 @@ else
|
|||||||
SHORTTAGSHA=${TAGSHA:0:12}
|
SHORTTAGSHA=${TAGSHA:0:12}
|
||||||
hg log -r ${SHA1} | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null
|
hg log -r ${SHA1} | grep "Added tag build|${BRANCH}|${BUILD} for changeset ${SHORTTAGSHA}" >/dev/null
|
||||||
if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then
|
if [ $? -ne 0 ] && [ "$TAGSHA" != "$SHA1" ]; then
|
||||||
|
CHANGELOG="$(hg log -X .hgtags --style=changelog -r ${SHORTTAGSHA}:${SHA1})"
|
||||||
BUILD=$(expr $BUILD + 1)
|
BUILD=$(expr $BUILD + 1)
|
||||||
REBUILDING=1
|
REBUILDING=1
|
||||||
else
|
else
|
||||||
@@ -33,7 +35,7 @@ if [ "$OS_NAME" == "" ] && [ "$(uname)" == "Darwin" ]; then
|
|||||||
OS_NAME="osx"
|
OS_NAME="osx"
|
||||||
elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then
|
elif [ "$OS_NAME" == "" ] && [ -f /etc/redhat-release ]; then
|
||||||
OS_NAME="el"
|
OS_NAME="el"
|
||||||
elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname)" == "Cygwin" ]; then
|
elif [ "$OS_NAME" == "" ] && [ "$(uname | grep -i '^MINGW')" != "" ] || [ "$(uname | grep -i '^CYGWIN')" != "" ]; then
|
||||||
OS_NAME="win"
|
OS_NAME="win"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -56,7 +58,7 @@ if [ "$ARCH" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SOURCE=$(cat .hg/hgrc | grep default | cut -d = -f 2 | sed s/"^ *"//g)
|
SOURCE=$((cat .hg/hgrc 2>/dev/null | grep default | cut -d = -f 2 | sed s/"^ *"//g) || echo '')
|
||||||
|
|
||||||
echo "TAG=\"${TAG}\""
|
echo "TAG=\"${TAG}\""
|
||||||
echo "BRANCH=\"${BRANCH}\""
|
echo "BRANCH=\"${BRANCH}\""
|
||||||
@@ -72,3 +74,4 @@ echo "BUILDUSER=\"$(whoami)\""
|
|||||||
echo "BUILDDIR=\"$(pwd)\""
|
echo "BUILDDIR=\"$(pwd)\""
|
||||||
echo "SOURCE=\"${SOURCE}\""
|
echo "SOURCE=\"${SOURCE}\""
|
||||||
echo "REBUILDING=$REBUILDING"
|
echo "REBUILDING=$REBUILDING"
|
||||||
|
echo "CHANGELOG=\"$CHANGELOG\""
|
||||||
|
|||||||
Reference in New Issue
Block a user