Crate git_record

Source
Expand description

Supporting library for git-branchless.

This is a UI component to interactively select changes to include in a commit. It’s meant to be embedded in source control tooling.

You can think of this as an interactive replacement for git add -p, or a reimplementation of hg crecord. Given a set of changes made by the user, this component presents them to the user and lets them select which of those changes should be staged for commit.

Modules§

testing
Testing helpers for interactive interfaces.

Structs§

FileState
The state of a file to be recorded.
RecordState
The state used to render the changes. This is passed into [Recorder::new] and then updated and returned with [Recorder::run].
Recorder
UI component to record the user’s changes.
SectionChangedLine
A changed line inside a Section.

Enums§

RecordError
An error which occurred when attempting to record changes.
Section
A section of a file to be rendered and recorded.