git-annex/Remote
Joey Hess 5d75cbcdcf
webdav: deal with buggy webdav servers in renameExport
box.com already had a special case, since its renaming was known buggy.
In its case, renaming to the temp file succeeds, but then renaming the temp
file to final destination fails.

Then this 4shared server has buggy handling of renames across directories.
While already worked around with for the temp files when storing exports
now being in the same directory as the final filename, that also affected
renameExport when the file moves between directories.

I'm not entirely clear what happens on the 4shared server when it fails
this way. It kind of looks like it may rename the file to destination and
then still fail.

To handle both, when rename fails, delete both the source and the
destination, and fall back to uploading the content again. In the box.com
case, the temp file is the source, and deleting it makes sure the temp file
gets cleaned up. In the 4shared case, the file may have been renamed to the
destination and so cleaning that up avoids any interference with the
re-upload to the destination.
2021-03-22 13:08:18 -04:00
..
Directory finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
External Added GETGITREMOTENAME to extenal special remote protocol 2021-01-26 12:42:47 -04:00
Helper avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -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 move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
BitTorrent.hs Tahoe: Avoid verifying hash after download, since tahoe does sufficient verification itself 2021-02-09 13:42:16 -04:00
Borg.hs don't support dropping from thirdPartyPopulated for now 2020-12-28 16:48:38 -04:00
Bup.hs incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
Ddar.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
Directory.hs fix export overwrite on FAT 2021-01-25 13:31:17 -04:00
External.hs Added GETGITREMOTENAME to extenal special remote protocol 2021-01-26 12:42:47 -04:00
GCrypt.hs Added support for git-remote-gcrypt's rsync URIs 2021-03-09 15:58:09 -04:00
Git.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
GitLFS.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Glacier.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Hook.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
HttpAlso.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
List.hs start borg special remote 2020-12-18 16:03:51 -04:00
P2P.hs incremental checksum on download from ssh or p2p 2021-02-09 17:03:27 -04:00
Rsync.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
S3.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Tahoe.hs Tahoe: Avoid verifying hash after download, since tahoe does sufficient verification itself 2021-02-09 13:42:16 -04:00
Web.hs move untrust forcing from Logs.Trust into Remote 2020-12-28 15:22:10 -04:00
WebDAV.hs webdav: deal with buggy webdav servers in renameExport 2021-03-22 13:08:18 -04:00