changeset 19091:f01a351db791 stable

win32: use explicit path to "python.exe" only if it exists Before this patch, "hg.bat" for Windows environment always uses "%~dp0..\python" as explicit path to "python.exe". This path may not be valid in some cases. For example, on the environment using "virtualenv" python package, both "python.exe" and "hg.bat" are placed in the same directory. In this case, "python.exe" should be found on PATH, because virtualenv activation script puts "python.exe" on the PATH. This patch uses explicit path to "python.exe" only if it exists, and expects that "python.exe" can be found on PATH otherwise.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Fri, 26 Apr 2013 01:12:03 +0900
parents ff01506c6852
children 8c560ad1cdc4 271985b67888
files contrib/win32/hg.bat
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/contrib/win32/hg.bat	Fri Apr 26 22:07:25 2013 -0700
+++ b/contrib/win32/hg.bat	Fri Apr 26 01:12:03 2013 +0900
@@ -4,9 +4,14 @@
 setlocal
 set HG=%~f0
 
-rem Use a full path to Python (relative to this script) as the standard Python
-rem install does not put python.exe on the PATH...
+rem Use a full path to Python (relative to this script) if it exists,
+rem as the standard Python install does not put python.exe on the PATH...
+rem Otherwise, expect that python.exe can be found on the PATH.
 rem %~dp0 is the directory of this script
 
-"%~dp0..\python" "%~dp0hg" %*
+if exist "%~dp0..\python.exe" (
+    "%~dp0..\python" "%~dp0hg" %*
+) else (
+    python "%~dp0hg" %*
+)
 endlocal