Philip Martin <phi...@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*