On 06/22/2012 01:59 PM, Mark Phippard wrote:
On Fri, Jun 22, 2012 at 1:52 PM, Trent Fisher<trent.fis...@oracle.com>  wrote:
I just ran into a rather frightening problem.  We do replications via
svnsync for backup purposes.  I just found two of the replicated
repositories which had these entries for *every* version:

  r20927 | (no author) | (no date) | 1 line
  Changed paths:

And svnlook tree shows there is nothing in the repositories.
I believe this matches the behavior you would get if you were using
path-based permissions and the svnsync user did not have read
permission to the paths in the revision.  Could that be the reason?
You could also get this if you did not specify the URL to the root of
the repository.  Any revision that does not touch the path you
specified would just sync an empty revision.

Duh! Of course. I just tested both of the possible reasons you gave and, sure enough, both will produce revs like the one in my first message. But I think the only way to get a replica, like mine, with *all* empty revs would be via path-based permissions. If we were syncing only a subdirectory of a repository which we, otherwise, had read access to, the commits outside of the sync'ed url would have proper usernames and dates, but no files. (I tested that too)

I was about to ask if svnsync would get access denied errors... but I did another test which, I think, answered my own question: If I run "svn log" against a repository to which I have only access to part of, revs in the areas I don't have access to will show up as "(no author) | (no date)". Presumably svnsync is doing some variant of a "log" call and then getting the contents of each rev and faithfully reproduces what seem to be empty revs.

So, I guess svnsync is arguably doing the right thing. But even if it were declared to be incorrect, and a fix were checked in right now, it wouldn't address any of my existing replicas. So, I'll have to develop some auditing for these sorts of things. Which brings up another question: is there any other reason you would ever see "(no date)" in a log entry?

Thanks!
trent...

Reply via email to