-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Version info
- OS: Windows 10
- Build: 2110
Description
Sublime Merge fails to correctly parse and display repositories initialized with Git's SHA-256 object format. Committed and tracked files (e.g., .gitignore, LICENSE, README.md from an initial commit) appear as untracked in the Sublime Merge UI, despite being properly committed and shown as clean in Git CLI tools like Git Bash. Additionally, the integrated terminal in Sublime Merge shows an error: "failed to build index table". This seems related to Sublime Merge's custom Git parsing library not supporting SHA-256, as the issue does not occur with standard SHA-1 repositories.
Note: SHA-256 support in Git has been available since version 2.29 (2020) and stabilized in 2.42 (2023), with Git 3.0 potentially defaulting to it soon. As more users adopt SHA-256 for security reasons, this lack of support could become a significant limitation for Sublime Merge.
Steps to reproduce
- Install Git for Windows (version 2.46 or later, which supports SHA-256).
- Create a new repository with SHA-256 format: In Git Bash, run
git init --object-format=sha256 test-repoand navigate into it. - Add and commit initial files:
echo "# Test" > README.md,git add README.md,git commit -m "Initial commit". - Open the repository in Sublime Merge (File > Open Repository... > select the test-repo folder).
- View the status in Sublime Merge: The README.md file shows as untracked (red icon), even though
git statusin Git Bash shows a clean working tree. - Open the Sublime Merge terminal (via the console or command palette) and run a command like
git status—observe the "failed to build index table" error.
Expected behavior
Sublime Merge should correctly parse the SHA-256 repository, displaying committed files as tracked (green icon or no staging needed) and showing a clean status matching Git CLI output. No "failed to build index table" error should appear, as the tool should support modern Git formats like SHA-256 for full compatibility.
Debug Information
Omitted section. This bug is super easy and quick to recreate so I won't put effort into gathering this.