On Mon, Aug 13 2018, Johannes Schindelin via GitGitGadget wrote: I realize this topic has long since landed, just seemed like a good thing to reply to to ask this question: > [...] > + ( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> ) > [...] > +<range1> <range2>:: > + Compare the commits specified by the two ranges, where > + `<range1>` is considered an older version of `<range2>`. > + > +<rev1>...<rev2>:: > + Equivalent to passing `<rev2>..<rev1>` and `<rev1>..<rev2>`. > + > +<base> <rev1> <rev2>:: > + Equivalent to passing `<base>..<rev1>` and `<base>..<rev2>`. > + Note that `<base>` does not need to be the exact branch point > + of the branches. Example: after rebasing a branch `my-topic`, > + `git range-diff my-topic@{u} my-topic@{1} my-topic` would > + show the differences introduced by the rebase. I find myself using range-diff often by watching forced pushes to public repos to see what others are doing, e.g. just now: + 38b5f0fe72...718fbdedbc split-index-racy -> szeder/split-index-racy (forced update) And then I turn that into: # @{u} because I happen to be on 'master' and it's shorter to type # than origin/master... git range-diff @{u} 38b5f0fe72...718fbdedbc Only to get an error because it doesn't support that, but just: git range-diff @{u} 38b5f0fe72 718fbdedbc I think it would be convenient given that "fetch" produces this output to support this sort of invocation as synonymous with the three-arg form. Then you can directly copy/paste that from terminals that have a convenient feature to highlight a continuous \S+ reason to copy/paste it. I can patch it in, but maybe there's UI reasons not to do this that I'm missing, e.g. confusion with the existing <rev1>...<rev2> syntax. What do you think?