-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE
-# Make sure the Nordix is set from Jenkins Job configuration
-# parameter: NORDIX_REMOTE and not from previous job execution
-if git remote | grep nordix > /dev/null ; then
- git remote rm nordix
-fi
-# When the GERRIT_BRANCH is not set the rebase job wasn't triggered by merge
-# but it's executed as part of timer. In this case we will make sure that all
-# branches from remote are synced with Nordix Gerrit.
-if [[ -z "${GERRIT_BRANCH:-}" ]] ; then
- echo "-- Fetch all branches from OpenDaylight for project: ${PROJECT} --"
- REMOTE_BRANCHES=$(git branch -r | grep -v 'HEAD -> ' | awk '/origin/ {gsub("origin/","");print}')
- for branch in ${REMOTE_BRANCHES} ; do
- git branch -f --track ${branch} origin/${branch}
- done
-# The job was triggered by merge on OpenDaylight. We will make sure that branch set
-# in GERRIT_BRANCH is in sync with Nordix Gerrit.
-else
- echo "-- Fetch branch: ${GERRIT_BRANCH} from OpenDaylight for project: ${PROJECT} --"
- REMOTE_BRANCHES=${GERRIT_BRANCH}
- git branch -f --track ${GERRIT_BRANCH} origin/${GERRIT_BRANCH}
-fi
-git fetch origin -v
-echo "-- Adding new remote $NORDIX_REMOTE for sync --"
-git remote add nordix $NORDIX_REMOTE
-git remote -v
-echo "-- Merging changes from OpenDaylight remote branches to local branch: --"
-for branch in ${REMOTE_BRANCHES} ; do
- echo "------ Branch name: ${branch}"
- git checkout ${branch} -q
- git merge origin/${branch} --ff-only --stat
-done
-echo "-- Pushing changes to Nordix Gerrit --"
-git push nordix --all -v
-echo "--------------------------------------------------------------------"