Added a comment: forgot to add the new ignored link + shortcoming of 'ln' command
This commit is contained in:
parent
3a4883cabb
commit
3de99793d3
1 changed files with 24 additions and 0 deletions
|
@ -0,0 +1,24 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="nobodyinperson"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/736a41cd4988ede057bae805d000f4f5"
|
||||||
|
subject="forgot to add the new ignored link + shortcoming of 'ln' command"
|
||||||
|
date="2023-11-20T10:25:52Z"
|
||||||
|
content="""
|
||||||
|
You forgot to add your (gitignore'd) `what.foo` to git. Another `git annex add --no-check-gitignore;git commit -m \"add link\"` will make the subsequent `git annex uninit` work properly. This is also what the error message says, btw.
|
||||||
|
|
||||||
|
But there's another problem underneath: Why is `what.foo` an annex-style symlink anyway? It should just point to `example.txt`, right?
|
||||||
|
|
||||||
|
```
|
||||||
|
🐟 ❯ ln -nrs example.txt what.foo
|
||||||
|
yann in yann-desktop-nixos in …/uninit-test on main
|
||||||
|
🐟 ❯ ls -l
|
||||||
|
lrwxrwxrwx 186 yann users 20 Nov 11:08 example.txt -> .git/annex/objects/mK/4w/SHA256E-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03.txt/SHA256E-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03.txt
|
||||||
|
lrwxrwxrwx 186 yann users 20 Nov 11:08 what.foo -> .git/annex/objects/mK/4w/SHA256E-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03.txt/SHA256E-s6--5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
For some reason `ln` dereferences `example.txt` before linking, resulting in `what.foo` pointing to the same as `example.txt` -- not just to `example.txt` -- causing `what.foo` to look exactly like an annex link. I thought `-n` could fix this, but it would operate on the target `what.foo`, not the source `example.txt` 🤦. I couldn't make `ln` do this properly, except for renaming/removing `example.txt`, then `ln -rsf example.txt what.foo`, then restoring `example.txt`. Not viable. A better solution is `cp -s example.txt what.foo`. That will make `what.foo` point properly to just `example.txt` and not *its* target.
|
||||||
|
|
||||||
|
BTW you can still just `git add` things like normal non-annex symlinks like `what.foo`, no need for `git annex add` here.
|
||||||
|
|
||||||
|
Also, joey prefers to have bug reports/questions and the like in either [[todo]], [[bugs]] or [[forum]], because it's clear those are the places to look through for issues. Comments below random manpages are quick to be forgotten about. 🙂
|
||||||
|
"""]]
|
Loading…
Reference in a new issue