tests/test-rename-dir-merge
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

mkdir t
cd t
hg init

mkdir a
echo foo > a/a
echo bar > a/b
hg ci -Am "0"

hg co -C 0
hg mv a b
hg ci -m "1 mv a/ b/"

hg co -C 0
echo baz > a/c
echo quux > a/d
hg add a/c
hg ci -m "2 add a/c"

hg merge --debug 1
echo a/* b/*
hg st -C
hg ci -m "3 merge 2+1"
hg debugrename b/c

hg co -C 1
hg merge --debug 2
echo a/* b/*
hg st -C
hg ci -m "4 merge 1+2"
hg debugrename b/c