git/perl
Jakob Stoklund Olesen abfef3bbf5 git-svn: only look at the new parts of svn:mergeinfo
In a Subversion repository where many feature branches are merged into a
trunk, the svn:mergeinfo property can grow very large. This severely
slows down git-svn's make_log_entry() because it is checking all
mergeinfo entries every time the property changes.

In most cases, the additions to svn:mergeinfo since the last commit are
pretty small, and there is nothing to gain by checking merges that were
already checked for the last commit in the branch.

Add a mergeinfo_changes() function which computes the set of interesting
changes to svn:mergeinfo since the last commit. Filter out merged
branches whose ranges haven't changed, and remove a common prefix of
ranges from other merged branches.

This speeds up "git svn fetch" by several orders of magnitude on a large
repository where thousands of feature branches have been merged.

Signed-off-by: Jakob Stoklund Olesen <stoklund@2pi.dk>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
2014-10-24 22:55:26 +00:00
..
Git git-svn: only look at the new parts of svn:mergeinfo 2014-10-24 22:55:26 +00:00
.gitignore perl: detect new files in MakeMaker builds 2012-07-27 22:14:02 +00:00
Git.pm Git.pm: revert _temp_cache use of temp_is_locked 2013-07-18 20:31:43 -07:00
Makefile Extract Git::SVN::GlobSpec from git-svn. 2012-07-27 22:36:19 +00:00
Makefile.PL The Makefile.PL will now find .pm files itself. 2012-07-27 22:13:28 +00:00
private-Error.pm Correct common spelling mistakes in comments and tests 2013-04-12 13:38:40 -07:00