Makefile
author Sushil khanchi <sushilkhanchi97@gmail.com>
Tue, 06 Nov 2018 10:41:50 +0530
changeset 4252 a07cd1d076bb
parent 2270 b53343c8d692
permissions -rw-r--r--
next: solve the issue of `next` get confused by split This patch solve a problem of next command which get confused by split. Let me describe how it was getting confused: Initial state of repo: A---B---C After splitting B to (B1,B2): @ A---B1---B2 \ ---B---C X * (note: C is orphan; checkedout to B1) Lets make an amend on B1: @ B1' / A---B1---B2 \ X * \ ---B---C X * Now, if run `hg next` (--evolve is True by default now): $ it would give you choice to choose from B2 and C thinking that C could also be a possbile children for B1, instead of stablizing B2 on B1. I fixed this problem by filtering those aspiring children which can be stablized on one of the aspiring children itself. Changes made in test-prev-next.t shows the changed expected behaviour.

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