Skip to contentSkip to conversation

log --pretty accepts incomplete pre-defined formats

DISCUSSION Sidhant Sharma 3 participants 4 messages Jun 16, 2016

lore
Share & tools
lore
#0 lore raw

Hi,

Recently while playing around with git log, I realized that it is possible to pass incomplete (pre-defined) format names. For example, it is possible to use git log --pretty=one instead of oneline and it would still output the logs in oneline formatting. Same goes for other formats such as 'raw', 'short' and others. I looked at the code and it seems that it is intentionally kept so. It this so? I'm curious to know the reason behind keeping this so.

Thanks and regards,
Sidhant Sharma

#1 lore raw
Quoted 6 lines · Sidhant Sharma

Recently while playing around with git log, I realized that it is possible to pass incomplete (pre-defined) format names. For example, it is possible to use git log --pretty=one instead of oneline and it would still output the logs in oneline formatting. Same goes for other formats such as 'raw', 'short' and others. I looked at the code and it seems that it is intentionally kept so. It this so? I'm curious to know the reason behind keeping this so.

I actually am curious why somebody wants to know, as more modern parts of the system allow option names abbreviated to unique prefixes. "Why can't I say 'log --pret=oneline' when I can say 'commit --ame'?" might be a more plausible puzzlement (and the answer is "hysterical raisins"). Anyway, this seems to come from 6cdfd179 (commit: allow --pretty= args to be abbreviated, 2006-05-14), which was slightly tightend by aacd404e (Fix some documentation typos and grammar, 2007-02-02).

#2 lore raw
Quoted 9 lines · Junio C Hamano
Quoted 6 lines · Sidhant Sharma

Recently while playing around with git log, I realized that it is possible to pass incomplete (pre-defined) format names. For example, it is possible to use git log --pretty=one instead of oneline and it would still output the logs in oneline formatting. Same goes for other formats such as 'raw', 'short' and others. I looked at the code and it seems that it is intentionally kept so. It this so? I'm curious to know the reason behind keeping this so.

Quoted 7 lines

I actually am curious why somebody wants to know, as more modern parts of the system allow option names abbreviated to unique prefixes. "Why can't I say 'log --pret=oneline' when I can say 'commit --ame'?" might be a more plausible puzzlement (and the answer is "hysterical raisins"). Anyway, this seems to come from 6cdfd179 (commit: allow --pretty= args to be abbreviated, 2006-05-14),

Yes, being able to abbreviate 'raw', 'short', etc is intentional to save keystrokes since I was suffering from RSI at the time.

Being able to do "--pret=r" would be nice nowadays if the parsing in revision.c were modernized. However, the completions in contrib/ also expands "--pretty=" nowadays, so now I care less about shorthand options.

Quoted 2 lines

which was slightly tightend by aacd404e (Fix some
documentation typos and grammar, 2007-02-02).

Huh?

#3 lore raw
Quoted 4 lines · Eric Wong
Quoted 2 lines

which was slightly tightend by aacd404e (Fix some
documentation typos and grammar, 2007-02-02).

Huh?

Huh indeed.

b6936205 (Disallow invalid --pretty= abbreviations, 2007-02-02)

was what I meant to name.