Hi Philip, This commit changes the output format of paths from no leading slash ('relpath' style) to having a leading slash ('fspath' style). This seems to be against the desired path format for a dump file, although the documentation in <notes/dump-load-format.txt> is not explicit.
I noticed this because it crashes 'svnrdump load': $ svnrdump load file://$PWD/rr < the-dump-filtered lt-svnrdump: subversion/libsvn_subr/dirent_uri.c:1256: svn_relpath_dirname: Assertion `relpath_is_canonical(relpath)' failed. Aborted (core dumped) That's probably a bug in itself; 'svnadmin load' accepts them. The code should probably use the path as it was read from the input stream, so as not to make unnecessary changes to the data. (However, preserving the exact input for this particular header is a drop in the ocean, as svndumpfilter also makes many other other unnecessary changes such as reordering headers and adding redundant headers, and I think it would be better if it did not, but that's another story.) - Julian > Author: philip > URL: http://svn.apache.org/r1578670 > Log: > Fix the order of node record headers written by svndumpfilter. > > * subversion/svndumpfilter/svndumpfilter.c > (new_node_record): Output 'Node-path' first. > > Modified: subversion/trunk/subversion/svndumpfilter/svndumpfilter.c > ============================================================================== > + /* A node record is required to begin with 'Node-path'. */ > + SVN_ERR(svn_stream_printf(nb->rb->pb->out_stream, > + pool, "%s: %s\n", > + SVN_REPOS_DUMPFILE_NODE_PATH, node_path)); > + > for (hi = apr_hash_first(pool, headers); hi; hi = apr_hash_next(hi)) > { > const char *key = svn__apr_hash_index_key(hi); > @@ -638,7 +643,8 @@ new_node_record(void **node_baton, > > if ((!strcmp(key, SVN_REPOS_DUMPFILE_CONTENT_LENGTH)) > || (!strcmp(key, SVN_REPOS_DUMPFILE_PROP_CONTENT_LENGTH)) > - || (!strcmp(key, SVN_REPOS_DUMPFILE_TEXT_CONTENT_LENGTH))) > + || (!strcmp(key, SVN_REPOS_DUMPFILE_TEXT_CONTENT_LENGTH)) > + || (!strcmp(key, SVN_REPOS_DUMPFILE_NODE_PATH))) > continue;