Make the "promisor-remote" capability support more fields
The "promisor-remote" capability can only be used to pass the names and URLs of the promisor remotes from the server to the client. After that the client can use this information to decide if it accepts the remotes or not.
It would be nice if the server could pass more fields about its remotes and if the client could use that additional information to decide about the remotes by comparing it with its local information about the remotes.
This patch series implements this by adding the "promisor.sendFields" on the server side and the "promisor.checkFields" on the client side.
For example, if "promisor.sendFields" is set to "partialCloneFilter", and the server has the remote "foo" configured like this:
[remote "foo"] url = file:///tmp/foo.git partialCloneFilter = blob:none
then "name=foo,url=file:///tmp/foo.git,partialCloneFilter=blob:none" will be sent by the server for this remote.
All the information passed through the "promisor-remote" capability is still only used to decide if the remotes are accepted or not. The client doesn't store it and doesn't use it for any other purpose.
The fields that can be passed are limited to "partialCloneFilter" and "token".
On the technical side, we get rid of 'struct strvec' and we use mostly 'struct string_list' instead, which is more flexible. This matches some suggestions made when the series that introduced the "promisor-remote" capability was reviewed.
This is related to: !341