CLI2-2: reject a revision/ref that git could misparse as an OPTION (argument
injection). Values are already passed as argv (so there is no SHELL
injection), but git still parses a leading-- arg as a flag, so a cloud- or
PR-supplied ref like --upload-pack=… could smuggle a dangerous git flag.
Legitimate git revisions never begin with - and never contain control
characters, so refusing those is safe and closes the vector.