Michael Haggerty [off-list ref] writes:
The proposal, amended to use "^" instead of "!", is that
git for-each-ref A B ^C
should mean "the reference names A and B but not C". Therefore, the command
git rev-list $(git for-each-ref A B ^C)
, which consistency suggests should do the same thing as the first
command,...
That is an utter rubbish that does not even deserve a response.
Your argument is like saying
git for-each-ref A
and
git for-each-ref $(git rev-parse A)
should somehow magically produce the same (or related) result. The
for-each-ref command operates on refname patterns, while rev-list and
rev-parse takes object names.