Posix call (execve) breaks mercurial?

Wayne Werner wayne at waynewerner.com
Thu Oct 11 19:10:12 EDT 2012


So... this is certainly the deepest I've got to dig into any source code.

I'm experimenting with Review Board for code reviews, and trying to get it 
set up/working here at work. When using post-review, however, I started 
getting issues with untrusted users - even though they were set to trusted 
in my ~/.hgrc and things worked fine otherwise.

So here's where things got weird. I could call 
`subprocess.check_output(['hg', 'root'])`, and things worked just fine. 
But when I added the env parameter, I got the untrusted issues. So if I 
did:

import os, subprocess

# Works just fine
subprocess.check_output(['hg', 'root'])

# Gives untrusted issues
subprocess.check_output(['hg', 'root'], env=os.environ)


Long story short, I dug around the source code and ended up at the POSIX 
execve function. I've been reading the manpages, but nothing seems to pop 
out at me as "hey, this should/shouldn't work!".

Does anyone know what's going on here, or where I should go for more help?

Thanks,
Wayne



More information about the Python-list mailing list