git-annex/Remote
Joey Hess 8a4cfd4f2d
use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink
Fix crash importing from a directory special remote that contains a broken
symlink.

The crash was in listImportableContentsM but some other places in
Remote.Directory also seemed like they could have the same problem.

Also audited for other places that have such a problem. Not all calls
to getFileStatus are bad, in some cases it's better to crash on something
unexpected. For example, `git-annex import path` when the path is a broken
symlink should crash, the same as when it does not exist. Many of the
getFileStatus calls are like that, particularly when they involve
.git/annex/objects which should never have a broken symlink in it.

Fixed a few other possible cases of the problem.

Sponsored-by: Lawrence Brogan on Patreon
2022-09-05 13:46:32 -04:00
..
Directory improve createDirectoryUnder to allow alternate top directories 2022-08-12 12:52:37 -04:00
External convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Helper Typo fix unncessary -> unnecessary. 2022-08-20 09:40:19 -04:00
List auto-init autoenable=yes 2020-05-27 12:40:35 -04:00
Rsync add newtypes for QuickCheck to avoid LANG=C issues 2020-11-09 20:21:18 -04:00
WebDAV fix exporting when the file is in the top of the repo 2021-03-16 14:17:29 -04:00
Adb.hs adb: Added configuration setting oldandroid=true 2022-07-13 18:00:47 -04:00
BitTorrent.hs incremental verification for web special remote 2021-08-18 15:02:22 -04:00
Borg.hs Typo fix unncessary -> unnecessary. 2022-08-20 09:40:19 -04:00
Bup.hs add annex.dbdir (WIP) 2022-08-11 16:58:53 -04:00
Ddar.hs use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink 2022-09-05 13:46:32 -04:00
Directory.hs use getSymbolicLinkStatus not getFileStatus to avoid crash on broken symlink 2022-09-05 13:46:32 -04:00
External.hs incremental verification for retrieval from all export remotes 2022-05-09 13:49:33 -04:00
GCrypt.hs Typo fix unncessary -> unnecessary. 2022-08-20 09:40:19 -04:00
Git.hs avoid surprising "not found" error when copying to a http remote 2022-08-08 11:57:24 -04:00
GitLFS.hs move several readonly values to AnnexRead 2022-06-28 15:40:19 -04:00
Glacier.hs Fix build with ghc 9.0.1 2021-12-08 15:08:02 -04:00
Hook.hs incremental verify for directory special remote 2021-08-16 16:51:33 -04:00
HttpAlso.hs incremental verification for retrieval from all export remotes 2022-05-09 13:49:33 -04:00
List.hs start borg special remote 2020-12-18 16:03:51 -04:00
P2P.hs negotiate P2P protocol version for tor remotes 2021-10-11 15:58:51 -04:00
Rsync.hs avoid unix-compat's rename 2022-07-12 14:55:02 -04:00
S3.hs S3: Avoid writing or checking the uuid file in the S3 bucket when importtree=yes or exporttree=yes 2022-07-14 15:05:51 -04:00
Tahoe.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Web.hs improve url download failure display 2021-09-01 15:33:38 -04:00
WebDAV.hs incremental verification for retrieval from all export remotes 2022-05-09 13:49:33 -04:00