🛠️ Grouping Algorithm Fix
This patch release resolves a critical file overlap threshold issue that was preventing commits from being properly grouped together.
Fixed Issue
🐛 File Overlap Threshold Bug
- Fixed percentage-based threshold calculation that was too restrictive
- Changed from ratio-based to absolute file count matching (e.g.,
min_file_overlap=1now means "at least 1 shared file") - Commits sharing files are now properly grouped instead of showing "no commits were grouped together"
- Resolved threshold calculation:
0.333 < 0.5failure when commits share 1 out of 3 total files
Technical Changes
- File Overlap Strategy: Replaced
overlap >= (min_file_overlap / max(file_count))withshared_files >= min_file_overlap - Group Creation: Changed from
>= 1to> 1commits to avoid single-commit "groups" - Debug Tools: Added comprehensive grouping diagnostic script for future issues
Before vs After
Before (v1.3.1):
🔍 Analyzing 3 commits since main...
⚠️ No commits were grouped together - this may indicate very diverse changes
After (v1.3.2):
🔍 Analyzing 3 commits since main...
📊 Found 1 logical groups:
• Feature: authentication improvements (3 commits)
Installation
PyPI:
pip install --upgrade git-smart-squash==1.3.2Homebrew:
brew upgrade git-smart-squashUsers experiencing "no commits were grouped together" errors should upgrade immediately.
🤖 Generated with Claude Code