'svnadmin load' and 'svnrdump load' both process mergeinfo in the same ways: normalizing the EOL style, renumbering revisions, and prefixing source paths, while 'svndumpfilter' does renumbering of revisions and filtering of source paths. This code is currently almost identical in libsvn_repos/load-fs-vtable.c and svnrdump/load_editor.c ('FIXME' comments exist from the time of this duplication), and the renumbering part is very similar in svndumpfilter/svndumpfilter.c. The implementations of this mergeinfo processing code should be de-duplicated. The way to do this, I think, is to factor it out as one or more 'svn_repos_parse_fns3_t' filters. These would be provided by libsvn_repos and used by the three 'clients', just as the dump stream parser currently is.