Add git branch to system info debug output

Include bonsai_git_branch in get_debug_info(). For dev environments
using the GitPython-based update_commit_data() path, the branch is
read from repo.active_branch.name. For built extensions, a 7777777
placeholder is replaced at build time via the Makefile, matching the
existing pattern for bonsai_commit_hash and bonsai_commit_date.

Generated with the assistance of an AI coding tool.
This commit is contained in:
Ryan Schultz
2026-04-01 19:45:22 -05:00
parent 5e784e4175
commit fdb2947345
2 changed files with 15 additions and 0 deletions
+2
View File
@@ -48,6 +48,7 @@ VERSION_PATCH:=$(shell cat '../../VERSION' | cut -d '.' -f 3)
VERSION_DATE:=$(shell date '+%y%m%d') VERSION_DATE:=$(shell date '+%y%m%d')
LAST_COMMIT_HASH:=$(shell git rev-parse HEAD) LAST_COMMIT_HASH:=$(shell git rev-parse HEAD)
LAST_COMMIT_DATE:=$(shell git show -s --format=%cI) LAST_COMMIT_DATE:=$(shell git show -s --format=%cI)
LAST_GIT_BRANCH:=$(shell git rev-parse --abbrev-ref HEAD)
PYPI_IMP:=cp PYPI_IMP:=cp
ifdef PYVERSION ifdef PYVERSION
@@ -261,6 +262,7 @@ else
$(SED) "s/0.0.0/$(VERSION)-alpha$(VERSION_DATE)/" build/bonsai/blender_manifest.toml $(SED) "s/0.0.0/$(VERSION)-alpha$(VERSION_DATE)/" build/bonsai/blender_manifest.toml
$(SED) "s/8888888/$(LAST_COMMIT_HASH)/" build/bonsai/__init__.py $(SED) "s/8888888/$(LAST_COMMIT_HASH)/" build/bonsai/__init__.py
$(SED) "s/9999999/$(LAST_COMMIT_DATE)/" build/bonsai/__init__.py $(SED) "s/9999999/$(LAST_COMMIT_DATE)/" build/bonsai/__init__.py
$(SED) "s/7777777/$(LAST_GIT_BRANCH)/" build/bonsai/__init__.py
$(SED) 's/version = "0.0.0"/version = "$(VERSION)-alpha$(VERSION_DATE)"/' build/pyproject.toml $(SED) 's/version = "0.0.0"/version = "$(VERSION)-alpha$(VERSION_DATE)"/' build/pyproject.toml
endif endif
+13
View File
@@ -43,6 +43,7 @@ from typing import TYPE_CHECKING, Any, Union
last_commit_hash = "8888888" last_commit_hash = "8888888"
last_commit_date = "9999999" last_commit_date = "9999999"
last_git_branch = "7777777"
def get_last_commit_hash() -> Union[str, None]: def get_last_commit_hash() -> Union[str, None]:
@@ -60,6 +61,15 @@ def get_last_commit_date() -> Union[str, None]:
return last_commit_date return last_commit_date
def get_git_branch() -> Union[str, None]:
# Using this weird way to write 7777777,
# so makefile won't accidentally replace it here
# we'll be able to distinguish branch from placeholder value.
if last_git_branch == str(7_777777):
return None
return last_git_branch
# Accessed from bonsai extension: # Accessed from bonsai extension:
bbim_semver: dict[str, Any] = {} bbim_semver: dict[str, Any] = {}
@@ -125,6 +135,7 @@ def get_debug_info(*, bonsai_failed_to_load: bool = False) -> dict[str, Any]:
"bonsai_version": bbim_version, "bonsai_version": bbim_version,
"bonsai_commit_hash": get_last_commit_hash(), "bonsai_commit_hash": get_last_commit_hash(),
"bonsai_commit_date": get_last_commit_date(), "bonsai_commit_date": get_last_commit_date(),
"bonsai_git_branch": get_git_branch(),
"last_actions": last_actions, "last_actions": last_actions,
"last_error": last_error, "last_error": last_error,
} }
@@ -251,10 +262,12 @@ if IN_BLENDER:
global last_commit_hash global last_commit_hash
global last_commit_date global last_commit_date
global last_git_branch
path = Path(__file__).resolve().parent path = Path(__file__).resolve().parent
repo = git.Repo(str(path), search_parent_directories=True) repo = git.Repo(str(path), search_parent_directories=True)
last_commit_hash = repo.head.object.hexsha last_commit_hash = repo.head.object.hexsha
last_commit_date = repo.head.object.committed_datetime.isoformat() last_commit_date = repo.head.object.committed_datetime.isoformat()
last_git_branch = repo.active_branch.name
except: except:
pass pass