Michael Haggerty <mhag...@alum.mit.edu> writes:
> 1. Document that string_list sorts entries according to their strcmp()
> order, as proposed in this patch. Then fetch can rely on this ordering.
> If somebody wants a different ordering in the future, it is easy to
> make the sort order a parameter.
> 2. Leave string_list's "default" sort order unspecified, but already
> implement a way to let string_list users specify a particular sort
> order. Change the fetch machinery to specify a strcmp()-based ordering
> explicitly. This approach has the advantage of letting the default sort
> order of string_list to be changed, though I don't really see how this
> would be helpful.
> 3. Change fetch back to doing its own sorting again, rather than relying
> on sort_string_list(). This isn't a lot of work (inline the one line of
> sort_string_list(), then either make string-list.c:cmp_items() public or
> duplicate that function too).
I haven't looked at non-users of string-list API, but my gut feeling
has been that lack of 2. made the API less useful for current
non-users, possible callers that could benefit from something like
string-list that lets them specify their own sort order.
Also, I actually am more worried about us wanting to change the
order in which ref-list is sorted, rather than somebody randomly
deciding to change the default (and only) order string-list is
sorted on. When that happens, we would have even less useful
string-list left behind, with a documented invariant that is not
helping anybody if we choose to do 1 now.
So to me, if we really wanted to avoid doing 2 prematurely (which is
a sensible concern, by the way), the more sensible option between 1
and 3 would be 3. That makes my preference 2, 3 and then 1 (but I
do not care too deeply between 2 and 3).
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html