pub enum Category<'a> {
Tag,
LocalBranch,
RemoteBranch,
Note,
PseudoRef,
MainPseudoRef,
MainRef,
LinkedPseudoRef {
name: &'a BStr,
},
LinkedRef {
name: &'a BStr,
},
Bisect,
Rewritten,
WorktreePrivate,
}Expand description
The various known categories of references.
This translates into a prefix containing all references of a given category.
Variants§
Tag
A tag in refs/tags
LocalBranch
A branch in refs/heads
RemoteBranch
A branch in refs/remotes
Note
A tag in refs/notes
PseudoRef
Something outside of ref/ in the current worktree, typically HEAD.
MainPseudoRef
A PseudoRef, but referenced so that it will always refer to the main worktree by
prefixing it with main-worktree/.
MainRef
Any reference that is prefixed with main-worktree/refs/
LinkedPseudoRef
A PseudoRef in another linked worktree, never in the main one, like worktrees/<id>/HEAD.
LinkedRef
Any reference that is prefixed with worktrees/<id>/refs/.
Bisect
A ref that is private to each worktree (linked or main), with refs/bisect/ prefix
Rewritten
A ref that is private to each worktree (linked or main), with refs/rewritten/ prefix
WorktreePrivate
A ref that is private to each worktree (linked or main), with refs/worktree/ prefix
Implementations§
Source§impl Category<'_>
impl Category<'_>
Sourcepub fn prefix(&self) -> &BStr
pub fn prefix(&self) -> &BStr
Return the prefix that would contain all references of our kind, or an empty string if the reference would
be directly inside of the git_dir().
Sourcepub fn is_worktree_private(&self) -> bool
pub fn is_worktree_private(&self) -> bool
Returns true if the category is private to their worktrees, and never shared with other worktrees.