Makefile
author Matt Harbison <matt_harbison@yahoo.com>
Thu, 05 Mar 2015 20:02:07 -0500
branchstable
changeset 1209 fa35aeb64d32
parent 542 ca5bb72d14ae
child 1524 bfbd99b50f8f
permissions -rw-r--r--
evolve: prevent a crash in httpclient_pushobsmarkers() when pushing I've been running into a crash when pushing from my hg repo in a Fedora 16 VM to Win7 running 'hg serve', even with extensions disabled on both sides: ../hg push -r . pc pushing to http://192.168.1.4:8000/ searching for changes no changes found pushing 2 obsolescence markers (263 bytes) ** unknown exception encountered, please report by visiting ... File "hg-evolve/hgext/evolve.py", line 2482, in _pushobsolete remote.evoext_pushobsmarkers_0(obsdata) File "hg-evolve/hgext/evolve.py", line 2522, in httpclient_pushobsmarkers ret, output = self._call('evoext_pushobsmarkers_0', data=obsfile) ValueError: too many values to unpack I'm not sure how this repo differs from the one in the test suite, so I'm not sure how to craft a test for this. The failure occurs even when there _are_ csets to push. There was no crash if no obsolete markers needed to be pushed. At any rate, this code was stolen from httppeer._callpush(), where it calls self._call(). The socket exception handling wasn't necessary to fix the crash, but the calling code might as well be duplicated in its entirety. A successful push with this patch looks like this. Note the final line is _not_ in the output of the http push in test-simple4server.t: ../hg push -r . pc pushing to http://192.168.1.4:8000/ searching for changes remote has heads on branch 'default' that are not known locally: 3af110194a0c 56000e3ae44d 57ac6e51d290 7da4355c21b8 and 8 others remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 0 changes to 1 files (+1 heads) pushing 4 obsolescence markers (525 bytes) remote: 2 obsolescence markers added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     1
PYTHON=python
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
HG=`which hg`
542
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
     3
VERSION=$(shell python setup.py --version)
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
     4
0
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
help:
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     7
	@echo 'Commonly used make targets:'
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
	@echo '  tests              - run all tests in the automatic test suite'
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
	@echo '  all-version-tests - run all tests against many hg versions'
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    10
	@echo '  tests-%s           - run all tests in the specified hg version'
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    11
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    12
all: help
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    13
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    14
tests:
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    15
	cd tests && $(PYTHON) run-tests.py --with-hg=$(HG) $(TESTFLAGS)
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    16
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    17
test-%:
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    18
	cd tests && $(PYTHON) run-tests.py --with-hg=$(HG) $(TESTFLAGS) $@
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    19
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    20
tests-%:
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    21
	@echo "Path to crew repo is $(CREW) - set this with CREW= if needed."
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    22
	hg -R $(CREW) checkout $$(echo $@ | sed s/tests-//) && \
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    23
	(cd $(CREW) ; $(MAKE) clean ) && \
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    24
	cd tests && $(PYTHON) $(CREW)/tests/run-tests.py $(TESTFLAGS)
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    25
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    26
all-version-tests: tests-1.3.1 tests-1.4.3 tests-1.5.4 \
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    27
                   tests-1.6.4 tests-1.7.5 tests-1.8 tests-tip
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    28
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 0
diff changeset
    29
deb-prepare:
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 0
diff changeset
    30
	python setup.py sdist --dist-dir ..
542
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    31
	mv -f ../hg-evolve-$(VERSION).tar.gz ../mercurial-evolve_$(VERSION).orig.tar.gz
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    32
	tar xf ../mercurial-evolve_$(VERSION).orig.tar.gz
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    33
	rm -rf ../mercurial-evolve_$(VERSION).orig
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    34
	mv hg-evolve-$(VERSION) ../mercurial-evolve_$(VERSION).orig
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    35
	cp -r debian/ ../mercurial-evolve_$(VERSION).orig/
ca5bb72d14ae pkg: abstract version in makefile
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    36
	@cd ../mercurial-evolve_$(VERSION).orig && echo 'debian build directory ready at' `pwd`
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 0
diff changeset
    37
0
bbeef801409c minimalistic state concept.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    38
.PHONY: tests all-version-tests