create_tarball: Add support for creating tarballs from head on a git tag.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/6/head
Slávek Banko 2 years ago
parent 4eebab4010
commit 1ccd5c4fa1
Signed by: SlavekB
GPG Key ID: 608F5293A04BE668

@ -70,12 +70,18 @@ cd `git rev-parse --show-toplevel`
# Check remote branch
branch=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
if [[ -z "$branch" ]]; then
branch=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
branch_detached=`git branch --contains HEAD | egrep "^\* \(HEAD detached at" | head -n1 | sed "s|^\* (HEAD detached at \([^)]*\)).*$|\1|"`
branch=`git tag | grep -Fx "${branch_detached}"`
fi
if [[ -z "$branch" ]]; then
branch=`git branch -r --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
branch=${branch#origin/}
fi
if [[ -z "$branch" ]] ||
[[ -z "`git rev-parse --symbolic-full-name --remotes=\"*/$branch\"`" ]]; then
echo "There is not active upstream branch. Exiting..."
exit 1
( [[ -z "`git rev-parse --symbolic-full-name --remotes=\"*/$branch\"`" ]] &&
[[ -z "`git tag | grep -Fx \"${branch}\"`" ]] ); then
echo "There is not active upstream branch. Exiting."
exit 1
fi
# Set target version
@ -106,12 +112,18 @@ if [ "$TARGET" != "${TARGET#3.5.}" ]; then
else
targetBranch=master
fi
if [ "$branch" = "v${TARGET}" ]; then
targetBranch=v${TARGET}
fi
else
if [ "$TARGET" != "${TARGET%.0}" ]; then
targetBranch=master
else
targetBranch=r${TARGET%.*}.x
fi
if [ "$branch" = "r${TARGET}" ]; then
targetBranch=r${TARGET}
fi
fi
if [ "$branch" != "$targetBranch" ]; then
echo "Target $TARGET is not valid on $branch branch. Exiting."

@ -30,12 +30,18 @@ fi
# Check remote branch
branch=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
if [[ -z "$branch" ]]; then
branch=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
branch_detached=`git branch --contains HEAD | egrep "^\* \(HEAD detached at" | head -n1 | sed "s|^\* (HEAD detached at \([^)]*\)).*$|\1|"`
branch=`git tag | grep -Fx "${branch_detached}"`
fi
if [[ -z "$branch" ]]; then
branch=`git branch -r --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
branch=${branch#origin/}
fi
if [[ -z "$branch" ]] ||
[[ -z "`git rev-parse --symbolic-full-name --remotes=\"*/$branch\"`" ]]; then
echo "There is not active upstream branch. Exiting..."
exit 1
( [[ -z "`git rev-parse --symbolic-full-name --remotes=\"*/$branch\"`" ]] &&
[[ -z "`git tag | grep -Fx \"${branch}\"`" ]] ); then
echo "There is not active upstream branch. Exiting."
exit 1
fi
# Get submodule name
@ -82,12 +88,18 @@ if [ "$TARGET" != "${TARGET#3.5.}" ]; then
else
targetBranch=master
fi
if [ "$branch" = "v${TARGET}" ]; then
targetBranch=v${TARGET}
fi
else
if [ "$TARGET" != "${TARGET%.0}" ]; then
targetBranch=master
else
targetBranch=r${TARGET%.*}.x
fi
if [ "$branch" = "r${TARGET}" ]; then
targetBranch=r${TARGET}
fi
fi
if [ "$branch" != "$targetBranch" ]; then
echo "Target $TARGET is not valid on $branch branch. Exiting."
@ -128,11 +140,15 @@ if [[ -n "$target_tag" ]] && \
fi
# Calculate version
tag=`git tag | \
sed "s|^\([^0-9]\)|\1.|" | sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr -k 5,5nr | sed "s|^\([^0-9]\)\.|\1|" | \
while read t; do \
git branch --contains $t | cut -c 3- | grep -x "$branch" >/dev/null && \
echo "$t..HEAD" && break; done`
if [[ -z "$target_tag" ]]; then
tag=`git tag | \
sed "s|^\([^0-9]\)|\1.|" | sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr -k 5,5nr | sed "s|^\([^0-9]\)\.|\1|" | \
while read t; do \
git branch --contains $t | cut -c 3- | grep -x "$branch" >/dev/null && \
echo "$t..HEAD" && break; done`
else
tag="$target_tag..HEAD"
fi
count=`git log $tag --pretty=oneline | wc -l`

Loading…
Cancel
Save