check_relevant: factor out check_relevant and use it in audit-range

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
diff --git a/common b/common
new file mode 100644
index 0000000..1caac3b
--- /dev/null
+++ b/common
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+function check_relevant {
+	cmt=$1
+	maj=0
+	min=0
+
+	# Let's grab the commit that this commit fixes (if exists (based on the "Fixes:" tag)).
+	fixescmt=`git log -1 $cmt | grep -i "fixes:" | head -n 1 | sed -e 's/^[ \t]*//' | cut -f 2 -d ':' | sed -e 's/^[ \t]*//' | cut -f 1 -d ' '`
+
+	# If this commit fixes anything, but the broken commit isn't in our branch we don't
+	# need this commit either.
+	if [ "$fixescmt" != "" ] && [ "$(stable-commit-in-tree $fixescmt)" = "1" ]; then
+		return 0
+	fi
+
+	# Let's see if there's a version tag in this commit
+	full=$(git show $cmt | grep -i 'stable@vger')
+	full=$(echo ${full##* } | tr -cd '[[:digit:]]._-' | sed 's/]//g' | sed 's/\[//g' | sed 's/\./ /g')
+
+	maj=$(echo $full | awk {"print \$1"})
+	min=$(echo $full | awk {"print \$2"})
+
+	# Sanity check our extraction
+	if [ "$(echo ${full##* } | grep 'stable' | wc -l)" -gt "0" ]; then
+		return 1
+	fi
+
+	# Sanity check major version
+	if [ "$maj" != "2" ] && [ "$maj" != "3" ] && [ "$maj" != "4" ]; then
+		return 1
+	fi
+
+	# If the version tag is for a major version newer than ours
+	if [ "$STABLE_MAJ_VER" -lt "$maj" ]; then
+		return 1
+	fi
+
+	# Or if the overall version is newer than ours
+	if [ "$STABLE_MAJ_VER" -eq "$maj" ] && [ "$STABLE_MIN_VER" -lt "$min" ]; then
+		return 1
+	fi
+
+	# No version tag, unsure, or version tag is older than ours
+	return 0
+}
diff --git a/stable-audit-range b/stable-audit-range
index 5ef75db..b80852d 100755
--- a/stable-audit-range
+++ b/stable-audit-range
@@ -1,6 +1,14 @@
 #!/bin/bash
 
 . show-missing-iter
+. common
+
+function relevant {
+	check_relevant $1
+	if [ $? -eq 0 ]; then
+		echo R
+	fi
+}
 
 function applies {
 	git cherry-pick $1 &> /dev/null
@@ -13,49 +21,52 @@
 	fi
 }
 
+function show_deps {
+	app=$1
+	commit=$2
+
+	if [ "$app" = "-" ]; then
+		echo "Possible dependency chain:"
+		stable deps $commit 10 | sed 's/^/	/'
+		if [ $? -eq 1 ]; then
+			echo "	"[...]
+		fi
+	fi
+}
+
+function find_owning_branch {
+	subj=$(git log -1 --pretty="%s" $1)
+	for m in $OTHER_STABLE_TREES; do
+		if [ $(git log -F --grep "$subj" --format="%H" $m) ]; then
+			echo "	"$m
+		fi
+	done
+}
+
 function handle_stable {
 	others=$(stable find-alts $1)
 	app=$(applies $1)
+	relevant=$(relevant $1)
 	if [ "$others" != "" ]; then
-		printf "[E$app] %s\n" "$(git log -1 --oneline $1)"
-		subj=$(git log -1 --pretty="%s" $1)
-		for m in $OTHER_STABLE_TREES; do
-			if [ $(git log -F --grep "$subj" --format="%H" $m) ]; then
-				echo "	"$m
-			fi
-		done
-
-		if [ "$app" = "-" ]; then
-			echo "Possible dependency chain:"
-			stable deps $1 10 | sed 's/^/      /'
-		fi
-		echo ""
+		printf "[E$app$relevant] %s\n" "$(git log -1 --oneline $1)"
+		find_owning_branch $1
+		show_deps $app $1
 	else
-		printf "[M$app] %s\n" "$(git log -1 --oneline $1)"
-		if [ "$app" = "-" ]; then
-			echo "Possible dependency chain:"
-			stable deps $1 10 | sed 's/^/      /'
-			echo
-		fi
+		printf "[M$app$relevant] %s\n" "$(git log -1 --oneline $1)"
+		show_deps $app $1
 	fi
+	echo
 }
 
 function handle_nonstable {
 	others=$(stable find-alts $1)
 	if [ "$others" != "" ]; then
 		app=$(applies $1)
-		printf "[N$app] %s:\n" "$(git log -1 --oneline $1)"
-		subj=$(git log -1 --pretty="%s" $1)
-		for m in $OTHER_STABLE_TREES; do
-			if [ $(git log -F --grep "$subj" --format="%H" $m) ]; then
-				echo "	"$m
-			fi
-		done
-		if [ "$app" = "-" ]; then
-			echo "Possible dependency chain:"
-			stable deps $1 10 | sed 's/^/	/'
-		fi
-		echo ""
+		relevant=$(relevant $1)
+		printf "[N$app$relevant] %s:\n" "$(git log -1 --oneline $1)"
+		find_owning_branch $1
+		show_deps $app $1
+		echo
 	fi
 }
 
diff --git a/stable-deps b/stable-deps
index 2c2f846..db64328 100755
--- a/stable-deps
+++ b/stable-deps
@@ -8,13 +8,13 @@
 	echo "Usage: stable deps <commit sha1> [Max deps to show]"
 	exit 1
 fi
-set -x
+
 maxdeps=$2
 
 function handle_one {
 	((maxdeps--))
 	if [ $maxdeps -eq 0 ]; then
-		exit
+		exit 1
 	fi
 
 	stable commit-in-tree $1
@@ -29,3 +29,4 @@
 }
 
 handle_one $1
+exit 0
diff --git a/stable-steal-commits b/stable-steal-commits
index 583e9ac..9fa2a15 100755
--- a/stable-steal-commits
+++ b/stable-steal-commits
@@ -4,6 +4,8 @@
 # backports if required.
 #
 
+. common
+
 function pick_one {
 
 	# Let's try cherry-picking the given commit first.
@@ -28,51 +30,6 @@
 	return $?
 }
 
-function check_relevant {
-	cmt=$1
-	maj=0
-	min=0
-
-	# Let's grab the commit that this commit fixes (if exists (based on the "Fixes:" tag)).
-	fixescmt=`git show $cmt | grep -i "fixes:" | head -n 1 | sed -e 's/^[ \t]*//' | cut -f 2 -d ':' | sed -e 's/^[ \t]*//' | cut -f 1 -d ' '`
-
-	# If this commit fixes anything, but the broken commit isn't in our branch we don't
-	# need this commit either.
-	if [ "$fixescmt" != "" ] && [ "$(stable-commit-in-tree $fixescmt)" = "1" ]; then
-		return 0
-	fi
-
-	# Let's see if there's a version tag in this commit
-	full=$(git show $cmt | grep -i 'stable@vger')
-	full=$(echo ${full##* } | tr -cd '[[:digit:]]._-' | sed 's/]//g' | sed 's/\[//g' | sed 's/\./ /g')
-
-	maj=$(echo $full | awk {"print \$1"})
-	min=$(echo $full | awk {"print \$2"})  
-
-	# Sanity check our extraction
-	if [ "$(echo ${full##* } | grep 'stable' | wc -l)" -gt "0" ]; then
-		return 1
-	fi
-
-	# Sanity check major version
-	if [ "$maj" != "2" ] && [ "$maj" != "3" ] && [ "$maj" != "4" ]; then
-		return 1
-	fi
-
-	# If the version tag is for a major version newer than ours
-	if [ "STABLE_MAJ_VER" -gt "$maj" ]; then
-		return 1
-	fi
-
-	# Or if the overall version is newer than ours
-	if [ "STABLE_MAJ_VER" -eq "$maj" ] && [ "STABLE_MIN_VER" -ge "$min" ]; then
-		return 1
-	fi
-
-	# No version tag, unsure, or version tag is older than ours
-	return 0
-}
-
 function do_one {
 	for i in $(git log --no-merges --format="%H" $1 $2 | tac); do
 		subj=$(git log -1 --format="%s" $i)