From the linked commit's discussion (see full discussion for context):
But that's still not the actual problem! Since /trunk/baz/baz doesn't exist anywhere except for a local working copy, it will break all repo browsers even when implemented "correctly": .../repo2/trunk/baz/ simply does not exist as an actual path. And even if there is a repo browser that supports "virtual" paths for browsing, it won't be able to show the diff between two revisions of a completely different repository: Given the revisions in my test setup above, it's likely to result in links to something like http://svnbrowser/repo2/trunk/baz/baz?rev=4, when that revision doesn't even exist in that repo.
I also tested the "exclude paths" option: While the changelog now shows the changed path baz/baz, I have to exclude the location /projectX/trunk/.* to ignore it. Which is obviously really confusing: how do you get from an accidentally polling-triggered build's change log to the correct location to exclude in the configuration? It's trivial in the old format, you just copy and paste from the change log.
And while we're at it, changelog.xml lost the information about what kind of entity this is (tested with the master snapshot build):
as opposed to:
JENKINS-18574 should not break the recording of changed paths and the repo browsers depending on those paths.