Brandon Williams [off-list ref] writes:
This series refactors how refspecs are handled through out the code base
by renaming the existing struct refspec to refspec_item and introducing
a new 'struct refspec' which is a container of refspec_items, much like
how a pathspec contains pathspec_items. This simplifies many callers
and makes handling pathspecs a bit easier.
Good. IOW, a refspec is a set of refspec items, just like a
pathspec is a set of pathspec items. The two level abstraction
would naturally let us work on individual items as well as the whole
thing as a single set, which is quite nice.