From 135e48deba732b754ea09b7676641754e36bc945 Mon Sep 17 00:00:00 2001
From: George Joseph <gjoseph@digium.com>
Date: Wed, 26 Jan 2022 06:56:15 -0700
Subject: [PATCH] build: Add "basebranch" to .gitreview

If you have a development branch for a major project that
will receive gerrit reviews it'll probably be named something
like "development/16/newproject".  That will necessitate setting
"defaultbranch=development/16/newproject" in .gitreview.  The
make_version script uses that variable to construct the asterisk
version however, which results in versions like
"GIT-development/16/newproject-ee582a8c7b" which is probably not
what you want.  Worse, since the download_externals script uses
make_version to construct the URL to download the binary codecs
or DPMA.  Since it's expecting a simple numeric version, the
downloads will fail.

To get this to work, a new variable "basebranch" has been added
to .gitreview and make_version has been updated to use that instead
of defaultversion:

.gitreview:
defaultbranch=development/16/myproject
basebranch=16

Now git-review will send the reviews to the proper branch
(development/16/myproject) but the version will still be
constructed using the simple branch number (16).

If "basebranch" is missing from .gitreview, make_version will
fall back to using "defaultbranch".

Change-Id: I2941a3b21e668febeb6cfbc1a7bb51a67726fcc4
---
 .gitreview               | 1 +
 build_tools/make_version | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitreview b/.gitreview
index 19f841cdc0..56859fe88a 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,5 +1,6 @@
 [gerrit]
 defaultbranch=18
+basebranch=18
 #
 # Intentional padding to ensure it is possible to point a commit
 # to an alternative gerrit server/repository without breaking
diff --git a/build_tools/make_version b/build_tools/make_version
index 83c42d1fba..6ef7b2941d 100755
--- a/build_tools/make_version
+++ b/build_tools/make_version
@@ -100,7 +100,11 @@ elif [ -d ${1}/.git ]; then
     MODIFIED=""
     SVN_REV=`${GIT} log --pretty=full -1 | sed -n '/git-svn-id:/ s/.*\@\([^ ]*\) .*/\1/p'`
     if [ -z "$SVN_REV" ]; then
-        MAINLINE_BRANCH=$(git config -f .gitreview --get gerrit.defaultbranch)
+        MAINLINE_BRANCH=$(${GIT} config -f .gitreview --get gerrit.basebranch)
+        if [ "x${MAINLINE_BRANCH}" == "x" ] ; then
+            MAINLINE_BRANCH=$(${GIT} config -f .gitreview --get gerrit.defaultbranch)
+        fi
+
         VERSION=`${GIT} describe --long --always --tags --dirty=M 2> /dev/null`
         if [ $? -ne 0 ]; then
             if [ "`${GIT} ls-files -m | wc -l`" != "0" ]; then
-- 
GitLab