Skip to main content

split_double_dot_range

Function split_double_dot_range 

Source
pub fn split_double_dot_range(spec: &str) -> Option<(&str, &str)>
Expand description

Resolve a revision string to an object ID.

Supports:

  • full 40-hex object IDs (must exist in loose store),
  • abbreviated object IDs (length 4-39, must resolve uniquely),
  • direct refs (HEAD, refs/...),
  • DWIM branch/tag/remote names (name -> refs/heads/name, etc.),
  • peeling suffixes: ^{}, ^{object}, ^{commit}.

ยงErrors

Returns Error::ObjectNotFound or Error::InvalidRef when resolution fails. Split spec at a .. range operator, avoiding the three-dot symmetric-diff form.

Returns (left, right) where either side may be empty (..HEAD, HEAD.., ..).