1
0
mirror of https://github.com/git/git.git synced 2024-10-02 18:11:45 +02:00
git/perl/Git
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
..
SVN pager: remove 'S' from $LESS by default 2014-05-07 13:41:04 -07: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: only look at the new parts of svn:mergeinfo 2014-10-24 22:55:26 +00:00