From dd0a015ec3e3dbf37de9a4cf0139c9ff22bc872c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 12 Jul 2023 12:15:12 +0500 Subject: [PATCH] display current commit in status bar it works for users who symlinked their blenderbim/bim folders to git repository or installed blenderbim from release created from makefile https://i.imgur.com/mEBH9I7.png --- src/blenderbim/Makefile | 2 ++ src/blenderbim/blenderbim/bim/__init__.py | 10 ++++++++++ src/blenderbim/blenderbim/bim/ui.py | 6 +++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/Makefile b/src/blenderbim/Makefile index 80a07d0d80..8070002019 100644 --- a/src/blenderbim/Makefile +++ b/src/blenderbim/Makefile @@ -36,6 +36,7 @@ endif endif VERSION:=`date '+%y%m%d'` +LAST_COMMIT_HASH:=$(git rev-parse HEAD) PYVERSION:=py310 ifeq ($(PYVERSION), py39) @@ -675,6 +676,7 @@ endif rm -rf dist/blenderbim/libs/site/packages/numpy.libs cd dist/blenderbim && $(SED) "s/999999/$(VERSION)/" __init__.py + cd dist/blenderbim/bim && $(SED) "s/8888888/$(LAST_COMMIT_HASH)/" __init__.py cd dist && zip -r blenderbim-$(VERSION)-$(PYVERSION)-$(PLATFORM).zip ./* rm -rf dist/blenderbim diff --git a/src/blenderbim/blenderbim/bim/__init__.py b/src/blenderbim/blenderbim/bim/__init__.py index 561ecae4e1..9db6058d50 100644 --- a/src/blenderbim/blenderbim/bim/__init__.py +++ b/src/blenderbim/blenderbim/bim/__init__.py @@ -17,6 +17,7 @@ # along with BlenderBIM Add-on. If not, see . import os +from pathlib import Path import bpy import bpy.utils.previews import blenderbim @@ -150,6 +151,7 @@ for mod in modules.values(): addon_keymaps = [] icons = None is_registering = False +last_commit_hash = "8888888" def on_register(scene): @@ -209,6 +211,14 @@ def register(): icons = icon_preview + global last_commit_hash + try: + import git + path = Path(__file__).resolve().parent + repo = git.Repo(str(path), search_parent_directories=True) + last_commit_hash = repo.head.object.hexsha + except: + pass def unregister(): global icons diff --git a/src/blenderbim/blenderbim/bim/ui.py b/src/blenderbim/blenderbim/bim/ui.py index 4cb54da825..77a6b915d0 100644 --- a/src/blenderbim/blenderbim/bim/ui.py +++ b/src/blenderbim/blenderbim/bim/ui.py @@ -30,6 +30,7 @@ from ifcopenshell.util.doc import ( ) from . import ifc import blenderbim.tool as tool +import blenderbim.bim from blenderbim.bim.helper import IfcHeaderExtractor from blenderbim.bim.prop import Attribute @@ -542,7 +543,10 @@ class UIData: def draw_statusbar(self, context): if not UIData.is_loaded: UIData.load() - self.layout.label(text=f"BlenderBIM Add-on v{UIData.data['version']}") + text = f"BlenderBIM Add-on v{UIData.data['version']}" + if blenderbim.bim.last_commit_hash != "8888888": + text += f"@{blenderbim.bim.last_commit_hash[:7]}" + self.layout.label(text=text) def draw_custom_context_menu(self, context):