73df633a62
Directory special remotes with importtree=yes now avoid unncessary overhead when inodes of files have changed, as happens whenever a FAT filesystem gets remounted. A few unusual edge cases of modifications won't be detected and imported. I think they're unusual enough not to be a concern. It would be possible to add a config setting that controls whether to compare inodes too, but does not seem worth bothering the user about currently. I chose to continue to use the InodeCache serialization, just with the inode zeroed. This way, if I later change my mind or make it configurable, can parse it back to an InodeCache and operate on it. The overhead of storing a 0 in the content identifier log seems worth it. There is a one-time cost to this change; all directory special remotes with importtree=yes will re-hash all files once, and will update the content identifier logs with zeroed inodes. This commit was sponsored by Brett Eisenberg on Patreon. |
||
---|---|---|
.. | ||
Directory | ||
DirWatcher | ||
Env | ||
LockFile | ||
LockPool | ||
Path | ||
Process | ||
Scheduled | ||
Tmp | ||
Aeson.hs | ||
Android.hs | ||
Applicative.hs | ||
Attoparsec.hs | ||
AuthToken.hs | ||
Base64.hs | ||
Batch.hs | ||
Bloom.hs | ||
CoProcess.hs | ||
CopyFile.hs | ||
Daemon.hs | ||
Data.hs | ||
DataUnits.hs | ||
DBus.hs | ||
DebugLocks.hs | ||
Directory.hs | ||
DirWatcher.hs | ||
DiskFree.hs | ||
Dot.hs | ||
DottedVersion.hs | ||
Env.hs | ||
Exception.hs | ||
FileMode.hs | ||
FileSize.hs | ||
FileSystemEncoding.hs | ||
Format.hs | ||
FreeDesktop.hs | ||
GitLFS.hs | ||
Glob.hs | ||
Gpg.hs | ||
Hash.hs | ||
HtmlDetect.hs | ||
HttpManagerRestricted.hs | ||
HumanNumber.hs | ||
HumanTime.hs | ||
InodeCache.hs | ||
IPAddress.hs | ||
libkqueue.c | ||
libkqueue.h | ||
LinuxMkLibs.hs | ||
LockFile.hs | ||
LockPool.hs | ||
LogFile.hs | ||
Lsof.hs | ||
MagicWormhole.hs | ||
Matcher.hs | ||
MD5.hs | ||
Metered.hs | ||
Misc.hs | ||
Monad.hs | ||
Mounts.hs | ||
MoveFile.hs | ||
Network.hs | ||
NotificationBroadcaster.hs | ||
OptParse.hs | ||
OSX.hs | ||
PartialPrelude.hs | ||
Path.hs | ||
Percentage.hs | ||
PID.hs | ||
Process.hs | ||
QuickCheck.hs | ||
RawFilePath.hs | ||
ResourcePool.hs | ||
Rsync.hs | ||
SafeCommand.hs | ||
Scheduled.hs | ||
Shell.hs | ||
ShellEscape.hs | ||
SimpleProtocol.hs | ||
Split.hs | ||
SshConfig.hs | ||
SshHost.hs | ||
Su.hs | ||
SystemDirectory.hs | ||
Tense.hs | ||
ThreadLock.hs | ||
ThreadScheduler.hs | ||
TimeStamp.hs | ||
TList.hs | ||
Tmp.hs | ||
Tor.hs | ||
Touch.hs | ||
Tuple.hs | ||
Url.hs | ||
UserInfo.hs | ||
Verifiable.hs | ||
WebApp.hs | ||
Yesod.hs |