##// END OF EJS Templates
sshpeer: store subprocess so it cleans up correctly...
sshpeer: store subprocess so it cleans up correctly When running 'hg pull --rebase', I was seeing this exception 100% of the time as the python process was closing down: Exception TypeError: TypeError("'NoneType' object is not callable",) in <bound method Popen.__del__ of <subprocess.Popen object at 0x937c10>> ignored By storing the subprocess on the sshpeer, the subprocess seems to clean up correctly, and I no longer see the exception. I have no idea why this actually works, but I get a 0% repro if I store the subprocess in self.subprocess, and a 100% repro if I store None in self.subprocess. Possibly related to issue 2240.

File last commit:

r15447:9910f60a default
r18759:9baf4330 default
Show More
test-issue1502.t
41 lines | 1.2 KiB | text/troff | Tads3Lexer
http://mercurial.selenic.com/bts/issue1502
Initialize repository
$ hg init foo
$ touch foo/a && hg -R foo commit -A -m "added a"
adding a
$ hg clone foo foo1
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo "bar" > foo1/a && hg -R foo1 commit -m "edit a in foo1"
$ echo "hi" > foo/a && hg -R foo commit -m "edited a foo"
$ hg -R foo1 pull -u
pulling from $TESTTMP/foo (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
not updating: crosses branches (merge branches or update --check to force update)
$ hg -R foo1 book branchy
$ hg -R foo1 book
* branchy 1:e3e522925eff
Pull. Bookmark should not jump to new head.
$ echo "there" >> foo/a && hg -R foo commit -m "edited a again"
$ hg -R foo1 pull
pulling from $TESTTMP/foo (glob)
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
$ hg -R foo1 book
* branchy 1:e3e522925eff