Fix memory leak when using hg commands over http repositories
When using hg commands over an http repository in a long running process, a
httphandler instance is leaked for each command, because of a loop
handler.parent -> OpenerDirector and OpenerDirector.handlers -> handler which
is not handled by Python's gc. Discussion on #mercurial concluded that removing
the __del__ method solved the problem.
#!/bin/sh
hg init repo
cd repo
cat > a <<EOF
c
c
a
a
b
a
a
c
c
EOF
hg ci -Am adda
cat > a <<EOF
c
c
a
a
dd
a
a
c
c
EOF
echo '% default context'
hg diff --nodates
echo '% invalid --unified'
hg diff --nodates -U foo
echo '% --unified=2'
hg diff --nodates -U 2
echo '% diff.unified=2'
hg --config diff.unified=2 diff --nodates
echo '% diff.unified=2 --unified=1'
hg diff --nodates -U 1
echo '% invalid diff.unified'
hg --config diff.unified=foo diff --nodates
echo % test off-by-one error with diff -p
hg init diffp
cd diffp
echo a > a
hg ci -Ama
rm a
echo b > a
echo a >> a
echo c >> a
hg diff -U0 -p --nodates
exit 0