Makefile
author Pulkit Goyal <7895pulkit@gmail.com>
Mon, 11 Jun 2018 00:47:28 +0530
changeset 3827 82c72eb37f85
parent 2270 b53343c8d692
permissions -rw-r--r--
evolve: strip the relocation commit on `hg evolve --stop` While resolving content-divergence on multiple parents, we relocate one of the commit on the parent of another one and then merge the divergent changesets. Merging can leads to conflicts, and if user does `hg evolve --stop`, we need to strip that relocated changeset too! This patch does that. Test changes demonstrates the fix.

VERSION=$(shell python setup.py --version)

PYTHON=python

all: help

deb-prepare:
	python setup.py sdist --dist-dir ..
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
	rm -rf ../mercurial-evolve_$(VERSION).orig
	mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
	cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
	@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`

install-home:
	$(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force

# test targets
TESTFLAGS ?= $(shell echo $$HGTESTFLAGS)

HGTESTS=$(HGROOT)/tests

help:
	@echo 'Commonly used make targets:'
	@echo '  deb-prepare        - prepare the build of a debian package'
	@echo '  tests              - run all tests in the automatic test suite'
	@echo '  all-version-tests - run all tests against many hg versions'
	@echo '  tests-%s           - run all tests in the specified hg version'

all: help

_check_hgroot:
ifeq ($(HGROOT),)
	$(error HGROOT is not set to the root of the hg source tree)
endif

tests: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)

# /!\ run outside of the compatibility branch output test will likely fails

test-%: _check_hgroot
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@

tests-%: _check_hgroot
	hg -R $(HGROOT) checkout $$(echo $@ | sed s/tests-//) && \
	(cd $(HGROOT) ; $(MAKE) clean ) && \
	cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS)

# build a script to extract declared version
all-version-tests: tests-@

.PHONY: tests all-version-tests