Sun, 11 Jul 2021 16:09:38 +0200 run-test: act that we requires MSYS to run the test on Windows
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
Sun, 11 Jul 2021 15:41:18 +0200 sigpipe-remote: display more information about the non-py3 python
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
Sun, 11 Jul 2021 15:40:06 +0200 sigpipe-remote: check for python version earlier in the script
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
Sat, 10 Jul 2021 13:46:35 +0200 check-code: add a rules to catch os.path.abspath
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
Sat, 10 Jul 2021 14:07:33 +0200 windows: use abspath in convert.subversion
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
Sat, 10 Jul 2021 14:07:25 +0200 windows: use abspath in convert.git
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
Sat, 10 Jul 2021 14:07:14 +0200 windows: use abspath in convert.bzr
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
Sat, 10 Jul 2021 14:07:02 +0200 windows: use abspath in the git extension
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
Sat, 10 Jul 2021 14:06:46 +0200 windows: use abspath in url
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
Sat, 10 Jul 2021 14:06:39 +0200 windows: use abspath in subrepoutil
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
Sat, 10 Jul 2021 14:06:29 +0200 windows: use abspath in subrepo
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
Sat, 10 Jul 2021 14:06:19 +0200 windows: use abspath in hgwebdir
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
Sat, 10 Jul 2021 14:06:06 +0200 windows: use abspath in mercurial/hg.py
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
Sat, 10 Jul 2021 14:05:59 +0200 windows: use abspath in extensions
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
Sat, 10 Jul 2021 14:05:49 +0200 windows: use abspath in commandserver
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
Sat, 10 Jul 2021 14:05:38 +0200 windows: use abspath in chgserver
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
Sat, 10 Jul 2021 13:46:24 +0200 windows: introduce a `util.abspath` to replace os.path.abspath
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
Sat, 10 Jul 2021 13:10:18 +0200 windows: enforce upper case drive letter for getcwd in mercurial too
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
Fri, 09 Jul 2021 23:38:24 +0200 hg-ssh: normalize the drive of the current working directory on windows
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
Sat, 10 Jul 2021 01:15:03 +0200 run-tests: enforce the drive letter from `getcwd` to upper case
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
Mon, 12 Jul 2021 03:30:04 +0200 sigpipe-remote: simply delegate pipe forwarding to subprocess we can kill
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
Mon, 12 Jul 2021 03:29:21 +0200 sigpipe-remote: verify the script is IO are unbuffered
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 12 Jul 2021 03:29:21 +0200] rev 47617
sigpipe-remote: verify the script is IO are unbuffered We don't want to get stuck anywhere by buffers. Differential Revision: https://phab.mercurial-scm.org/D11086
Sun, 11 Jul 2021 23:08:00 +0200 sigpipe-remote: check environment variable sooner
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Jul 2021 23:08:00 +0200] rev 47616
sigpipe-remote: check environment variable sooner Lets make sure we have everything before doing anything. Differential Revision: https://phab.mercurial-scm.org/D11085
Mon, 12 Jul 2021 00:14:11 +0200 test-sigpipe: run the hook using `sh`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 12 Jul 2021 00:14:11 +0200] rev 47615
test-sigpipe: run the hook using `sh` This make the hook properly run on Windows. Differential Revision: https://phab.mercurial-scm.org/D11084
Thu, 10 Jun 2021 17:58:03 +0200 windows: add windows behavior on broken pager
Raphaël Gomès <rgomes@octobus.net> [Thu, 10 Jun 2021 17:58:03 +0200] rev 47614
windows: add windows behavior on broken pager Apparently, Windows has "better" behavior than Unix in this case. This is an edge case that led me down a rabbit hole, only to find a bug in the Python documentation... I am not planning on trying to reproduce the same behavior on Unix systems since it's not really useful, but other people are welcome to! Differential Revision: https://phab.mercurial-scm.org/D11000
Wed, 07 Jul 2021 23:04:19 +0530 mergestate: use dirstate.update_file API in recordupdates()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 07 Jul 2021 23:04:19 +0530] rev 47613
mergestate: use dirstate.update_file API in recordupdates() Let's use the new single function to replace multiple different functions. This is part of dirstate API refactor to make it more clearer and generic so that it can be replicated in Rust. Differential Revision: https://phab.mercurial-scm.org/D11077
Fri, 09 Jul 2021 15:27:38 +0530 dirstate: add dedicated function for updating data of a file
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 09 Jul 2021 15:27:38 +0530] rev 47612
dirstate: add dedicated function for updating data of a file `dirstate.normal()` is too generic to be a user facing function for that. This is a part of effort to refactor dirstate APIs and make them clearer. Differential Revision: https://phab.mercurial-scm.org/D11076
Wed, 07 Jul 2021 19:36:14 +0200 dirstate: add a `update_file` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 07 Jul 2021 19:36:14 +0200] rev 47611
dirstate: add a `update_file` function This function is the other side of the `set_tracked`/`set_untracked` API revamp. It is to be used when the dirstate is changing its parents during and update or a merge. It states all the information we know about the file so that the dirstate can update its internal data. Unlike the `set_tracked`/`set_untracked` it has not regards for the information previously tracked in the tristate. Differential Revision: https://phab.mercurial-scm.org/D11075
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 tip