On 08/17/2012 02:35 PM, C. Michael Pilato wrote: > I'm sitting at this spot right now: Unless we want hooks parsing literal > capability strings such as "client-version-tsvn-1dot7dot0", we have to > change the server. And if we have to change the server *at all* to make > this all work, then we should simultaneously change the protocol so as not > to require some still-obscure marshaling mechanism.
I would expect a client version to be communicated over libsvn_ra_svn in a string, not a word. The original design intent was that words are only for enumerated protocol values understood by the ra_svn code itself. It seems like we departed from this design with #2991 when we made a set of ra_svn words visible to hook scripts. That seems like a mistake, just as it would be a mistake to put C identifiers into the UI. Anyway, for the case at hand, I think the client version needs to be marshalled as a string, not a word, and therefore not as a capability.