Improve svnserve memory usage for commits of many files.
Improve svnserve memory usage for commits of many files.

(Actually, although memory usage gets much better for commits of many
files with text mods, it gets worse for commits of many files with
only prop mods, because that case was already handled well in the old
code.  There's no perfect medium here.)

* libsvn_ra_svn/editorp.c
  (ra_svn_driver_state_t): Add file_pool and file_refs fields.
  (ra_svn_token_entry_t): Document that the pool field is used
   differently for file entries.
  (ra_svn_handle_add_file, ra_svn_handle_open_file): Use ds->file_pool
   instead of creating a new subpool.  Increment ds->file_refs.
  (ra_svn_handle_apply_textdelta): Create a subpool, set the entry
   pool to it, and use it for the purposes of the text delta.
  (ra_svn_handle_textdelta_end): Destroy the subpool created above.
  (ra_svn_handle_change_file_prop): Pass just "pool" to the real
   editor, not the file entry pool; it's used only for temporary
   allocations.  (And the file entry pool may not be valid given the
   above changes.)
  (ra_svn_handle_close_file): Clear the file pool when the refcount
   hits zero, so that non-commit edit operations don't leak any file
   memory.
  (svn_ra_svn__drive_editorp): Set up the file pool and refcount.


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

YueLinHo/Subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,YueLinHo/Subversion