Qct issue on Win32
Steve Borho
steve at borho.org
Thu Apr 26 22:24:50 UTC 2007
On Thursday 26 April 2007 5:08:35 pm TK Soh wrote:
> I'm taking the discussion to a new thread, as the original thread is
> getting crowded with OT posts.
>
> On 4/26/07, Steve Borho <steve at borho.org> wrote:
> > On Thursday 26 April 2007 3:59:14 pm Andrei Vermel wrote:
> > > On my windows box
> > > subprocess.Popen('hg help', shell=True)
> > > successfully calls hg.bat, so that's a simple fix.
> >
> > That breaks down if you have filenames with spaces in it. Qct
> > tries to use the non-shell based interface (passing in command line
> > arguments as a list []) in order to avoid all the shell escaping
> > hell that you normally have to jump through.
> >
> > I think your first suggestion for discarding matches that fail to
> > execute is probably the best one. I would really like to know
> > what non-executable 'hg' file is causing Tk Soh so much trouble.
> > Does Windows have the equivalent of a 'which' command?
>
> I am a little confused, do you mean subprocess.Popen() supports
> non-executable 'hg' file on Win32, but somehow it doesn't work on my
> system?
Andrei's point was that if you tell subprocess.Popen() to use a shell to
execute the subprocess, it can execute "hg version" by locating hg.bat
in your path. But I don't want to make Popen() use a shell because it
opens a whole other can of worms.
The problem you are having is that Qct is finding 'hg', the python file,
in your current (hg-crew) directory and then trying to use that instead
of your hg.bat. The fix I checked in a few minutes ago will try to
execute 'hg', realize it's not a valid executable, and then go on
looking for hg.bat, hg.cmd, etc... This should prevent fatal false
positives.
I'll upload a new qct-1.0-rc1-win32.exe soon to the web-page.
--
Steve Borho (steve at borho.org)
http://www.borho.org/~steve/steve.asc
Key fingerprint = 2D08 E7CF B624 624C DE1F E2E4 B0C2 5292 F2C6 2C8C
More information about the Mercurial
mailing list