Trent Nelson <trent@snakebite.org>
r1296868 | danielsh | 2012-03-04 14:14:01 -0600 (Sun, 04 Mar 2012)
* subversion/libsvn_fs_fs/rep-cache-db.sql
(I_HASH): New index.
Suggested by: Trent Nelson <trent@snakebite.org>
r1241313 | danielsh | 2012-02-06 19:29:47 -0600 (Mon, 06 Feb 2012)
Nominate the r1235264 group as approved (with gstein's voice via dev@).
Suggested by: Trent Nelson
r1240856 | danielsh | 2012-02-05 17:14:43 -0600 (Sun, 05 Feb 2012)
Teach post-commit hooks to receive the txn name.
The txn name is already passed to the pre-commit hook, so this allows the
pre-commit and post-commit hook to easily pass state.
(An svn_fs_* API to answer "What txn did a <given revision> originate in?"
would be easy to implement for FSFS f3 and newer and for BDB, but is beyond
the scope of this commit.)
Suggested by: Trent Nelson <trent@snakebite.org>
* subversion/libsvn_repos/fs-wrap.c
(svn_repos_fs_commit_txn): Pass TXN_NAME to the post-commit hook.
* subversion/libsvn_repos/load-fs-vtable.c
(close_revision): Reorganize code to pass TXN_NAME to the post-commit hook.
* subversion/libsvn_repos/repos.c
(create_hooks): Add the new paramater to the hook template.
* subversion/libsvn_repos/repos.h
(svn_repos__hooks_post_commit): Grow TXN_NAME parameter.
* subversion/libsvn_repos/hooks.c
(svn_repos__hooks_post_commit): Grow TXN_NAME parameter, and pass it
to the child's argv.
r1235736 | danielsh | 2012-01-25 07:23:04 -0600 (Wed, 25 Jan 2012)
Follow-up to r1235296:
* subversion/bindings/swig/python/tests/mergeinfo.py
(test_mergeinfo_leakage__lingering_range_t_objects_after_del):
Update docstring to reflect changes done prior to the commit.
Found by: Trent Nelson
Patch by: Trent Nelson
me
r1235302 | danielsh | 2012-01-24 09:38:00 -0600 (Tue, 24 Jan 2012)
* subversion/bindings/swig/python/tests/mergeinfo.py
(itertools): Remove import.
Suggested by: Trent Nelson
r1235296 | danielsh | 2012-01-24 09:30:06 -0600 (Tue, 24 Jan 2012)
Follow-up to r1235264: add two new tests to aid in detecting memory leaks.
They essentially test the same thing in two different ways; if one fails,
the other *should* fail. (Of course, if one fails and the other does not --
that's just as valuable, diagnostically, and points to an issue with the
'automatic pool memory management' logic.)
Patch by: Trent Nelson <trent@snakebite.org>
Tested on: FreeBSD, OS X, Windows.
(split from r1235264 by me)
* subversion/bindings/swig/python/tests/mergeinfo.py:
(get_svn_merge_range_t_objects): New helper method that returns a list of
any 'svn_merge_range_t' objects being tracked by the garbage collector.
(SubversionMergeinfoTestCase):
(test_mergeinfo_leakage__incorrect_range_t_refcounts): New test. Verify
svn_merge_range_t objects returned from svn_mergeinfo_parse() have the
correct refcounts set.
(test_mergeinfo_leakage__lingering_range_t_objects_after_del): New test.
Verify that there are no lingering svn_merge_range_t objects after we
explicitly delete the results returned from svn_mergeinfo_parse().
r1235264 | danielsh | 2012-01-24 08:28:06 -0600 (Tue, 24 Jan 2012)
Fix a memory leak in convert_rangelist by *always* Py_DECREF'ing the object
returned by convert_to_swigtype (a SWIG wrapper around svn_merge_range_t)
once we've established it's not NULL.
This is required because PyList_Append takes ownership of references passed
in (i.e. calls Py_INCREF). Prior to this fix, the reference counts of any
svn_merge_range_t objects would always be off-by-one, preventing them from
ever being garbage collected, having dire effects on the memory usage of
long-running programs calling svn_mergeinfo_parse() on real-world data.
Patch by: Trent Nelson <trent@snakebite.org>
Tested on: FreeBSD, OS X, Windows.
(this is part of a patch that also included a test suite portion)
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
(convert_rangelist): Make sure we call Py_DECREF on the object returned
from convert_to_swigtype. PyList_New might return NULL; check for that.
r1229896 | danielsh | 2012-01-10 23:39:31 -0600 (Tue, 10 Jan 2012)
Improve docstrings for svn_delta_editor_t's absent_(file|directory) callbacks.
* subversion/include/svn_delta.h
(svn_delta_editor_t): the absent_file() and absent_directory()
callbacks will *only* be invoked due to authz
restrictions; state this clearly in the docstrings.
Patch by: Trent Nelson <trent@snakebite.org>