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