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.
% Preparing the subrepository sub2
adding sub2/sub2
% Preparing the sub1 repo which depends on the subrepo sub2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding sub1/.hgsub
adding sub1/sub1
committing subrepository sub2
% Preparing the main repo which depends on the subrepo sub1
updating to branch default
pulling ...sub2
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding main/.hgsub
adding main/main
committing subrepository sub1
% Cleaning both repositories, just as a clone -U
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
% Clone main
updating to branch default
pulling ...sub1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
pulling ...sub2
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% Checking cloned repo ids
cloned 7f491f53a367 tip
cloned/sub1 fc3b4ce2696f tip
cloned/sub1/sub2 c57a0840e3ba tip
% debugsub output for main and sub1
path sub1
source ../sub1
revision fc3b4ce2696f7741438c79207583768f2ce6b0dd
path sub2
source ../sub2
revision c57a0840e3badd667ef3c3ef65471609acb2ba3c
% Modifying deeply nested sub2
committing subrepository sub1
committing subrepository sub1/sub2
% Checking modified node ids
cloned ffe6649062fe tip
cloned/sub1 2ecb03bf44a9 tip
cloned/sub1/sub2 53dd3430bcaf tip
% debugsub output for main and sub1
path sub1
source ../sub1
revision 2ecb03bf44a94e749e8669481dd9069526ce7cb9
path sub2
source ../sub2
revision 53dd3430bcaf5ab4a7c48262bcad6d441f510487