Skip to content

Conversation

@javanhut
Copy link
Owner

Butterfly Timelines and Interactive Commit Squashing
This PR introduces two major features that enhance the branching workflow and commit history management in Ivaldi VCS.
Butterfly Timelines
Adds experimental timeline sandboxes with bidirectional synchronization:

  • Create isolated experimental branches that track their parent timeline
  • Sync changes up to parent (ivaldi timeline butterfly up) when experiments succeed
  • Sync parent changes down (ivaldi timeline butterfly down) to keep experiments current
  • Nested butterfly support with cascade deletion
  • Automatic divergence point tracking for safe merging
    Interactive Shift Command
    Implements modern commit squashing as an alternative to git rebase -i:
  • Arrow-key navigation to select commit ranges interactively
  • Multiple modes: interactive selection, --last N commits, or specify start/end commits
  • Combined commit message suggestions with user override
  • Force-push safety warnings and explicit confirmations
  • Auto-generated seal names for squashed commits
    Additional Improvements
  • Fixed directory exclusion in gather command to properly handle ignore patterns before directory traversal
  • Added --force flag to upload command with comprehensive safety checks and warnings
  • Enhanced submodule support documentation
  • Updated Git comparison table and feature documentation
    Breaking Changes
    None. All new features are additive.
    Documentation
    Complete documentation added for:
  • Butterfly timeline workflows and commands
  • Shift command usage and examples
  • Updated getting started guide with new features
  • Enhanced Git migration guide

@javanhut javanhut merged commit 8e480df into main Nov 13, 2025
3 checks passed
@javanhut javanhut deleted the butterfly_effect branch December 3, 2025 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants