Skip to contentSkip to conversation

"git tag --contains <id>" is too chatty, if <id> is invalid

DISCUSSION Toralf Förster 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

very first line is "error: malformed object name <id>" which tells all, or ?

Signature · 1 line
Toralf, pgp: C4EACDDE 0076E94E
#1 lore raw
Quoted 1 line · Toralf Förster

very first line is "error: malformed object name <id>" which tells all, or ?

Yeah, I agree that showing the "-h" help is a bit much.

This is a side effect of looking up in the commit in the parse-options callback. It has to signal an error to the option parser, and then the option parser always shows the help on an error.

I think we'd need to do one of:

1. call die() in the option-parsing callback (this is probably a bad precedent, as the callbacks might be reused from a place that wants to behave differently)

2. have the callback just store the argument string, and then resolve the commit later (and die or whatever if it doesn't exist). This pushes more work onto the caller, but in this case it's all done by the ref-filter code, so it could presumably happen during another part of the ref-filter setup.

3. teach parse-options to accept some specific non-zero return code that means "return an error, but don't show the usage"

I think any one of those would be a good project for somebody looking to get their feet wet in working on git. I think (2) is the cleanest.

-Peff