Re: [PATCH 1/3] range-diff: refactor check for commit range
From: Junio C Hamano <hidden>
Date: 2021-01-22 22:01:20
Phillip Wood [off-list ref] writes:
quoted
+static int is_range(const char *range) +{ + return !!strstr(range, ".."); +}If the user wrongly passes two arguments referring to single commits with `:/<text>` or `@{/<text>}` where text contains ".." this will give a false positive.
True. I do not think this aims to be complete revision parser in
the first place, though.
It is tempting to at least idly speculate if an approach to run
setup_revisions() on argument is_range() takes and checking the
result would yield a more practical solution. I would imagine that
we would want to see in the resulting revs.pending has at least one
positive and one negative, and none of them have SYMMETRIC_LEFT set
in their .flags word.
Side note: Strictly speaking, people could wish "rev" to mean
"everything reachable from the rev, down to root", so
requiring one negative may technically be a wrong
thing, but in the context of "range-diff", I am not
sure how useful such a behaviour would be.