git/perl/Git
Dair Grant 8262574822 git-svn: improve rebase/mkdirs performance
Processing empty_dir directives becomes extremely slow for svn
repositories with a large enough history.

This is due to using a single hash to store the list of empty
directories, with the expensive step being purging items from
that hash using grep+delete.

Storing directories in a hash of hashes improves the performance
of this purge step and removes a potentially lengthy delay after
every rebase/mkdirs command.

The svn repository with this behaviour has 110K commits with
unhandled.log containing 170K empty_dir directives.

This takes 10 minutes to process when using a single hash, vs
3 seconds with a hash of hashes.

Signed-off-by: Dair Grant <dair@feralinteractive.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
2015-11-10 01:35:01 +00:00
..
SVN Merge branch 'svn-maint-fixes' into svn-fixes 2015-02-26 14:03:57 -08:00
I18N.pm Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00
IndexInfo.pm Move Git::IndexInfo into its own file. 2012-07-27 22:36:17 +00:00
SVN.pm git-svn: improve rebase/mkdirs performance 2015-11-10 01:35:01 +00:00