git-annex/doc/internals
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
..
hashing
key_format
lockdown
comment_1_4b8ed353dca4f484b3b6eb463fa02fd8._comment
comment_2_c19232d5cc4976c2e5b014aef6e8d9ec._comment
comment_3_5a26ee5aab274f321a4ea6f8527f53bd._comment
comment_4_81293b180fb09105ec158fdfef73d249._comment
comment_5_354012b6a9ac11160eb926234d38051f._comment
comment_7_7e40f744f9ac7f0403df9d1a2162a516._comment
comment_7_9c82a2878f3feb1b2a95662ed25b234b._comment
comment_8_9dccdd3a9556ceef54e318cd5c8a50ad._comment
comment_9_40442b012886ad698f448c262f0d7f4c._comment
comment_10_c4298babd96b2596bd4f6ad828212c92._comment
comment_11_9758bb3a17f63b4dcf51742ea482dbe9._comment
comment_12_f0325cefa5cd53a5a897046606137cef._comment
comment_13_e45b6fa035a30703618448a0f764f935._comment
comment_14_3f62751c2dd041f4ead1c6580ea5eec1._comment
comment_15_c3d12d14e4d044f39829c5d92f523655._comment
comment_16_2455c898d6c77a5437a2c1532144bb8a._comment
hashing.mdwn
key_format.mdwn
lockdown.mdwn
pointer_file.mdwn