From 19570263c022dce794531ec7cb3ac50758b3f3f1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 22 Jun 2023 13:48:48 -0400 Subject: [PATCH] reopen on second thought --- ...upt___40__not_just_missing__41___data.mdwn | 3 --- ..._d02a1e53cb95b0cb3c4330c668bcb15b._comment | 3 +-- ..._a6806787dc0163f67dc141415c951add._comment | 20 +++++++++++++++++++ 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_2_a6806787dc0163f67dc141415c951add._comment diff --git a/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data.mdwn b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data.mdwn index 602d13609f..367169fd8b 100644 --- a/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data.mdwn +++ b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data.mdwn @@ -9,6 +9,3 @@ Also, with `annex.thin`, the [[invariant|internals]] that `.git/annex/objects/aa Also, even if the current repo is trusted, with `annex.thin`, an unlocked file should not count as a trusted copy. [[!tag confirmed]] - -> documentation updated to mention this unfixable wart. Ugh. [[done]] -> --[[Joey]] diff --git a/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_1_d02a1e53cb95b0cb3c4330c668bcb15b._comment b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_1_d02a1e53cb95b0cb3c4330c668bcb15b._comment index 3ce9dca538..94673cf296 100644 --- a/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_1_d02a1e53cb95b0cb3c4330c668bcb15b._comment +++ b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_1_d02a1e53cb95b0cb3c4330c668bcb15b._comment @@ -24,6 +24,5 @@ But, git-annex goes out of its way to avoid 2 unlocked files being hardlinked when using annex.thin. So it seems wrong that a locked file and an unlocked file will be hard linked, and that the locked file can get corrupted. -Ok, I've made the docs warn about it, and I think that is just the best that -can be done. The only real fix would be to remove annex.thin. +I've made the docs warn about it better. """]] diff --git a/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_2_a6806787dc0163f67dc141415c951add._comment b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_2_a6806787dc0163f67dc141415c951add._comment new file mode 100644 index 0000000000..69d2c81ea3 --- /dev/null +++ b/doc/bugs/annex.thin_can_cause_corrupt___40__not_just_missing__41___data/comment_2_a6806787dc0163f67dc141415c951add._comment @@ -0,0 +1,20 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 2""" + date="2023-06-22T17:45:08Z" + content=""" +Ugh, I had closed this as not solvable, but on second thought, it's a very +real wart and if it's not solvable that doesn't make it not a problem. + +And it does seem that it could be solved in some outside the box way. + +For example, what if thin files were not hard links to the object file? +Now, they *have* to hard link to somewhere, to prevent git checkout from +deleting the only copy of a thin file. But it could hard link to a +different name in the object directory. One that symlinks do not point to. + +Then `git-annex fix` or fsck would need to notice when a symlink points to +an object file that is missing, and copy the thin file to it to populate +it. And, something might also want to reap object files that have become +only used by thin files. +"""]]