CI to automate build of cargo lockfiles on different Alpine releases for git-annex aports https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/git-annex
Find a file
Joey Hess dadbb510f6
incremental hashing for fileRetriever
It uses tailVerify to hash the file while it's being written.

This is able to sometimes avoid a separate checksum step. Although
if the file gets written quickly enough, tailVerify may not see it
get created before the write finishes, and the checksum still happens.

Testing with the directory special remote, incremental checksumming did
not happen. But then I disabled the copy CoW probing, and it did work.
What's going on with that is the CoW probe creates an empty file on
failure, then deletes it, and then the file is created again. tailVerify
will open the first, empty file, and so fails to read the content that
gets written to the file that replaces it.

The directory special remote really ought to be able to avoid needing to
use tailVerify, and while other special remotes could do things that
cause similar problems, they probably don't. And if they do, it just
means the checksum doesn't get done incrementally.

Sponsored-by: Dartmouth College's DANDI project
2021-08-13 15:43:29 -04:00
Annex INotify.removeWatch can crash 2021-08-13 15:35:18 -04:00
Assistant simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Backend incremental hashing for fileRetriever 2021-08-13 15:43:29 -04:00
Build don't use changelog version in commit message 2021-08-09 12:31:48 -04:00
CmdLine simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Command simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Config add: Significantly speed up adding lots of non-large files to git 2021-01-04 13:12:28 -04:00
Database simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
debian Enable building with git-annex benchmark by default 2020-10-02 13:57:10 -04:00
doc Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-12 14:50:12 -04:00
Git simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Limit fix longstanding indeterminite preferred content for duplicated file problem 2021-05-24 14:07:05 -04:00
Logs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Messages avoid using temp file size when deciding whether to retry failed transfer 2021-06-25 12:04:23 -04:00
P2P simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Remote incremental hashing for fileRetriever 2021-08-13 15:43:29 -04:00
RemoteDaemon switch from hslogger to purpose-built Utility.Debug 2021-04-05 13:40:31 -04:00
standalone bump filepath-bytestring dep 2020-11-11 11:49:19 -04:00
static Revert "remove newlines from static js and css" 2014-06-13 02:20:39 -04:00
templates cache the serialization of a Key 2019-11-22 17:49:16 -04:00
Test simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Types incremental hashing for fileRetriever 2021-08-13 15:43:29 -04:00
Upgrade simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Utility simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
.ghci avoid ghci warning on tabs 2019-01-21 12:35:44 -04:00
.gitattributes update changelog location 2016-08-22 23:54:11 -04:00
.gitignore stack.yaml: Updated to lts-16.10 2020-08-24 14:11:37 -04:00
.mailmap alias for Yaroslav @ yahoo to mailmap 2015-09-09 12:38:59 -04:00
Annex.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Assistant.hs assistant: Fix a crash on startup by avoiding using forkProcess 2021-05-12 15:08:03 -04:00
Backend.hs move verifyKeyContent to Annex.Verify 2021-07-27 14:07:23 -04:00
bash-completion.bash bash completion fix 2018-11-12 13:23:05 -04:00
Benchmark.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
BuildFlags.hs Removed the S3 and WebDAV build flags 2020-09-08 12:42:59 -04:00
BuildInfo.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CHANGELOG incremental hashing for fileRetriever 2021-08-13 15:43:29 -04:00
CmdLine.hs --size-limit exit 101 2021-06-04 16:43:47 -04:00
Command.hs addon commands 2021-02-02 16:32:49 -04:00
Common.hs finish fixing removeLink on windows 2020-11-24 13:20:44 -04:00
Config.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
COPYRIGHT update year 2021-01-04 12:45:19 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs fix strictness issue 2020-06-16 17:09:34 -04:00
git-annex.cabal releasing package git-annex version 8.20210803 2021-08-03 12:20:45 -04:00
git-annex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs avoid crashing when there are remotes using unparseable urls 2021-01-18 14:59:08 -04:00
Key.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Limit.hs New matching options --excludesamecontent and --includesamecontent 2021-05-25 13:08:18 -04:00
Logs.hs filter-branch working aside from some edge cases 2021-05-17 13:24:58 -04:00
Makefile remove TAGS target 2021-07-02 14:38:28 -04:00
Messages.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
NEWS fix dist in latest NEWS entry 2020-09-14 12:05:12 -04:00
README use https 2014-11-06 14:20:10 -04:00
Remote.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Setup.hs Added git-remote-tor-annex, which allows git pull and push to the tor hidden service. 2016-11-21 17:27:38 -04:00
stack.yaml update to lts-16.27 2020-12-29 13:51:08 -04:00
Test.hs sync, merge: Added --allow-unrelated-histories option 2021-07-19 12:14:26 -04:00
Types.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Upgrade.hs propagate git-annex -c on to transferrer child process 2020-12-15 11:36:25 -04:00

git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
dealing with files larger than git can currently easily handle, whether due
to limitations in memory, checksumming time, or disk space.

For documentation, see doc/ or <https://git-annex.branchable.com/>