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 response 2020-02-20 16:21:34 -04:00
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 Added a comment 2018-09-19 16:07:45 +00:00
comment_9_40442b012886ad698f448c262f0d7f4c._comment Added a comment: representing unlocked state of files 2019-09-19 18:02:31 +00:00
comment_10_c4298babd96b2596bd4f6ad828212c92._comment Added a comment: duplicate objects? 2019-11-30 14:04:17 +00:00
comment_11_9758bb3a17f63b4dcf51742ea482dbe9._comment Added a comment: same contents with different keys 2019-11-30 16:51:58 +00:00
comment_12_f0325cefa5cd53a5a897046606137cef._comment Added a comment: no collisions 2019-11-30 20:37:00 +00:00
comment_13_e45b6fa035a30703618448a0f764f935._comment Added a comment 2019-11-30 21:11:53 +00:00
comment_14_3f62751c2dd041f4ead1c6580ea5eec1._comment Added a comment: hardlinking identical files in annex may break invariants 2019-11-30 21:36:38 +00:00
comment_15_c3d12d14e4d044f39829c5d92f523655._comment Added a comment: migrating... 2019-11-30 22:30:06 +00:00
comment_16_2455c898d6c77a5437a2c1532144bb8a._comment response 2020-02-20 16:26:52 -04:00
hashing.mdwn be more explicit about new hash format 2019-04-01 19:52:00 +00:00
key_format.mdwn expand 2020-07-03 14:42:04 -04:00
lockdown.mdwn Added annex.freezecontent-command and annex.thawcontent-command configs 2021-06-21 14:40:52 -04:00
pointer_file.mdwn fully specify the pointer file format 2022-02-23 14:20:31 -04:00