Mercurial has a somewhat similar concept predating this (added circa 2010): revision sets (https://www.selenic.com/mercurial/hg.1.html#revsets) (for selection, and templates for selection but git has that built-in, kind-of, via log --format)
I was actually hoping that gitql had finally gotten inspiration from Mercurial and git would grow a general purpose query language, but it's read-only. :-(
git diff HEAD $(git merge-base HEAD master)
work?[1]: https://stackoverflow.com/questions/1549146/find-common-ance...
Mercurial's API (i.e. the CLI) makes a point of being usable with powershell and cmd.exe, which I think some Windows users appreciate.
Diff would be `hg diff -r 'ancestor(default, experiment)' -r experiment`
Want to list commits in experiment? Just change diff to log. Generate patch file with all commits? Change it to export.
git diff master...experiment
(note there's three periods)I'm kind of confused because gitrevisions(7) says the triple dot is symmetric difference, but exchanging master and experiment does not produce the same output from diff.