annotate contrib/win32/hg.bat @ 50744:bca4037306da stable

rust-revlog: fix incorrect results with NULL_NODE prefixes In case a short hash is a prefix of `NULL_NODE`, the correct revision number lookup is `NULL_REVISION` only if there is no match in the nodemap. Indeed, if there is a single nodemap match, then it is an ambiguity with the always matching `NULL_NODE`. Before this change, using the Mercurial development repository as a testbed (it has public changesets with node ID starting with `0005` and `0009`), this is what `rhg` did (plain `hg` provided for reference) ``` $ rust/target/debug/rhg cat -r 000 README README: no such file in rev 000000000000 $ hg cat -r 000 README abort: ambiguous revision identifier: 000 ``` Here is the expected output for `rhg` on ambiguous prefixes (again, before this change): ``` $ rust/target/debug/rhg cat -r 0001 README abort: ambiguous revision identifier: 0001 ``` The test provided by 8c29af0f6d6e in `test-rhg.t` could become flaky with this change, unless all hashes are fixed. We expect reviewers to be more sure about that than we are.
author Georges Racinet <georges.racinet@octobus.net>
date Thu, 30 Mar 2023 11:34:30 +0200
parents fc8a5c9ecee0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6513
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
1 @echo off
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
2 rem Windows Driver script for Mercurial
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
3
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
4 setlocal
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
5 set HG=%~f0
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
6
46885
fc8a5c9ecee0 win32: enable legacy I/O mode to fix missing pager output on Windows with py3
Matt Harbison <matt_harbison@yahoo.com>
parents: 23934
diff changeset
7 set PYTHONLEGACYWINDOWSSTDIO=1
fc8a5c9ecee0 win32: enable legacy I/O mode to fix missing pager output on Windows with py3
Matt Harbison <matt_harbison@yahoo.com>
parents: 23934
diff changeset
8
19091
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
9 rem Use a full path to Python (relative to this script) if it exists,
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
10 rem as the standard Python install does not put python.exe on the PATH...
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
11 rem Otherwise, expect that python.exe can be found on the PATH.
6513
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
12 rem %~dp0 is the directory of this script
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
13
19091
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
14 if exist "%~dp0..\python.exe" (
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
15 "%~dp0..\python" "%~dp0hg" %*
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
16 ) else (
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
17 python "%~dp0hg" %*
f01a351db791 win32: use explicit path to "python.exe" only if it exists
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 12653
diff changeset
18 )
6513
66e87c11447d Add a batch file driver for Windows
Paul Moore <p.f.moore@gmail.com>
parents:
diff changeset
19 endlocal
23934
975c4fc4a512 hg.bat: return exit code explicitly for indirect invocation
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19091
diff changeset
20
975c4fc4a512 hg.bat: return exit code explicitly for indirect invocation
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 19091
diff changeset
21 exit /b %ERRORLEVEL%