Mercurial > hgsubversion
view Makefile @ 1293:9e85feb93984
wrappers: improve push performance by reusing the existing metadata
Push operation for n commits regenerated SVNMeta class 2*n+1 times
(one time at beginning, n times in push() loop, 1 time per each of n
pulls). This operation is very costly when the revision map is big.
This commit reuses this metadata every time when there is no rebase
made between svn commits which leads to 1 metadata rebuild in optimistic
case and n+1 metadata rebuilds in pessimistic case (rebase after every commit).
To achieve this I added extra parameter to pull command to pass metadata
to it.
All unit tests are passing for this change.
author | Mateusz Kwapich <mitrandir@fb.com> |
---|---|
date | Fri, 12 Dec 2014 16:17:11 -0800 |
parents | 055f9254d790 |
children |
line wrap: on
line source
# Makefile for testing hgsubversion PYTHON=python .PHONY: all check check-demandimport check-subvertpy check-swig all: @echo "Use the following commands to build and install hgsubversion:" @echo @echo "$$ cd $(PWD)" @echo "$$ $(PYTHON) ./setup.py install" @echo @exit 1 check: check-demandimport check-subvertpy check-swig check-demandimport: # verify that hgsubversion loads properly without bindings, but fails # when actually used ! LC_ALL=C HGSUBVERSION_BINDINGS=none HGRCPATH=/dev/null \ hg --config extensions.hgsubversion=./hgsubversion \ version 2>&1 \ | egrep '(^abort:|failed to import extension)' LC_ALL=C HGSUBVERSION_BINDINGS=none HGRCPATH=/dev/null \ hg --config extensions.hgsubversion=./hgsubversion \ version --svn 2>&1 \ | egrep '(^abort:|failed to import extension)' check-subvertpy: $(PYTHON) tests/run.py --all --bindings=subvertpy check-swig: $(PYTHON) tests/run.py --all --bindings=swig