Martin von Gagern wrote:
> The documentation of the paths argument to svn_ra_get_log2 is unclear to
> me. Maybe it can be written to be more precise about intended use and
> behaviour. A clarification here by mail would be good in any case.
> 1. What is the default behaviour if paths is NULL or empty?
> a) empty log, as seems to be implemented by some servers?
> b) log of current directory?
> c) full log of whole repository?
I seem to recall that recently I realized that NULL and empty had two
different interpretations in 'svn log'. I think empty resulted in (b), and
(a surprise to me) NULL in (c).
> 2. The paths are relative to the current session directory,
> but this description can have two possible meanings:
> a) forbid absolute paths,
> while describing how relatives paths are interpreted
> b) only describe how relative paths are interpreted,
> without saying anything at all about absolute paths
> Current assertions enforce a). Does this mean there is no way to
> access the full log of a repository while the session is for a
That is correct.
> 3. Are changes reported recursively? The documentation reads as if for
> directories specified as elements of the paths list, only property
> changes, additions and deletions of files would be reported. This
> seems to exclude modifications of files or subdirs. Implementations
> seem to behave differently.
The logic is such that "bubble-up" changes to directories (that is, any
change *inside* them) counts as a loggable change. So yes, recursion is in
> I guess other commands besides svn_ra_get_log2 which accept (relative)
> paths might be affected in a similar way.
Right. Pretty much all the RA APIs which accepts paths expect non-absolute
paths, and treat the (relative) paths as relative to the session URL. If
you need to do something at a different location, you can use
svn_ra_reparent() to change the current session URL.
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-06-03 15:28:38 CEST