Patch 1628 windows fixes for 2.14.0

Title windows fixes for 2.14.0
Superseder Nosy List bf, ganesh, gh
Related Issues
Status in-discussion Assigned To ganesh
Milestone 2.14.0 HEAD

Created on 2017-12-16.12:25:04 by ganesh, last changed 2017-12-18.19:04:53 by ganesh.

File name Status Uploaded Type Edit Remove
use-a-strict-readfile-to-avoid-races.dpatch ganesh, 2017-12-16.12:24:48 application/octet-stream
See mailing list archives for discussion on individual patches.
msg19807 (view) Author: ganesh Date: 2017-12-16.12:24:48
Attached bundle for discussion only for now.

There are various problems in HEAD on Windows, I think primarily caused by the 
encoding changes.

There are a few build breaks, which I've provisionally fixed in the bundle, but need 
to confirm whether they are actually correct once I've been through the test breaks.

There was also several test breaks, though some are not regressions from 2.12

I've also already fixed one of the test breaks (filepath), which turned out to be due 
to the inadvertent introduction of lazy IO in the encoding changes. Reading prefs 
files had become lazy and was racing somehow with updating it (not quite sure of the 
exact mechanism). I've changed one instance of lazy IO to strict to fix this, but I 
think we need to review the code for any more.

There are three more regressions to look at:

issue2262 (actually a new test, but we should try to fix it anyway)

Just for the record I also got the following non-regressions:

msg19809 (view) Author: ganesh Date: 2017-12-18.19:04:33
show_tags is because the test harness on Windows (msys64) expects UNIX 
line endings, whereas darcs show tags now outputs Windows line endings.  
Feels like darcs is in the right here, I might just change to a text 
Date User Action Args
2017-12-16 12:25:05ganeshcreate
2017-12-16 12:25:19ganeshsettitle: windows fixes -> windows fixes for 2.14.0
2017-12-18 19:04:53ganeshsetmessages: + msg19809