Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 08 Jul 2021 01:23:06 +0200] rev 47647
largefile: synchronise the dirstate within a `parentchange` context
Semantically these changes are made to adjust the dirstate after a commit, so it
should be in a `parentchange` context.
Differential Revision: https://phab.mercurial-scm.org/D11103
Mathias De Mare <mathias.de_mare@nokia.com> [Mon, 28 Jun 2021 12:12:34 +0200] rev 47646
upgrade_utils: fix crash for removecldeltachain action
This fixes
issue6383.
Differential Revision: https://phab.mercurial-scm.org/D10914
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 16 Jul 2021 14:22:02 +0200] rev 47645
windows: enforce the module policy to be c for test
This is the same as what we do with the linux test.
Differential Revision: https://phab.mercurial-scm.org/D11100
Augie Fackler <augie@google.com> [Tue, 13 Jul 2021 11:37:57 -0400] rev 47644
packaging: add command line flag to add extra vars to pyoxidizer
This felt simpler than the previous incarnation of injecting
content into the WiX build. I decided the easiest way to pass
an arbitrary map into the process was some json - I may regret this,
but time will tell on that.
Differential Revision: https://phab.mercurial-scm.org/D11093
Augie Fackler <augie@google.com> [Mon, 12 Jul 2021 15:56:25 -0400] rev 47643
pyoxidizer: add hooks to inject extra python packages and install files
We need this type of hook to inject our internal extension and resource files
at Google. Presumably this could be useful to others, so instead of trying to
carry an internal patch we've done this in a modular way that should be of
value upstream.
I'm extremely puzzled by the behavior of glob() on Windows, and I'll
be filing at least one (probably two) bugs upstream about it.
Differential Revision: https://phab.mercurial-scm.org/D11092
Matt Harbison <matt_harbison@yahoo.com> [Fri, 09 Jul 2021 11:42:48 -0400] rev 47642
doc: wrap the help text for the purge extension
Not sure why `black` or some other checker didn't complain about this.
Differential Revision: https://phab.mercurial-scm.org/D11036
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 17:03:58 +0200] rev 47641
dummyssh: call python script with python
We don't want windows to grab whatever python got configured to run .py file. We
need the python used during the test to be used.
Differential Revision: https://phab.mercurial-scm.org/D11083
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 16:57:53 +0200] rev 47640
dummyssh: use subprocess instead of os.call
Welcome in 2020
Differential Revision: https://phab.mercurial-scm.org/D11082
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 16:11:58 +0200] rev 47639
run-test: rework the redirection script for python on windows
This should get use something something overall simpler and clearer. Especially,
we now have a `python.exe` script (even if by default Windows has
`C:\Python27\python.exe` hardcoded in the register to open .py file)
Differential Revision: https://phab.mercurial-scm.org/D11081
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 16:09:38 +0200] rev 47638
run-test: act that we requires MSYS to run the test on Windows
If this ever change we can drop that constrains, however for now it seems clear
to be clear about this limitation.
Differential Revision: https://phab.mercurial-scm.org/D11080
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 15:41:18 +0200] rev 47637
sigpipe-remote: display more information about the non-py3 python
If we are running the wrong things, it is useful to know which wrong thing we
are running.
Differential Revision: https://phab.mercurial-scm.org/D11079
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 15:40:06 +0200] rev 47636
sigpipe-remote: check for python version earlier in the script
The should abort early, using the wrong python is a pretty bad sign.
Differential Revision: https://phab.mercurial-scm.org/D11078
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 13:46:35 +0200] rev 47635
check-code: add a rules to catch os.path.abspath
All previous usages have been migrated. So let us add a check-code rules to
catch future usages.
We restrict it to mercurial/ and hgext/ because multiple other script never
depends on Mercurial modules.
Differential Revision: https://phab.mercurial-scm.org/D11072
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:07:33 +0200] rev 47634
windows: use abspath in convert.subversion
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11071
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:07:25 +0200] rev 47633
windows: use abspath in convert.git
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11070
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:07:14 +0200] rev 47632
windows: use abspath in convert.bzr
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11069
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:07:02 +0200] rev 47631
windows: use abspath in the git extension
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11068
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:06:46 +0200] rev 47630
windows: use abspath in url
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11067
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:06:39 +0200] rev 47629
windows: use abspath in subrepoutil
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11066
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:06:29 +0200] rev 47628
windows: use abspath in subrepo
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11065
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:06:19 +0200] rev 47627
windows: use abspath in hgwebdir
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11064
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:06:06 +0200] rev 47626
windows: use abspath in mercurial/hg.py
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11063
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:05:59 +0200] rev 47625
windows: use abspath in extensions
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11062
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:05:49 +0200] rev 47624
windows: use abspath in commandserver
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11061
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 14:05:38 +0200] rev 47623
windows: use abspath in chgserver
We replace `os.path.abspath` with `util.abspath`. This should solve more "drive
capitalization" issue on Windows.
Differential Revision: https://phab.mercurial-scm.org/D11060
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 13:46:24 +0200] rev 47622
windows: introduce a `util.abspath` to replace os.path.abspath
This will let us mitigate the drive letter capitalization hell.
See inline comment for details.
Differential Revision: https://phab.mercurial-scm.org/D11059
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 13:10:18 +0200] rev 47621
windows: enforce upper case drive letter for getcwd in mercurial too
This is affecting code that checks if a pull/push destination is the same as a
configured one. For example the one creating divergent bookmark.
Doing this fixes will help fixing `test-bookmarks.t` and `test-bookflow.t` on
Windows. However, we also need to fix `abspath` invocation.
Differential Revision: https://phab.mercurial-scm.org/D11058
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 09 Jul 2021 23:38:24 +0200] rev 47620
hg-ssh: normalize the drive of the current working directory on windows
For some reason os.getcwd() can return either `c:` or `C:`. We normalize this to
`C:` and the like. This fix `test-ssh-bundle1.t` on windows.
Differential Revision: https://phab.mercurial-scm.org/D11042
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 10 Jul 2021 01:15:03 +0200] rev 47619
run-tests: enforce the drive letter from `getcwd` to upper case
For some reason os.getcwd() can return either `c:` or `C:` depending of which
binary you used on Windows. We normalize this to `C:` and the like. This fix
`test-run-tests.t` on windows as the drive letter in "$TESTTMP" was "wrongly"
set to 'c:/' if the test path wasn't explicitly specified.
Differential Revision: https://phab.mercurial-scm.org/D11035
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 12 Jul 2021 03:30:04 +0200] rev 47618
sigpipe-remote: simply delegate pipe forwarding to subprocess we can kill
Instead of using sophisticated logics with thread a non blocking pipes, we
simply spawn two new process in charge of reading the pipe and sending the
result to the client. When it is time to cut the pipe we violently kill them
without any remorse. This close the pipe regardless of any in progress `os.read`
call.
Ironically this is the very same things as what the initial shell setup was
doing, but in Python.
This makes the test pass run properly on Windows. This also reveal that the
Windows behavior is broken as the transaction is not properly rollback. However
this is an adventure for another time. Making the test behave properly was
enough effort.
Differential Revision: https://phab.mercurial-scm.org/D11087