Skip to content

[FEAT] Interactive Commit Log Selector #40

Description

@xguot

Feature Request: Interactive Commit Log Selector

Is your feature request related to a problem? Please describe.

Currently, if a user wants to diff against a specific older commit or branch, they have to manually find the Git SHA or branch name via git log and pass it as a CLI argument (e.g., difi HEAD~3 or difi 5561c25). This breaks the flow of the TUI and relies on external commands.

Describe the solution you'd like

An interactive, scrollable commit history view integrated directly into difi.

If a user runs difi --log (or presses a specific key from the empty state), they should be presented with a clean, Bubble Tea list component showing their recent Git history.

Workflow:

  1. Run difi --log
  2. Scroll through recent commits (j/k)
  3. Press Enter on a commit
  4. difi immediately opens the standard side-by-side view, diffing the working tree (or HEAD) against that selected commit.

Describe alternatives you've considered

Relying strictly on CLI arguments (difi <target>). While this is Unix-y and fast for power users who know their SHAs, it lacks the discoverability and visual ease of a TUI.

Additional context

  • We can likely leverage the github.com/charmbracelet/bubbles/list component for the UI.
  • It needs to support Mercurial (hg log) to maintain feature parity.
  • The UI should remain minimal to match the "calm, focused" philosophy of the project.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions