--- /dev/null
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2017 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+##############################################################################
+
+# List of directories, files to exclude
+declare -a excludes=("defaults.yaml"
+ "releng-macros.yaml"
+ "global-jjb"
+ "lf-infra"
+ "-macros.yaml"
+ "validate-autorelease"
+ "opflex-dependencies.yaml")
+
+TEMP="/tmp/tmp.yaml"
+mod=0
+count=0
+
+function usage {
+ echo "Usage: $(basename "$0") options (-c [current release]) (-n [next release]) (-p [previous release]) -h for help";
+ echo "example:"
+ echo "branch_cutter.sh -n oxygen -c nitrogen -p carbon"
+ exit 0;
+}
+
+if ( ! getopts ":n:c:p:h" opt ); then
+ usage;
+fi
+
+while getopts ":n:c:p:h" opt; do
+ case $opt in
+ n)
+ new_reltag=$OPTARG
+ ;;
+ c)
+ curr_reltag=$OPTARG
+ ;;
+ p)
+ prev_reltag=$OPTARG
+ ;;
+ \?)
+ echo "Invalid option: -$OPTARG" >&2
+ exit 1
+ ;;
+ h)
+ usage
+ ;;
+ :)
+ echo "Option -$OPTARG requires an argument." >&2
+ exit 1
+ ;;
+ esac
+done
+
+echo "Start Branch Cutting:"
+
+while IFS="" read -r file; do
+ found=0
+ for exclude in "${excludes[@]}"; do
+ if [[ $file =~ $exclude && $found -eq 0 ]]; then
+ found=1
+ break
+ fi
+ done
+ if [[ $found -eq 1 ]]; then
+ echo "Ignore file $file found in excludes list"
+ else
+ ./branch_cut.awk -v new_reltag="$new_reltag" -v curr_reltag="$curr_reltag" -v prev_reltag="$prev_reltag" "$file" > "$TEMP"
+ [[ ! -s "$TEMP" ]] && echo "$file: excluded"
+ [[ -s "$TEMP" ]] && mv "$TEMP" "$file" && echo "$file: Done" && (( mod++ ))
+ (( count++ ))
+ fi
+done < <(find ../../jjb -name "*.yaml")
+
+echo "Modified $mod out of $count files"
+echo "Completed"