Mercurial > evolve
view Makefile @ 6665:d2b90c9e5829 stable
uncommit: set uncommit_source extra consistently in interactive mode
Previously, the uncommit_source extra was only explicitly set on the temporary
changeset created during the uncommit command.
Due to a contract mismatch because the extra() method returned a dict that
might be reused for multiple callers and this call site expected a fresh dict,
the resulting changeset produced by the uncommit command might or might not
have had the correct extra nonetheless. This changeset ensures that it will be
set consistently.
There is a discussion whether the extra() method (in core) should always return
a fresh dict. Independent of the outcome of the discussion, this fix should
work. I checked that the tests work no matter whether extra() returns a fresh
dict or a reused one (current core behavior).
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Thu, 01 Feb 2024 19:13:24 +0100 |
parents | a80ed2e4745b |
children |
line wrap: on
line source
PYTHON ?= python3 VERSION = $(shell $(PYTHON) setup.py --version) TESTFLAGS ?= $(shell echo $$HGTESTFLAGS) HGTESTS = $(HGROOT)/tests .PHONY: help help: @echo 'Commonly used make targets:' @echo ' deb-prepare - prepare the build of a debian package' @echo ' install-home - install with setup.py install --home=$$HOME ($(HOME))' @echo ' tests - run all tests in the automatic test suite' .PHONY: all all: help .PHONY: deb-prepare 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` .PHONY: install-home install-home: $(PYTHON) setup.py install --home="$(HOME)" --prefix="" --force --old-and-unmanageable --single-version-externally-managed .PHONY: doc doc: $(MAKE) -C docs .PHONY: _check_hgroot _check_hgroot: ifeq ($(HGROOT),) $(error HGROOT is not set to the root of the hg source tree) endif .PHONY: tests tests: _check_hgroot cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) test-%: _check_hgroot cd tests && $(PYTHON) $(HGTESTS)/run-tests.py $(TESTFLAGS) $@