##// 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:

r16913:f2719b38 default
r18759:9baf4330 default
Show More
test-paths.t
65 lines | 1.3 KiB | text/troff | Tads3Lexer
$ hg init a
$ hg clone a b
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd a
$ echo '[paths]' >> .hg/hgrc
$ echo 'dupe = ../b' >> .hg/hgrc
$ echo 'expand = $SOMETHING/bar' >> .hg/hgrc
$ hg in dupe
comparing with $TESTTMP/b (glob)
no changes found
[1]
$ cd ..
$ hg -R a in dupe
comparing with $TESTTMP/b (glob)
no changes found
[1]
$ cd a
$ hg paths
dupe = $TESTTMP/b (glob)
expand = $TESTTMP/a/$SOMETHING/bar (glob)
$ SOMETHING=foo hg paths
dupe = $TESTTMP/b (glob)
expand = $TESTTMP/a/foo/bar (glob)
#if msys
$ SOMETHING=//foo hg paths
dupe = $TESTTMP/b (glob)
expand = /foo/bar
#else
$ SOMETHING=/foo hg paths
dupe = $TESTTMP/b (glob)
expand = /foo/bar
#endif
$ hg paths -q
dupe
expand
$ hg paths dupe
$TESTTMP/b (glob)
$ hg paths -q dupe
$ hg paths unknown
not found!
[1]
$ hg paths -q unknown
[1]
$ cd ..
'file:' disables [paths] entries for clone destination
$ cat >> $HGRCPATH <<EOF
> [paths]
> gpath1 = http://hg.example.com
> EOF
$ hg clone a gpath1
abort: cannot create new http repository
[255]
$ hg clone a file:gpath1
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd gpath1
$ hg -q id
000000000000
$ cd ..