comment
This commit is contained in:
parent
c20f86b1c8
commit
420088178c
1 changed files with 40 additions and 0 deletions
|
@ -0,0 +1,40 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 2"""
|
||||||
|
date="2025-01-03T17:09:35Z"
|
||||||
|
content="""
|
||||||
|
The reason `git-annex unused` does not show these files as unused is that
|
||||||
|
it looks at non-staged files as well as staged files. There is a good
|
||||||
|
reason for it to do that, consider:
|
||||||
|
|
||||||
|
git-annex add foo
|
||||||
|
mv foo bar
|
||||||
|
git-annex unused
|
||||||
|
|
||||||
|
If that said that the object used by bar was unused, the user might drop
|
||||||
|
that object, and then they would be surprised and unhappy when bar turned
|
||||||
|
into a broken link. So the object is in fact still used even though only
|
||||||
|
by an unstaged file.
|
||||||
|
|
||||||
|
On the other hand, `git-annex unannex` only operates on files that are
|
||||||
|
staged in git.
|
||||||
|
|
||||||
|
It would be possible for it to also operate on annexed
|
||||||
|
symlinks that are not staged.
|
||||||
|
|
||||||
|
But it seems to me there are other ways to get into that situation
|
||||||
|
where it's not clear that the user would want `git-annex unannex` to do
|
||||||
|
anything. Consider:
|
||||||
|
|
||||||
|
git-annex add foo
|
||||||
|
cp -a foo bar
|
||||||
|
git-annex unannex bar
|
||||||
|
|
||||||
|
That unannex does nothing. If it instead replaced the symlink with
|
||||||
|
a copy of the file, and the file was large, the user might be surprised
|
||||||
|
to have a lot more disk space being used than they did before.
|
||||||
|
|
||||||
|
It seems easy enough to recover an interruped `git-annex add` by
|
||||||
|
either running `git add` on the symlinks, or re-running the `git-annex add`
|
||||||
|
which will add the symlinks and pick up where it was interrupted.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue