Skip to main content

Module vcs

Module vcs 

Source
Expand description

Backend-agnostic VCS interface. Only the git and repo modules and test fixtures may import git2.

Structs§

BlameSpan
A run of consecutive lines a single commit last touched.
Bookmark
A jj bookmark: name for a local one, name@remote for a remote one.
BranchInfo
ChangeInfo
The jj working-copy change @, shown on a jj repo’s head line.
CommitLists
The status screen’s commit sections.
HeadInfo
JjView
What jj knows beyond the git store, read through the jj CLI.
LogEntry
PullTarget
The local bookmark nearest @ and the remote it tracks, which a jj pull fetches and rebases onto.
StatusModel
Per-area views of the working tree, neogit-style sections.

Enums§

ChangeOp
A jj verb on one change. A rev is @, or a full commit id that names the change it belongs to, so a change rewritten since keeps its target.
NetworkOp
A network operation we run through the backend’s CLI, so the user’s own auth applies and diffler holds no credentials.
PullOutcome
What a jj pull did after its fetch.
VcsError

Constants§

JJ_ONLY
What a jj-only verb answers in a git repo.

Traits§

Vcs

Functions§

against_diff
Three-dot diff of rev against the working tree: merge-base(rev, HEAD) vs index + worktree + untracked. Commits rev gained since the branch forked stay out of it; uncommitted work stays in.
commit_lists
recent leaves out what unpushed holds, so a caller applies both or neither, or a commit goes missing from both sections.