# HG changeset patch # User Matt Harbison # Date 1543030077 18000 # Node ID 246b61bfdc2f1b21dc3f61d7b6ee58caaf297e95 # Parent 72d88a975655587d4fd9ebb365ff82285c32db64 procutil: don't allow the main 'hg' script to be treated as the Windows exe Previously, there were a handful of errors like this: $ hg prefetch --repack (running background incremental repack) + abort: %1 is not a valid Win32 application + [255] CreateProcess() doesn't append .exe when `lpApplicationName` contains a path, and a python script isn't directly executable. diff -r 72d88a975655 -r 246b61bfdc2f mercurial/utils/procutil.py --- a/mercurial/utils/procutil.py Fri Nov 23 22:18:56 2018 -0500 +++ b/mercurial/utils/procutil.py Fri Nov 23 22:27:57 2018 -0500 @@ -241,7 +241,7 @@ _sethgexecutable(encoding.environ['EXECUTABLEPATH']) else: _sethgexecutable(pycompat.sysexecutable) - elif (os.path.basename( + elif (not pycompat.iswindows and os.path.basename( pycompat.fsencode(getattr(mainmod, '__file__', ''))) == 'hg'): _sethgexecutable(pycompat.fsencode(mainmod.__file__)) else: