fix: make merge base fetching more robust

Several static check scripts rely on identifying the Git merge base via
get_merge_base, which may fail if the local Git history is too shallow.
This causes issues when checking patches on CI or LTS branches with
limited fetch depth.

To address this:

- Reuse a single evaluated merge_base instead of invoking get_merge_base
  multiple times.
- If merge_base is not found initially, attempt to fetch more history
  from the remote using the appropriate GERRIT_REFSPEC.
- Exit with an error if a merge base cannot be found even after
  fetching.

This improves reliability of static checks when working on partial
clones or CI environments where fetch depth is restricted.

Change-Id: Icccec0eb2f29d254e54bbd6b639f6c1ef11291a3
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
diff --git a/script/static-checks/static-checks-coding-style-line-endings.sh b/script/static-checks/static-checks-coding-style-line-endings.sh
index 9c0cda7..8dddace 100755
--- a/script/static-checks/static-checks-coding-style-line-endings.sh
+++ b/script/static-checks/static-checks-coding-style-line-endings.sh
@@ -20,7 +20,7 @@
 if [[ "$2" == "patch" ]]; then
     cd "$1"
     shopt -s globstar
-    parent=$(get_merge_base)
+    parent=${merge_base}
     git diff $parent..HEAD --no-ext-diff --unified=0 --exit-code -a \
       --no-prefix **/*.{S,c,h,i,dts,dtsi,rst,mk} Makefile | \
       awk '/^\+/ && /\r$/' &> "$LOG_FILE"