tests/test-diff-binary-file
author Alexandre Fayolle <alexandre.fayolle@logilab.fr>
Thu, 23 Sep 2010 11:41:27 +0200
branchstable
changeset 12391 ca5fd84d62c6
parent 8167 6c82beaaa11a
permissions -rwxr-xr-x
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 a
cd a
cp $TESTDIR/binfile.bin .
hg add binfile.bin
hg ci -m 'add binfile.bin'

echo >> binfile.bin
hg ci -m 'change binfile.bin'

hg revert -r 0 binfile.bin
hg ci -m 'revert binfile.bin'

echo % diff -r 0 -r 1
hg diff --nodates -r 0 -r 1

echo % diff -r 0 -r 2
hg diff --nodates -r 0 -r 2

echo % diff --git -r 0 -r 1
hg diff --git -r 0 -r 1

echo % diff --git -r 0 -r 2
hg diff --git -r 0 -r 2