Branko Čibej <br...@wandisco.com> writes: > I think there's no doubt that the 1.9 server has to send no-op deltas > the same way the 1.8 server did. Changing an API should not affect > server behaviour as seen by the clients.
A simple testcase: svnadmin create repo --compatible-version 1.8 svnmucc -mm -U file://`pwd`/repo mkdir A put repo/README.txt A/f svnmucc -mm -U file://`pwd`/repo cp 1 A B svnmucc -mm -U file://`pwd`/repo put repo/format A/f svn co file://`pwd`/repo/B wc svn merge ^/A wc svn ci -mm wc Using a 1.8 server both 1.8 and 1.9 clients show $ svn blame -g http://localhost:8888/obj/repo/B/f G 3 pm 5 Using a 1.9 server a 1.9 client shows the same but a 1.8 client shows: $ svn blame -g http://localhost:8888/obj/repo/B/f 1 pm 5 The 1.8 server REPORT is: <?xml version="1.0" encoding="utf-8"?> <S:file-revs-report xmlns:S="svn:" xmlns:D="DAV:"> <S:file-rev path="/A/f" rev="1"> <S:rev-prop name="svn:date">2015-06-09T20:11:55.652556Z</S:rev-prop> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:txdelta>U1ZOAAAAgXYDgXaAgXZUaGlzIGlzIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5OyB1c2UgdGhlICdz dm5hZG1pbicgYW5kICdzdm5sb29rJyAKdG9vbHMgdG8gZXhhbWluZSBpdC4gIERvIG5vdCBhZGQs IGRlbGV0ZSwgb3IgbW9kaWZ5IGZpbGVzIGhlcmUgCnVubGVzcyB5b3Uga25vdyBob3cgdG8gYXZv aWQgY29ycnVwdGluZyB0aGUgcmVwb3NpdG9yeS4KClZpc2l0IGh0dHA6Ly9zdWJ2ZXJzaW9uLmFw YWNoZS5vcmcvIGZvciBtb3JlIGluZm9ybWF0aW9uLgo= </S:txdelta></S:file-rev> <S:file-rev path="/B/f" rev="2"> <S:rev-prop name="svn:date">2015-06-09T20:11:55.728662Z</S:rev-prop> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> </S:file-rev> <S:file-rev path="/A/f" rev="3"> <S:rev-prop name="svn:date">2015-06-09T20:11:55.821288Z</S:rev-prop> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:merged-revision/><S:txdelta>U1ZOAACBdgIBAoI1Cg== </S:txdelta></S:file-rev> <S:file-rev path="/B/f" rev="4"> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:rev-prop name="svn:date">2015-06-09T20:11:55.932638Z</S:rev-prop> <S:txdelta>U1ZOAAACAgIAAgA= </S:txdelta></S:file-rev> </S:file-revs-report> The 1.9 server report is: <?xml version="1.0" encoding="utf-8"?> <S:file-revs-report xmlns:S="svn:" xmlns:D="DAV:"> <S:file-rev path="/A/f" rev="1"> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:rev-prop name="svn:date">2015-06-09T20:11:55.652556Z</S:rev-prop> <S:txdelta>U1ZOAAAAgXYDgXaAgXZUaGlzIGlzIGEgU3VidmVyc2lvbiByZXBvc2l0b3J5OyB1c2UgdGhlICdz dm5hZG1pbicgYW5kICdzdm5sb29rJyAKdG9vbHMgdG8gZXhhbWluZSBpdC4gIERvIG5vdCBhZGQs IGRlbGV0ZSwgb3IgbW9kaWZ5IGZpbGVzIGhlcmUgCnVubGVzcyB5b3Uga25vdyBob3cgdG8gYXZv aWQgY29ycnVwdGluZyB0aGUgcmVwb3NpdG9yeS4KClZpc2l0IGh0dHA6Ly9zdWJ2ZXJzaW9uLmFw YWNoZS5vcmcvIGZvciBtb3JlIGluZm9ybWF0aW9uLgo= </S:txdelta></S:file-rev> <S:file-rev path="/B/f" rev="2"> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:rev-prop name="svn:date">2015-06-09T20:11:55.728662Z</S:rev-prop> </S:file-rev> <S:file-rev path="/A/f" rev="3"> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> <S:rev-prop name="svn:date">2015-06-09T20:11:55.821288Z</S:rev-prop> <S:merged-revision/><S:txdelta>U1ZOAACBdgIBAoI1Cg== </S:txdelta></S:file-rev> <S:file-rev path="/B/f" rev="4"> <S:rev-prop name="svn:date">2015-06-09T20:11:55.932638Z</S:rev-prop> <S:rev-prop name="svn:log">m</S:rev-prop> <S:rev-prop name="svn:author">pm</S:rev-prop> </S:file-rev> </S:file-revs-report> The significant difference is the missing txdeltas (ignore the hash ordering of revprops). -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*