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

Re: Blame behaviour change in 1.9

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Tue, 09 Jun 2015 19:31:04 +0100

Philip Martin <philip_at_codematters.co.uk> writes:

> $ ../../svn/svn blame -g svn-test-work/working_copies/blame_tests-10/trunk/iota
> 2 jrandom This is the file 'iota'.
> 2 jrandom 'A' has changed a bit, with 'upsilon', and 'xi'.
>
> while the 1.9 client gives the correct output:
>
> $ svn blame -g svn-test-work/working_copies/blame_tests-10/trunk/iota
> 2 jrandom This is the file 'iota'.
> G 11 jrandom 'A' has changed a bit, with 'upsilon', and 'xi'.
>
> If I kill the 1.9 server and start a 1.8 server then both clients gives
> the correct output. It appears the 1.9 server is sending data that the
> 1.8 client does not interpret correctly.

The 1.9 server is sending the same revisions as the 1.8 server but some
of the revisions from the 1.9 server do not have a textdelta. Both the
1.8 and 1.9 servers call svn_repos_get_file_revs2() which calls
send_path_revision(). Inside send_path_revision() the 1.8 server uses
svn_fs_contents_changed() to determine if there is a textdelta while 1.9
uses svn_fs_contents_different(). svn_fs_contents_different() does not
exist in 1.8 but is related to svn_fs_contents_changed() via the strict
flag. It seems the strict flag is supposed to make this work but it
doesn't appear to work in this case.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2015-06-09 20:38:09 CEST

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