blob: 3a8800042f0b36511b3db550055de324e92d3434 [file] [log] [blame]
#!/bin/bash
# @@@ START COPYRIGHT @@@
#
# (C) Copyright 2010-2014 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# @@@ END COPYRIGHT @@@
f=0
if [ "$1" = "-f" ]; then
f=1
fi
# Determine if git or svn is used for source control
USE_GIT=0
if [ -z "$GIT_DIR" ]; then
GIT_DIR=$(git rev-parse --show-toplevel 2> /dev/null)
RES=$?
if [[ "$RES" == "0" ]]; then
USE_GIT=1
fi
else
if [ -d "$GIT_DIR" ]; then
USE_GIT=1
fi
fi
if [[ "$USE_GIT" == "1" ]];then
rev=`git rev-parse --verify --short HEAD`
# In the Zuul/Gerrit/Jenkins infrastructure look in ZUUL_BRANCH
# for the branch name because the HEAD is detached and 'git branch'
# will report "(no branch)" as the current branch. If a user manually
# runs make with a detached HEAD then change the space in "(no branch)"
# to an underscore so it can be used.
if [ -z "$ZUUL_BRANCH" ]; then
branch=$(git branch | grep '^\* ' | sed 's/(no branch)/no_branch/' | awk '{print $2}')
else
branch=$ZUUL_BRANCH;
fi
else
rev=`svn info .. | grep '^Last Changed Rev:' | sed 's|Last Changed Rev: ||'`
url=`svn info .. | grep '^URL:' | sed 's|URL: ||'`
reporoot=`svn info .. | grep '^Repository Root:' | sed 's|Repository Root: ||'`
branch=`echo $url | sed "s|$reporoot\/||" | sed 's|\/sqf$||'`
fi
if [ $f = 1 ]; then
branch=`echo $branch | sed 's|\/|_sl_|g' | sed 's|-|_dh_|g'`
echo $rev"_dh_"$branch
else
echo $rev"-"$branch
fi