Mercurial > hg
view contrib/mercurial.spec @ 2735:07026da25ed8
hbisect.py: don't rely on __del__ to write the current state.
This is yet another page of the "Thou shalt not do too much inside
__del__ methods" book, in the "demandload and __del__ don't go well
together" chapter.
The bisect extension is broken in 0.9.1:
$ hg bisect init
$ hg bisect bad
Fatal Python error: Interpreter not initialized (version mismatch?)
Aborted
(yes, I tripled checked my instalation to make sure the problem is not
there)
It's been broken since revision fe1689273f84 moved the import of the
binascii module into a demandload.
(In details: the first time that "hg bisect bad" (or good) is called,
there are still no revisions saved in .hg/bisect/*, so bisect.__init__
doesn't call hg.bin on anything. So, when we reach __del__, the
binascii module still hasn't been imported and we get that "nice"
message above.)
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Fri, 28 Jul 2006 21:20:41 -0300 |
parents | e5c8e38b788f |
children | 1ef8ada4370f |
line wrap: on
line source
Summary: Mercurial -- a distributed SCM Name: mercurial Version: 0.8 Release: 0 License: GPL Group: Development/Tools Source: http://www.selenic.com/mercurial/release/%{name}-%{version}.tar.gz URL: http://www.selenic.com/mercurial BuildRoot: /tmp/build.%{name}-%{version}-%{release} %define pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))') %define pythonlib %{_libdir}/python%{pythonver}/site-packages/%{name} %define hgext %{_libdir}/python%{pythonver}/site-packages/hgext %description Mercurial is a fast, lightweight source control management system designed for efficient handling of very large distributed projects. %prep rm -rf $RPM_BUILD_ROOT %setup -q %build python setup.py build %install python setup.py install --root $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc doc/* *.cgi %dir %{pythonlib} %dir %{hgext} %{_bindir}/hgmerge %{_bindir}/hg %{pythonlib}/templates %{pythonlib}/*.py* %{pythonlib}/*.so %{hgext}/*.py*