[[[ Fix for svndumpfilter. * subversion/svndumpfilter/main.c Problem Reproduction Sequence: 1. Get a dump of a repository with empty revisions (for example, by pulling a subdirectory of a remote repo with svnsync). 2. Run svndumpfilter --drop-empty-revs to filter the dump. Expected: Revisions that were initially empty are dropped. (As well as those filtered out.) Observed: Only revisions that were filtered out are dropped. Revisions that were initially empty - remain. This also contradicts a comment in the related code. The following patch fixes that. ]]] Index: subversion/svndumpfilter/main.c =================================================================== --- subversion/svndumpfilter/main.c (revision 960348) +++ subversion/svndumpfilter/main.c (working copy) @@ -383,12 +383,12 @@ /* Revision is written out in the following cases: 1. No --drop-empty-revs has been supplied. 2. --drop-empty-revs has been supplied, - but revision has not all nodes dropped - 3. Revision had no nodes to begin with. + but revision has nodes (possibly after some were dropped) + 3. It is revision 0, which should be preserved */ if (rb->has_nodes || (! rb->pb->drop_empty_revs) - || (! rb->had_dropped_nodes)) + || rb->rev_orig == 0) { /* This revision is a keeper. */ SVN_ERR(svn_stream_write(rb->pb->out_stream,