Posix call (execve) breaks mercurial?

Wayne Werner wayne at waynewerner.com
Thu Oct 11 19:33:49 EDT 2012


On Thu, 11 Oct 2012, Wayne Werner wrote:

> 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)

So... curiouser and curiouser - it looks like it's not *actually* execve's 
fault after all. I just compiled the code from the man page, tweaked it to 
run 'hg root', and passed it a new environment. No problems. Well, then I 
manually called the posix one from Python and thing worked fine. *Then* I 
actually tried the above code, and *it* worked fine.

However I *still* get problems with the post-review code. So it looks like 
when I get back to work on Monday I'll be looking to see  what the 
difference in environment is there.

-Wayne



More information about the Python-list mailing list