git-annex/Utility
Joey Hess 54ad1b4cfb
Windows: Support long filenames in more (possibly all) of the code
Works around this bug in unix-compat:
https://github.com/jacobstanley/unix-compat/issues/56
getFileStatus and other FilePath using functions in unix-compat do not do
UNC conversion on Windows.

Made Utility.RawFilePath use convertToWindowsNativeNamespace to do the
necessary conversion on windows to support long filenames.

Audited all imports of System.PosixCompat.Files to make sure that no
functions that operate on FilePath were imported from it. Instead, use
the equvilants from Utility.RawFilePath. In particular the
re-export of that module in Common had to be removed, which led to lots
of other changes throughout the code.

The changes to Build.Configure, Build.DesktopFile, and Build.TestConfig
make Utility.Directory not be needed to build setup. And so let it use
Utility.RawFilePath, which depends on unix, which cannot be in
setup-depends.

Sponsored-by: Dartmouth College's Datalad project
2023-03-01 15:55:58 -04:00
..
Directory improve createDirectoryUnder to allow alternate top directories 2022-08-12 12:52:37 -04:00
DirWatcher Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Env fix a annex.pidlock issue 2020-06-17 15:30:59 -04:00
LockFile factor out convertToWindowsNativeNamespace into its own module 2023-03-01 13:28:39 -04:00
LockPool fix build on windows 2021-12-09 13:39:16 -04:00
Path avoid using Utility.Path.AbsRel in Utility.Path.Windows 2023-03-01 14:01:33 -04:00
Process fix missing new lines in processTranscript 2021-08-02 13:42:27 -04:00
Scheduled explict export lists 2019-11-23 11:24:10 -04:00
Tmp avoid using removePathForcibly everywhere, it is unsafe 2022-05-02 14:06:20 -04:00
Aeson.hs fix build warning with old aeson 2022-03-07 13:29:24 -04:00
Android.hs explict export lists 2019-11-21 16:08:37 -04:00
Applicative.hs squelch tab warnings 2019-11-22 12:49:41 -04:00
Attoparsec.hs fix git ls-tree parser 2019-12-06 14:05:48 -04:00
AuthToken.hs turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
Base64.hs turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
Batch.hs add searchPathContents 2021-02-02 19:06:15 -04:00
Bloom.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00
CoProcess.hs Revert "async exception safety for coprocesses" 2020-07-06 15:11:28 -04:00
CopyFile.hs use RawFilePath version of rename 2022-06-22 16:47:34 -04:00
Daemon.hs set cwd rarher than changing current process directory 2021-05-12 17:44:22 -04:00
Data.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
DataUnits.hs new metric prefixes give us quettabyte and yottabyte 2022-11-18 12:03:12 -04:00
DBus.hs explict export lists 2019-11-21 16:08:37 -04:00
Debug.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
DebugLocks.hs explict export lists 2019-11-21 16:08:37 -04:00
Directory.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
DirWatcher.hs explict export lists 2019-11-21 16:08:37 -04:00
DiskFree.hs removed the old Android app 2018-10-13 01:41:11 -04:00
Dot.hs explict export lists 2019-11-21 16:08:37 -04:00
DottedVersion.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00
Env.hs explict export lists 2019-11-21 16:08:37 -04:00
Exception.hs comment typo 2021-01-21 14:13:55 -04:00
FileMode.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
FileSize.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
FileSystemEncoding.hs improve comments 2021-12-08 18:59:22 -04:00
Format.hs export encode_c' 2020-12-09 15:28:45 -04:00
FreeDesktop.hs use System.Directory not Utility.Directory 2016-09-22 11:34:55 -04:00
GitLFS.hs Revert "Removed the vendored git-lfs and the GitLfs build flag" 2023-01-04 17:33:29 -04:00
Glob.hs Windows: include= and exclude= containing '/' will also match filenames that are written using '\' 2020-12-15 12:39:34 -04:00
Gpg.hs avoid setEnv while testing gpg 2022-05-18 16:05:11 -04:00
Hash.hs turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
HtmlDetect.hs addurl: Avoid crashing when used on beegfs. 2021-07-05 13:02:40 -04:00
HumanNumber.hs Fix a rounding bug in display of data sizes 2021-07-30 09:56:04 -04:00
HumanTime.hs avoid parseDuration succeeding on empty string 2020-12-08 12:51:56 -04:00
InodeCache.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
IPAddress.hs fix typo 2022-06-23 13:54:34 -04:00
libkqueue.c update my email address and homepage url 2015-01-21 12:50:09 -04:00
libkqueue.h fix prototype 2012-06-19 01:57:19 -04:00
LinuxMkLibs.hs work around ldd crash on arm64 autobuilder 2023-01-28 14:26:01 -04:00
LockFile.hs use lock pools throughout git-annex 2015-05-19 14:09:52 -04:00
LockPool.hs Fix shared lock file FD leak. 2016-03-01 15:31:39 -04:00
LogFile.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
Lsof.hs convert to withCreateProcess for async exception safety 2020-06-04 12:44:09 -04:00
MagicWormhole.hs fix breakage in wormhole's sendFile 2022-09-26 15:26:29 -04:00
Matcher.hs fix build with assistant disabled and webapp enabled 2022-06-29 14:19:18 -04:00
MD5.hs use filepath-bytestring for annex object manipulations 2019-12-11 15:25:07 -04:00
Metered.hs rename memoryUnits 2022-05-05 15:35:11 -04:00
Misc.hs improve adjusted branch name parsing to support adjusted view branches 2023-02-27 14:09:05 -04:00
Monad.hs explict export lists 2019-11-21 16:08:37 -04:00
Mounts.hs removed the old Android app 2018-10-13 01:41:11 -04:00
MoveFile.hs use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink 2022-09-05 13:46:32 -04:00
Network.hs explict export lists 2019-11-21 16:08:37 -04:00
NotificationBroadcaster.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
OptParse.hs explict export lists 2019-11-21 16:08:37 -04:00
OSX.hs explict export lists 2019-11-21 16:08:37 -04:00
PartialPrelude.hs explict export lists 2019-11-21 16:08:37 -04:00
Path.hs Fix using lookupkey inside a subdirectory 2021-10-26 15:00:45 -04:00
Percentage.hs update my email address and homepage url 2015-01-21 12:50:09 -04:00
PID.hs explict export lists 2019-11-21 16:08:37 -04:00
Process.hs When bup split fails, display its stderr 2022-08-05 13:57:20 -04:00
QuickCheck.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
RawFilePath.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
ResourcePool.hs use ResourcePool for hash-object handles 2022-07-25 17:32:39 -04:00
Rsync.hs Parse youtube-dl progress output 2020-09-29 17:53:48 -04:00
SafeCommand.hs add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
Scheduled.hs add dropFromEnd 2018-11-23 11:24:05 -04:00
Shell.hs add searchPathContents 2021-02-02 19:06:15 -04:00
ShellEscape.hs add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
SimpleProtocol.hs minor improvements 2020-12-09 15:28:11 -04:00
Split.hs reword comment 2019-11-27 16:38:18 -04:00
SshConfig.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
SshHost.hs avoid the dashed ssh hostname class of security holes 2017-08-17 22:11:31 -04:00
Su.hs fix build warning 2022-10-27 10:21:24 -04:00
SystemDirectory.hs Fix build with directory-1.3. 2016-12-20 15:23:59 -04:00
Tense.hs explict export lists 2019-11-23 11:24:10 -04:00
ThreadLock.hs explict export lists 2019-11-23 11:24:10 -04:00
ThreadScheduler.hs avoid displaying the scanning annexed files message when repo is not large 2021-06-04 13:16:48 -04:00
TimeStamp.hs explict export lists 2019-11-23 11:24:10 -04:00
TList.hs further change to support dlist-1.0 2020-08-05 10:37:14 -04:00
Tmp.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Tor.hs Windows: Support long filenames in more (possibly all) of the code 2023-03-01 15:55:58 -04:00
Touch.hs fix build on windows 2020-11-16 09:31:45 -04:00
Tuple.hs explict export lists 2019-11-23 11:24:10 -04:00
Url.hs Support http urls that contain ":" that is not followed by a port number 2023-02-10 13:34:47 -04:00
UserInfo.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
Verifiable.hs add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
WebApp.hs turn of PackageImports in cabal file 2022-02-25 13:16:36 -04:00
Yesod.hs remove many old version ifdefs 2019-07-05 15:09:37 -04:00