Files
git-upstream/functional-tests/libs/utils.lib
Davide Guerri f2e38df455 Rename hpgit to git-upstream, also changing its license
* rename hpgit to git-upstream
* rename import-upstream commadn to import
* change all occurrences of hpgit and import-upstream in code,
  comments and tests
* code cleanup (remove some typos, improve PEP8 compliance)
* change license from "HP propietary" to "Apache License v2.0"

Change-Id: Ia4f00d662d79ac9725316027a65f4d23ebbd0f02
JIRA:CICD-1319
JIRA:CICD-1318
2014-03-03 14:32:26 +00:00

62 lines
1.7 KiB
Plaintext

# Utility functions/macros
if [ -z "$BASE_TEST_DIR" ]; then
log ERROR "Please define BASE_TEST_DIR variable"
exit 1
fi
TEST_NAME=$(basename $0 | cut -d_ -f2- | cut -d'.' -f 1)
TEST_DIR="$BASE_TEST_DIR/test-dir_$TEST_NAME"
function _clean_up() {
if [ -z "$LEAVE_DIR" ]; then
log DEBUG "Removing test directory"
rm -rf $TEST_DIR
fi
}
VERBOSITY=${VERBOSITY:-INFO}
set_verbority $VERBOSITY
mkdir -p "$TEST_DIR"
# Define an handler for clean_up
trap "_clean_up; exit 0" EXIT
function prepare_for_git_upstream() {
local TEST_DIR="$1"
local REPO_NAME="$2"
local UPSTREAM_REPO="$3"
local TEST_BASE_REF="$4"
local TEST_NAME="$5"
log DEBUG "Creating bare repo '$REPO_NAME.bare'"
rm -rf $TEST_DIR/$REPO_NAME.bare >/dev/null 2>&1
mkdir $TEST_DIR/$REPO_NAME.bare
pushd $TEST_DIR/$REPO_NAME.bare >/dev/null
git init --bare --quiet || return 1
popd >/dev/null
log DEBUG "Cloning repo $REPO_NAME"
rm -rf $TEST_DIR/$REPO_NAME >/dev/null 2>&1
mkdir $TEST_DIR/$REPO_NAME
pushd $TEST_DIR/$REPO_NAME >/dev/null
git init --quiet || return 1
git config push.default simple --quiet || return 1
git remote add origin $TEST_DIR/$REPO_NAME.bare || return 1
log DEBUG "Fetching upstream testing version"
git remote add upstream $UPSTREAM_REPO || return 1
git fetch --all --quiet >/dev/null || return 1
git for-each-ref refs/remotes/upstream --format "%(refname:short)" | \
sed -e 's:\(upstream/\(.*\)\)$:\1\:refs/heads/upstream/\2:' | \
xargs git push --quiet --tags origin || return 1
log DEBUG "Creating a new branch from version $TEST_BASE_REF"
git checkout -b import/$TEST_NAME $TEST_BASE_REF --quiet || return 1
git checkout -b master --quiet || return 1
popd >/dev/null
}