blob: 4431bf4863f37973cee9141c5b6e713222a9b640 [file] [log] [blame]
Fatih Degirmencia2beeb22018-12-10 10:57:50 -08001#!/bin/bash
2set -o errexit
3set -o nounset
4set -o pipefail
5
6cd $WORKSPACE
robert.tomczyk3459cae2019-09-25 09:31:57 +01007# Make sure the Nordix is set from Jenkins Job configuration
8# parameter: NORDIX_REMOTE and not from previous job execution
9if git remote | grep nordix > /dev/null ; then
10 git remote rm nordix
11fi
12# When the GERRIT_BRANCH is not set the rebase job wasn't triggered by merge
13# but it's executed as part of timer. In this case we will make sure that all
14# branches from remote are synced with Nordix Gerrit.
15if [[ -z "${GERRIT_BRANCH:-}" ]] ; then
16 echo "-- Fetch all ${PROJECT} branches from Gerrit upstream --"
17 REMOTE_BRANCHES=$(git branch -r | grep -v 'HEAD -> ' | awk '/origin/ {gsub("origin/","");print}')
18 for branch in ${REMOTE_BRANCHES} ; do
19 git branch -f --track ${branch} origin/${branch}
20 done
21# The job was triggered by merge on upstream Gerrit. We will make sure that branch set
22# in GERRIT_BRANCH is in sync with Nordix Gerrit.
23else
24 echo "-- Fetch branch: ${GERRIT_BRANCH} for project: ${PROJECT} --"
25 REMOTE_BRANCHES=${GERRIT_BRANCH}
26 git branch -f --track ${GERRIT_BRANCH} origin/${GERRIT_BRANCH}
27fi
robert.tomczyk2ef892a2019-10-18 11:46:03 +010028git fetch origin --tags -v
robert.tomczyk3459cae2019-09-25 09:31:57 +010029echo "-- Adding new remote $NORDIX_REMOTE for sync --"
Fatih Degirmencia2beeb22018-12-10 10:57:50 -080030git remote add nordix $NORDIX_REMOTE
Fatih Degirmencia2beeb22018-12-10 10:57:50 -080031git remote -v
robert.tomczyk3459cae2019-09-25 09:31:57 +010032echo "-- Merging changes from Gerrit upstream remote branches to local branch: --"
33for branch in ${REMOTE_BRANCHES} ; do
robert.tomczyk2ef892a2019-10-18 11:46:03 +010034 echo "--- Branch name: ${branch}"
robert.tomczyk3459cae2019-09-25 09:31:57 +010035 git checkout ${branch} -q -f
36 git merge origin/${branch} --ff-only --stat
robert.tomczyk2ef892a2019-10-18 11:46:03 +010037 echo "------ Pushing changes from branch: ${branch} to Nordix Gerrit"
38 git push nordix -v
39 echo "------ Pushing new tags from branch: ${branch} to Nordix Gerrit"
40 git push nordix --tags -v
robert.tomczyk3459cae2019-09-25 09:31:57 +010041done
robert.tomczyk3459cae2019-09-25 09:31:57 +010042echo "--------------------------------------------------------------------"