Windows: Fix bug that can cause git status to show annexed files as
modified when built with OsPath.
This may also have caused bugs on non-Windows, with filenames with
non-ascii characters? Unsure.
The OsPath conversion makes this one of the last few places
(hopefully) where a String is read from a Handle. All other fileEncoding
uses have been eliminated before this point by converting to reading
ByteString and using OsPath. Doing that here would be a better fix,
performance wise.
Sponsored-by: Jack Hill
Slightly unsatisfying to fix this in Git.Construct.localToUrl rather than
in Command.Map.absRepo, which is what map relies on to make repos always
use the same path form. But it was already constructing the url with the
path there, so that was the easiest place to add normalization.
Sponsored-by: Dartmouth College's OpenNeuro project
requiredContentMap does not exclude dead repos. Usually this is not a
problem because it is used when we are operating on a repository, and in
that case, the repository is not dead (or if it is, the required content
configurations should still be used). But in the case of fsck, this made a
old required content config for a dead repository be warned about in a
situation where it is not a problem.
git-lfs: Added an optional apiurl parameter.
This needs version 1.2.5 of the haskell git-lfs library to be used.
stack.yaml updated to use that.
Note that git-annex enableremote can be used to add apiurl= to an existing
git-lfs special remote. To allow unsetting the apiurl and instead use
the probed url, support enableremote with apiurl set to an empty string.
Sponsored-by: Luke T. Shumaker