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

Re: No-op changes no longer dumped by 'svnadmin dump' in 1.9

From: Stefan Fuhrmann <stefan2_at_apache.org>
Date: Fri, 06 Nov 2015 10:08:18 +0100

On 26.10.2015 17:45, Evgeny Kotkov wrote:
> Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com> writes:
>>> As for /trunk, I think that we could do that, so I sketched this option in
>>> the attached patch.
>> The patch looks o.k.
> Thanks for giving this patch a look.
> I examined the differences between these functions, svn_repos__compare_files()
> and svn_fs_contents_different(), and I think that we also have a problem in
> FSFS's implementation of the new svn_fs_contents_different() API in 1.9.x.
> The implementation relies on representation_t.expanded_size value when doing
> the comparison. If this value is zero, a representation is considered empty,
> and two empty representations are considered equal.
> The problem is that the expanded_size can be zero for empty files and also for
> some of the PLAIN representations, which are not empty. If I am not mistaken,
> we have a workaround for this in /trunk r1673875 [1] and follow-ups, but not
> in Subversion 1.9.
To be sure, I just read through the code again
and it seems that on /trunk, expanded_size
indeed always has correct value.

> Hence, the new svn_fs_contents_different() API can fail to
> distinguish different contents in 1.9.x under the circumstances described in
> issue 4554 [2].
So, svn_fs_contents_different is broken in 1.9.x
and needs to be fixed. I'll take care of that.

-- Stefan^2.
Received on 2015-11-06 10:08:15 CET

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