[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Clarification for paths argument to svn_ra_get_log2

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Tue, 03 Jun 2008 09:28:26 -0400

Martin von Gagern wrote:
> Hi!
>
> 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
> subtree?

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
effect.

> 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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.