From da4796ebf7ea728dc81ff4b3c62410230520977a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 20 Sep 2021 13:17:01 +0200 Subject: Build: change make update to not print errors regarding submodule branches Instead of trying to checkout non-existent branches and getting confusing fatal error prints, check if the branch exists first. Ref D12560 --- build_files/utils/make_update.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'build_files/utils/make_update.py') diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py index f653639ec6d..30ef090efbb 100755 --- a/build_files/utils/make_update.py +++ b/build_files/utils/make_update.py @@ -200,16 +200,20 @@ def submodules_update(args, release_version, branch): if msg: skip_msg += submodule_path + " skipped: " + msg + "\n" else: - # We are using `exit_on_error=False` here because sub-modules are allowed to not have requested branch, - # in which case falling back to default back-up branch is fine. - if make_utils.git_branch(args.git_command) != submodule_branch: - call([args.git_command, "fetch", "origin"]) - call([args.git_command, "checkout", submodule_branch], exit_on_error=False) - call([args.git_command, "pull", "--rebase", "origin", submodule_branch], exit_on_error=False) - # If we cannot find the specified branch for this submodule, fallback to default one (aka master). - if make_utils.git_branch(args.git_command) != submodule_branch: - call([args.git_command, "checkout", submodule_branch_fallback]) - call([args.git_command, "pull", "--rebase", "origin", submodule_branch_fallback]) + # Find a matching branch that exists. + call([args.git_command, "fetch", "origin"]) + if make_utils.git_branch_exists(args.git_command, submodule_branch): + pass + elif make_utils.git_branch_exists(args.git_command, submodule_branch_fallback): + submodule_branch = submodule_branch_fallback + else: + submodule_branch = None + + # Switch to branch and pull. + if submodule_branch: + if make_utils.git_branch(args.git_command) != submodule_branch: + call([args.git_command, "checkout", submodule_branch]) + call([args.git_command, "pull", "--rebase", "origin", submodule_branch]) finally: os.chdir(cwd) -- cgit v1.2.3