#!/bin/bash -xe # 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. INITIAL_COMMIT_MSG="Updated from global requirements" TOPIC="openstack/requirements" USERNAME=${USERNAME:-$USER} BRANCH=$ZUUL_REF if [ -z "$BRANCH" ] ; then echo "No branch set, exiting." exit 1 fi git config user.name "OpenStack Jenkins" git config user.email "jenkins@openstack.org" git config gitreview.username $USERNAME for PROJECT in $(cat projects.txt); do change_id="" # See if there is an open change in the openstack/requirements topic # If so, get the change id for the existing change for use in the # commit msg. change_info=$(ssh -p 29418 review.openstack.org gerrit query --current-patch-set status:open project:$PROJECT topic:$TOPIC owner:$USERNAME branch:$BRANCH) previous=$(echo "$change_info" | grep "^ number:" | awk '{print $2}') if [ "x${previous}" != "x" ] ; then change_id=$(echo "$change_info" | grep "^change" | awk '{print $2}') # read return a non zero value when it reaches EOF. Because we use a # heredoc here it will always reach EOF and return a nonzero value. # Disable -e temporarily to get around the read. # The reason we use read is to allow for multiline variable content # and variable interpolation. Simply double quoting a string across # multiple lines removes the newlines. set +e read -d '' COMMIT_MSG <