You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Windows: Git discovery fails for valid repository at Unicode path #1240
The manually created CBM index reports status=ready, but its Git block contains is_git=false, root_exists=false, and null values for git_dir, branch, and HEAD.
Expected result
CBM should preserve the Git repository identity for a valid Windows repository at a Unicode path so that detect_changes and Git-backed index refresh work.
Notes
No source code, Revit logs, model data, commit IDs, or remote URLs are included in this report.
Confirmed against current main. The process entrypoint handles Windows arguments as UTF-16, but src/git/git_context.c still probes the repository with narrow stat(path) and constructs a narrow command for cbm_popen. That explains how indexing can succeed while root_exists and Git discovery fail for the same Cyrillic path. The RED needs a real Git repository under a non-ASCII Windows path and must assert root_exists, is_git, branch, and HEAD. High priority for 0.9.1-rc under #394.
Thanks @NotaWhaIe — showing that git -C resolves the same Cyrillic path perfectly while cbm reports is_git=false and root_exists=false isolates this cleanly to our side, and you did it without including any of your source or model data, which was considerate.
Confirmed against main: the entrypoint handles Windows arguments as UTF-16, but src/git/git_context.c still probes with narrow stat() and builds a narrow command line — which is exactly how indexing can succeed while the Git identity is lost. In practice that means detect_changes and Git-backed refresh do not work for anyone whose repository path is not ASCII.
Not fixed yet. Tonight's v0.10.5 is being cut for the issues that block real use of the tool, and this is in that set. Sorry for the wait.
Activity
DeusData commentedon Jul 24, 2026
Confirmed against current
main. The process entrypoint handles Windows arguments as UTF-16, butsrc/git/git_context.cstill probes the repository with narrowstat(path)and constructs a narrow command forcbm_popen. That explains how indexing can succeed whileroot_existsand Git discovery fail for the same Cyrillic path. The RED needs a real Git repository under a non-ASCII Windows path and must assertroot_exists,is_git, branch, and HEAD. High priority for0.9.1-rcunder #394.DeusData commentedon Aug 14, 2026
Thanks @NotaWhaIe — showing that
git -Cresolves the same Cyrillic path perfectly while cbm reportsis_git=falseandroot_exists=falseisolates this cleanly to our side, and you did it without including any of your source or model data, which was considerate.Confirmed against
main: the entrypoint handles Windows arguments as UTF-16, butsrc/git/git_context.cstill probes with narrowstat()and builds a narrow command line — which is exactly how indexing can succeed while the Git identity is lost. In practice that meansdetect_changesand Git-backed refresh do not work for anyone whose repository path is not ASCII.Not fixed yet. Tonight's v0.10.5 is being cut for the issues that block real use of the tool, and this is in that set. Sorry for the wait.
DeusData commentedon Sep 27, 2026
Fixed on
mainin 6935df2 (PR #1816, thanks to @z2250389): Unicode repository paths now work on Windows. Thank you for the report and your patience!