Optimize the code path for obtaining revisions backwards for the blame algorithm. And while there reduce the memory footprint of the ordinary revision obtaining a tiny bit by introducing a scratch pool.
Optimize the code path for obtaining revisions backwards for the blame
algorithm. And while there reduce the memory footprint of the ordinary
revision obtaining a tiny bit by introducing a scratch pool.

Suggested by: jcorvel

I can't reproduce it on repositories that I have access to, but he
explains that he sees a long delay before the first revision is
transferred. This patch should take care of that for the reversed
operation.

* subversion/libsvn_repos/rev_hunt.c
  (check_ancestry_of_peg_path): Initialize variable to NULL to shut up
    compiler warning.
  (find_merged_revisions): Split passed pool in result and scratch pool, to
    allow clearing intermediate information earlier.

  (get_file_revs_backwards): New function.

  (svn_repos_get_file_revs2): Rename pool to scratch_pool. Delegate reverse
    handling to get_file_revs_backwards. Use iterpools as scratch pools for
    version calculation.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1446118 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion