diff --git a/doc/forum/Hardlinks_instead_of_symlinks_in_locked+thin_mode/comment_1_ae978190d2d4fc1c4cdadc8256e6ca3d._comment b/doc/forum/Hardlinks_instead_of_symlinks_in_locked+thin_mode/comment_1_ae978190d2d4fc1c4cdadc8256e6ca3d._comment new file mode 100644 index 0000000000..2ed7d1a0be --- /dev/null +++ b/doc/forum/Hardlinks_instead_of_symlinks_in_locked+thin_mode/comment_1_ae978190d2d4fc1c4cdadc8256e6ca3d._comment @@ -0,0 +1,27 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2020-09-01T19:20:07Z" + content=""" +It would have to be represented to git the same as unlocked files are (as +annex pointer files) because representing as symlinks would cause eg +`git add` to do the wrong thing. + +So the git tree would be the same as `git annex adjust --unlock` sets up. +The only difference then seems like it would be the mode of the files, +which would all have their write bits removed. + +Unofortunately, that means no easy spotting of removed files via broken +symlinks. + +And it seems all the files in the tree would need to be locked in this way, +because there's no way to differentiate at the git level between an +unlocked file and a file locked in this way (since git does not track write +bits). + +If [[todo/symlinks_for_not-present_unlocked_files]] got implemented, it +could work though. Ie, have a `git annex adjust` mode that represents +present files as unlocked, but with the write bits unset, and that +represents missing files as symlinks. Added a note to that todo about the +idea. +"""]] diff --git a/doc/todo/symlinks_for_not-present_unlocked_files/comment_7_37e6192b8f4410058f7b3f34b0787ec6._comment b/doc/todo/symlinks_for_not-present_unlocked_files/comment_7_37e6192b8f4410058f7b3f34b0787ec6._comment new file mode 100644 index 0000000000..2f9af4fd0f --- /dev/null +++ b/doc/todo/symlinks_for_not-present_unlocked_files/comment_7_37e6192b8f4410058f7b3f34b0787ec6._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 7""" + date="2020-09-01T19:32:13Z" + content=""" +annex.thin could be combined with this. Imagine a `git annex adjust` mode +that represents present files as annex pointer files to git, and that makes +them hardlinks to the object files, but with the write bit removed, so +they're still effectively locked. And non-present files are represented as +dangling symlinks. +"""]]