From 6c18ac96053de87e1b24881184bc4734b6f0030f Mon Sep 17 00:00:00 2001 From: Bruno Postle Date: Thu, 2 Apr 2026 22:42:29 +0100 Subject: [PATCH] ifcgit: use --prioritise-local flag for ifcmerge-forward mergetool --- src/bonsai/bonsai/tool/ifcgit.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/tool/ifcgit.py b/src/bonsai/bonsai/tool/ifcgit.py index 1843716f58..91bbf1ac47 100644 --- a/src/bonsai/bonsai/tool/ifcgit.py +++ b/src/bonsai/bonsai/tool/ifcgit.py @@ -473,10 +473,15 @@ class IfcGit: config_writer.set_value(section, "cmd", "ifcmerge $BASE $LOCAL $REMOTE $MERGED") config_writer.set_value(section, "trustExitCode", True) section = 'mergetool "ifcmerge-forward"' + new_cmd = "ifcmerge --prioritise-local $BASE $LOCAL $REMOTE $MERGED" + old_cmd = "ifcmerge $BASE $REMOTE $LOCAL $MERGED" if not config_reader.has_section(section): with IfcGitRepo.repo.config_writer() as config_writer: - config_writer.set_value(section, "cmd", "ifcmerge $BASE $REMOTE $LOCAL $MERGED") + config_writer.set_value(section, "cmd", new_cmd) config_writer.set_value(section, "trustExitCode", True) + elif config_reader.get_value(section, "cmd") == old_cmd: + with IfcGitRepo.repo.config_writer() as config_writer: + config_writer.set_value(section, "cmd", new_cmd) @classmethod def config_push(cls, repo: git.Repo) -> None: