Skip to content

feature: multi-way splits #73

@arxanas

Description

@arxanas

Ideally, we would be able to split a commit into a different number than exactly two commits, but instead into any number of commits. It should be possible to create/reorder/delete commits, set their messages, and move selected lines between commits.

Meta's "Interactive Smartlog" extension that I used internally had a really good interface that would be nice to emulate, where you could scroll horizontally through a set of commit selectors and edit them. Unfortunately, I can't find a publicly-available reference. They might implement it in the Sapling VS Code extension at some point.

There's some existing code in the scm-record codebase to render side-by-side commit UIs, although it's not currently exposed/available to callers. It would also work for a first pass to render only one "active" commit at a time, and allow sending a selected line to an arbitrary commit.

Note that this is incompatible with the typical difftool/mergetool interface, so callers would have to integrate with scm-record specifically for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestuxUser interface and user experience issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions