Fix issue #3681: Add '--drop-all-empty-revs' to 'svndumpfilter include/exclude'
to remove all the empty revisions found in the dumpstream except revision 0.
This would allow admins to purge empty revisions from repositories previously
populated by 'svndumpfilter' when --drop-empty-revs was not provided,
or by partial-repository mirroring via 'svnsync', etc.

* subversion/svndumpfilter/svndumpfilter.c
  (struct parse_baton_t): Add 'drop_all_empty_revs' member.
  (output_revision): If 'drop_all_empty_revs' is set, remove all the empty
    revisions (those that make no path modifications) found in the dumpstream
    except r0. Meanwhile, preserve the meaning of 'drop-empty-revs'
    which removes only the revisions emptied by filtering process.
  (svndumpfilter__drop_all_empty_revs): New.
  (options_table): Add new 'drop-all-empty-revs' option.
  (cmd_table): Make 'exclude' and 'include' accept the new option.
  (struct svndumpfilter_opt_state): Add 'drop-all-empty-revs'.
  (parse_baton_initialize): Add new option value to parse baton.
  (do_filter): Check if 'drop-all-empty-revs' is set while printing the
    filtering notification message.
  (main): Parse the new option. Handle the case of 'drop-empty-revs' and
    'drop-all-empty-revs' being used together.

* subversion/tests/cmdline/svndumpfilter_tests.py
  (drop_all_empty_revisions): New test.
  (test_list): Add reference to the new test.

* subversion/tests/cmdline/svndumpfilter_tests_data/empty_revisions.dump:
  New dump file for the test.

Patch by: Vijayaguru G <vijay{_AT_}collab.net>


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1451462 13f79535-47bb-0310-9956-ffa450edef68