On Fri, Jun 22, 2012 at 5:21 PM, Trent Fisher <trent.fis...@oracle.com> wrote: > > 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?
Ouch. svnsync failing to transfer due to permissions, but leaving empty logs, is...... That's a silent failure that's going to be really problematic in the field. What happens after the permissions are opened? Do the logs get recovere successfully?