Bert Huijben wrote:
>> Shouldn't we have an EOL-style translation option as well? Usually the 
>> two go  together.
> 
> Not sure.
> 
> svn_client_cat2() already implemented keyword expansion, but I don't think
> it changes EOL?
> 
> 
> I just added an option to allow disabling a magic feature of
> svn_client_cat2() that api developers could only work around by directly
> going to either the wc or ra apis.
> 
> Translating the EOL style can be done by wrapping the passed output stream
> by a translation... So I don't see that as an as-interesting case.

OK.

>>> + * @param[in] expand_keywords  When true, keywords (when set) are
>>>  expanded.
>> 
>> And what if @a expand_keywords is false -- are keywords contracted to their
>> repository-normal form, or left unchanged? The implementation looks like it
>> leaves them unchanged.
> 
> We should never have expanded keywords in the repository normal form...
> 
> And we certainly never retract them when translating from that form...

Yes, but 'cat' can also operate on a WC path with revision = 'working', and in 
that case it's not clear whether the caller should expect keywords to be 
contracted or left as-is.


> I removed the documentation for pool and the todo in r1581796.

Thanks for that and the other tweaks.

>>> +/**
>>> + * Similar to svn_client_cat3() except without the option of directly
>>> + * reading the properties, and with @a expand_keywords always TRUE.
>> 
>> ... and only one pool.
> 
> I don't think we document those pool changes in other similar cases.
> (svn_client_cat2() didn't have output arguments, so I don't think there 
> is anything special to document here)

We do normally document the pools in public API functions, although I find it 
often seems rather redundant. (In some cases there can be non-obvious 
implications but we aren't always careful to document those...)

- Julian

Reply via email to