tests/test-rebase-newancestor
author Alexandre Fayolle <alexandre.fayolle@logilab.fr>
Thu, 23 Sep 2010 11:41:27 +0200
branchstable
changeset 12391 ca5fd84d62c6
parent 11208 2313dc4d9817
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

. $TESTDIR/helpers.sh

echo "[extensions]" >> $HGRCPATH
echo "graphlog=" >> $HGRCPATH
echo "rebase=" >> $HGRCPATH

rm -rf repo
hg init repo
cd repo

echo A > a
echo >> a
hg commit -AmA -u test -d '0 0'

echo B > a
echo >> a
hg commit -mB -u test -d '1 0'

echo C > a
echo >> a
hg commit -mC -u test -d '2 0'

hg up -C 0
echo D >> a
hg commit -AmAD -u test -d '3 0'

hg glog --template '{rev}:{desc} {node|short}\n'
hg rebase -q -s 1 -d 3 | hidebackup
hg glog --template '{rev}:{desc} {node|short}\n'

exit 0