🔧 Bug Fixes
This release significantly improves the reliability of commit squashing by fixing critical issues in the rebase execution logic.
What's Fixed
- Fixed commit ordering: Now properly sorts commits by timestamp instead of assuming reverse chronological order
- Enhanced debug output: Added comprehensive logging to diagnose rebase operations
- Better parent hash resolution: Improved logic to get parent commit hash for proper rebase range
- Post-rebase verification: Verifies that squashing actually occurred by checking commit count
- Improved error handling: Better timeout handling (120s) and detailed error messages
Changes
- Sort commits by timestamp to ensure proper chronological order during rebase
- Add comprehensive debug output showing commit order, rebase commands, and results
- Verify parent commit hash resolution for accurate rebase range calculation
- Add post-rebase verification to confirm squashing succeeded
- Enhanced user feedback showing actual commit count changes
- Improved error handling with stack traces and detailed diagnostics
Installation
# PyPI
pip install --upgrade git-smart-squash
# Homebrew
brew upgrade git-smart-squashDebugging
This version includes comprehensive debug output. If squashing still doesn't work as expected, the tool will now show detailed information about what's happening during the rebase process.
Full Changelog: v1.3.3...v1.3.4