On Fri, Jun 22, 2012 at 5:21 PM, Trent Fisher <trent.fisher_at_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.fisher_at_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?
Received on 2012-06-23 02:17:47 CEST