git-annex/Utility
Joey Hess bb08b1abd2
make storeExport atomic
This avoids needing to deal with the complexity of partially transferred
files in the export. We'd not be able to resume uploading to such a file
anyway, so just avoid them.

The implementation in Remote.Directory is not completely ideal, because
it could leave the temp file hanging around in the export directory.
This only happens if it's killed with -9, or there's a power failure;
normally viaTmp cleans up after itself, even when interrupted. I could
not see a better way to do it though, since the export directory might
be the root of a filesystem.

Also some design thoughts on resuming, which depend on storeExport being
atomic.

This commit was sponsored by Fernando Jimenez on Partreon.
2017-08-31 14:24:32 -04:00
..
DirWatcher Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -04:00
LockFile remove temp file in failure case 2017-06-06 14:23:33 -04:00
LockPool Fix transfer log file locking problem when running concurrent transfers. 2017-05-25 17:40:23 -04:00
Process
Scheduled
Touch move old ghc compat code into separate module; eliminate WITH_CLIBS 2016-02-15 11:47:33 -04:00
Applicative.hs
AuthToken.hs unified AuthToken type between webapp and tor 2016-11-22 14:18:34 -04:00
Base64.hs
Batch.hs
Bloom.hs
CoProcess.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
CopyFile.hs hard links on windows 2016-04-08 15:25:32 -04:00
Daemon.hs Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -04:00
Data.hs
DataUnits.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
DBus.hs
Directory.hs optimisation 2017-05-16 11:33:53 -04:00
DirWatcher.hs disable closingTracked on OSX 2017-06-09 14:18:58 -04:00
DiskFree.hs build without disk-free-space on android 2016-03-08 02:45:10 -04:00
Dot.hs
DottedVersion.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Env.hs
Exception.hs allow Utility.Exception to still be used when not building with cabal 2016-11-15 22:01:55 -04:00
ExternalSHA.hs Always use filesystem encoding for all file and handle reads and writes. 2016-12-24 14:46:31 -04:00
FileMode.hs multicast: New command, uses uftp to multicast annexed files, for eg a classroom setting. 2017-03-30 19:35:30 -04:00
FileSize.hs matchexpression: New plumbing command to check if a preferred content expression matches some data. 2016-01-25 16:16:18 -04:00
FileSystemEncoding.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Format.hs fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
FreeDesktop.hs use System.Directory not Utility.Directory 2016-09-22 11:34:55 -04:00
Glob.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Gpg.hs fix failing quickcheck properties 2017-06-17 16:48:00 -04:00
Hash.hs stop using MissingH for MD5 2017-05-15 21:36:03 -04:00
HumanNumber.hs
HumanTime.hs
InodeCache.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
libkqueue.c
libkqueue.h
LinuxMkLibs.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
LockFile.hs
LockPool.hs Fix shared lock file FD leak. 2016-03-01 15:31:39 -04:00
LogFile.hs
Lsof.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
MagicWormhole.hs wormhole pairing appid flag day 2021-12-31 2017-02-03 15:06:40 -04:00
Matcher.hs
Metered.hs Improve progress display when watching file size, in cases where a transfer does not resume. 2017-05-25 14:30:18 -04:00
Misc.hs test: Avoid most situations involving failure to delete test directories 2017-08-14 16:29:47 -04:00
Monad.hs
Mounts.hs remove Utility.Mounts et al; moved to mountpoints package 2016-02-15 11:14:37 -04:00
Network.hs more {-# OPTIONS_GHC -fno-warn-tabs #-} ... Forcing people who have what is merely a difference of opinion to you to do this is a bit of an asshole move. Just saying. 2015-05-10 16:38:49 -04:00
NotificationBroadcaster.hs
OptParse.hs
OSX.hs
Parallel.hs
PartialPrelude.hs correct spelling mistakes 2017-02-12 17:30:23 -04:00
Path.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Percentage.hs
PID.hs make import work with Win32 instead of Win32-extras 2017-08-16 17:51:29 -04:00
PosixFiles.hs hard links on windows 2016-04-08 15:25:32 -04:00
Process.hs simpler more generic processTranscript' 2017-02-15 16:02:10 -04:00
QuickCheck.hs Fix build with QuickCheck 2.10. 2017-06-17 13:04:48 -04:00
Quvi.hs Some optimisations to string splitting code. 2017-01-31 19:06:22 -04:00
Rsync.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
SafeCommand.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Scheduled.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Shell.hs Windows: Fix bug in shell script shebang lookup code that caused a "delayed read on closed handle" error. 2017-03-13 16:20:52 -04:00
SimpleProtocol.hs git-annex-shell, remotedaemon, git remote: Fix some memory DOS attacks. 2016-12-09 13:34:32 -04:00
Split.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
SRV.hs Drop support for building with old versions of dns and http-conduit. 2017-03-10 15:49:14 -04:00
SshConfig.hs
SshHost.hs avoid the dashed ssh hostname class of security holes 2017-08-17 22:11:31 -04:00
Su.hs more windows build fix 2016-12-30 16:39:51 -04:00
SystemDirectory.hs Fix build with directory-1.3. 2016-12-20 15:23:59 -04:00
Tense.hs
ThreadLock.hs
ThreadScheduler.hs
TList.hs
Tmp.hs make storeExport atomic 2017-08-31 14:24:32 -04:00
Tor.hs Support all common locations of the torrc file. 2016-12-28 15:12:31 -04:00
Touch.hs another windows build fix 2016-03-05 15:08:37 -04:00
Tuple.hs adeiu, MissingH 2017-05-16 01:03:52 -04:00
Url.hs fix build with old http-client versions 2017-08-17 11:00:48 -04:00
UserInfo.hs Avoid backtraces on expected failures when built with ghc 8; only use backtraces for unexpected errors. 2016-11-15 21:29:54 -04:00
Verifiable.hs
WebApp.hs cleanup 2016-12-24 15:14:46 -04:00
WinProcess.hs
Yesod.hs