refuseOptionLikeRevision function

void refuseOptionLikeRevision(
  1. String expression
)

Raises GitUnknownRevisionException when expression names no revision because git would read it as an option: it starts with the - marker.

Every operation that takes a revision expression and maps git's refusal of an unknown name to GitUnknownRevisionException runs this gate before its first command, so an expression like --output=x can never reach git as an option argument.

Implementation

void refuseOptionLikeRevision(String expression) {
  if (readsAsOption(expression)) {
    throw GitUnknownRevisionException(expression: expression);
  }
}