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 67245ae00f
fully specify the pointer file format
This format is designed to detect accidental appends, while having some
room for future expansion.

Detect when an unlocked file whose content is not present has gotten some
other content appended to it, and avoid treating it as a pointer file, so
that appended content will not be checked into git, but will be annexed
like any other file.

Dropped the max size of a pointer file down to 32kb, it was around 80 kb,
but without any good reason and certianly there are no valid pointer files
anywhere that are larger than 8kb, because it's just been specified what it
means for a pointer file with additional data even looks like.

I assume 32kb will be good enough for anyone. ;-) Really though, it needs
to be some smallish number, because that much of a file in git gets read
into memory when eg, catting pointer files. And since we have no use cases
for the extra lines of a pointer file yet, except possibly to add
some human-visible explanation that it is a git-annex pointer file, 32k
seems as reasonable an arbitrary number as anything. Increasing it would be
possible, eg to 64k, as long as users of such jumbo pointer files didn't
mind upgrading all their git-annex installations to one that supports the
new larger size.

Sponsored-by: Dartmouth College's Datalad project
2022-02-23 14:20:31 -04:00
Annex fully specify the pointer file format 2022-02-23 14:20:31 -04:00
Assistant fold parseLinkTarget into parseLinkTargetOrPointer 2022-02-23 12:30:32 -04:00
Backend convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
Build assume @RPATH libs are present 2022-01-03 15:05:15 -04:00
CmdLine read a consistent amount from pointer file 2022-02-23 12:52:34 -04:00
Command read a consistent amount from pointer file 2022-02-23 12:52:34 -04:00
Config enable filter.annex.process in v9 2022-01-21 13:11:18 -04:00
Database read up to and including maxPointerSz 2022-02-23 12:54:40 -04:00
debian Update standalone patch for changes in debian/control text description 2022-01-07 17:24:50 -04:00
doc fully specify the pointer file format 2022-02-23 14:20:31 -04:00
Git Avoid git status taking a long time after git-annex unlock of many files. 2022-02-18 15:06:40 -04:00
Limit fix longstanding indeterminite preferred content for duplicated file problem 2021-05-24 14:07:05 -04:00
Logs fix obviously wrong attoparsec parser 2022-02-07 14:15:17 -04:00
Messages tighter --json parsing for metadata 2021-11-01 14:42:37 -04:00
P2P fix handling of corrupted data received from git remote 2022-01-07 13:25:33 -04:00
Remote adb: Avoid find failing with "Argument list too long" 2022-01-31 13:19:09 -04:00
RemoteDaemon remove support code for ancient git-annex-shell version 2021-10-11 16:07:08 -04:00
standalone remove osx stack.yaml 2021-10-18 13:15:47 -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 also run query tests in a readonly repo 2021-12-30 13:16:57 -04:00
Types complete annex.skipunknown transition 2022-02-18 13:18:05 -04:00
Upgrade don't fail git-annex upgrade to v10 2022-01-21 13:15:32 -04:00
Utility fix build on windows 2021-12-09 13:39:16 -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 detect v10 upgrade while running 2022-01-21 12:56:38 -04:00
Assistant.hs assistant: Fix a crash on startup by avoiding using forkProcess 2021-05-12 15:08:03 -04:00
Backend.hs remove unused imports 2021-10-05 21:27:06 -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 fully specify the pointer file format 2022-02-23 14:20:31 -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 copyright year 2022-01-03 12:46:04 -04:00
Creds.hs avoid getting creds from environment during autoenable 2021-03-17 09:41:12 -04:00
Crypto.hs convert Key to ShortByteString 2021-10-05 20:20:08 -04:00
git-annex.cabal releasing package git-annex version 10.20220222 2022-02-22 13:33:45 -04:00
git-annex.hs include git-annex-shell back in 2019-12-02 11:51:52 -04:00
git-union-merge.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Git.hs reinject: Fix crash when reinjecting a file from outside the repository 2021-10-01 14:06:34 -04:00
Key.hs convert Key to ShortByteString 2021-10-05 20:20:08 -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 deal with which being deprecated in Debian 2022-01-21 14:51:32 -04:00
Messages.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
NEWS complete annex.skipunknown transition 2022-02-18 13:18:05 -04:00
README improve description 2022-01-06 12:24:27 -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 git-lfs version to match git-annex.cabal 2021-11-16 12:54:29 -04:00
Test.hs add a test case for transition propagation 2022-02-07 16:08:06 -04:00
Types.hs plumb VerifyConfig into retrieveKeyFile 2021-08-17 12:43:13 -04:00
Upgrade.hs add upgrade.log 2022-01-19 15:52:29 -04:00

git-annex allows managing large files with git, without storing the file
contents in git. It can sync, backup, and archive your data, offline
and online. Checksums and encryption keep your data safe and secure. Bring
the power and distributed nature of git to bear on your large files with
git-annex.

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