aboutsummaryrefslogtreecommitdiff
path: root/pack-objects.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2014-04-16 23:54:05 -0700
committerEric Wong <normalperson@yhbt.net>2014-10-24 22:55:26 +0000
commitabfef3bbf5f637c86032763632393ce1ffd23ccc (patch)
tree4138507c3c04e5692cdce4586ee077180c77e3b9 /pack-objects.h
parentfbecd99861ea5795aeba46faf2ac7a8c1b70d485 (diff)
downloadgit-abfef3bbf5f637c86032763632393ce1ffd23ccc.tar.gz
git-abfef3bbf5f637c86032763632393ce1ffd23ccc.tar.xz
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>
Diffstat (limited to 'pack-objects.h')
0 files changed, 0 insertions, 0 deletions