git-annex 8.20200908 released with these changes

  • Added httpalso special remote, which is useful for accessing content stored on other remotes that is published by http.
  • The external special remote protocol got an ASYNC extension. This can be used by an external special remote to let a single process perform concurrent actions, rather than multiple processes being started, when that is more efficient.
  • Retry transfers to exporttree=yes remotes same as for other remotes.
  • import: Retry downloads that fail, same as is done for downloads generally.
  • Limit retrying of failed transfers when forward progress is being made to 5, to avoid some unusual edge cases where too much retrying could result in far more data transfer than makes sense.
  • Exposed annex.forward-retry git config, to configure the forward retry behavior that git-annex has had for a long time.
  • sync, assistant, merge: When merge.directoryRenames is not set, default it it to "false", which works better with automatic merge conflict resolution than git's ususual default of "conflict". (This is not done when automatic merge conflict resolution is disabled.)
  • resolvemerge: Improve cleanup of cruft left in the working tree by a conflicted merge.
  • Support git remotes where .git is a file, not a directory, eg when --separate-git-dir was used.
  • Fixed several cases where files were created without file mode bits that the umask would usually set. This included exports to the directory special remote, torrent files used by the bittorrent special remote, hooks written by git-annex init, and some log files in .git/annex/
  • Fix reversion in 7.20190322 that made addurl --file not be honored when youtube-dl was used to download media.
  • Fix reversion in 8.20200617 that made annex.pidlock being enabled result in some commands stalling, particularly those needing to autoinit.
  • Display warning when external special remote does not start up properly, or is not usable.
  • Display a message when git-annex has to wait for a pid lock file held by another process.
  • test: Stop gpg-agent daemons that are started for the test framework's gpg key.
  • Removed the S3 and WebDAV build flags so these special remotes are always supported.
  • stack.yaml: Updated to lts-16.10.