git-annex/doc/bugs/clean-duplicates_doesn__39__t_delete_duplicates.mdwn

113 lines
4 KiB
Markdown

This feels really sucky, seeing as I am the one that asked for these checks to be implemented..
### Please describe the problem.
--clean-duplicates now refuses to remove a file due to not being able to verify its presence in the local repo, even though it is present in the local repo and git-annex knows it is present (whereis and fsck on the keys complete correctly).
### What steps will reproduce the problem?
See transcript
### What version of git-annex are you using? On what operating system?
git-annex versions:
* 2015-05-08
* 2015-05-28
OS: Arch Linux
### Please provide any additional information below.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
#### gemma@spearmint (0) ~
## mkdir ~/tmp/annextest
mkdir: created directory ?tmp/annextest?
#### gemma@spearmint (0) ~
## cd ~/tmp/annextest
#### gemma@spearmint (0) ~/tmp/annextest
## git init annex
Initialized empty Git repository in /home/gemma/tmp/annextest/annex/.git/
#### gemma@spearmint (0) ~/tmp/annextest
## cd annex/
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git annex init test
init test ok
(recording state in git...)
#### gemma@spearmint (0) ~/tmp/annextest/annex
## echo a > a
#### gemma@spearmint (0) ~/tmp/annextest/annex
## echo b > b
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git annex add *
add a ok
add b ok
(recording state in git...)
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git commit -m "files"
[master (root-commit) ce31ccf] files
2 files changed, 2 insertions(+)
create mode 120000 a
create mode 120000 b
#### gemma@spearmint (0) ~/tmp/annextest/annex
## mkdir ../import
mkdir: created directory ?import?
#### gemma@spearmint (0) ~/tmp/annextest/annex
## cd ../import
#### gemma@spearmint (0) ~/tmp/annextest/import
## echo b > b
#### gemma@spearmint (0) ~/tmp/annextest/import
## echo a > a
#### gemma@spearmint (0) ~/tmp/annextest/import
## cd ../annex
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git annex import --clean-duplicates ../import/
import import/b (duplicate of SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f) (unsafe)
Could only verify the existence of 0 out of 1 necessary copies
Could not verify that the content is still present in the annex; not removing from the import location.
failed
import import/a (duplicate of SHA256E-s2--87428fc522803d31065e7bce3cf03fe475096631e5e07bbd7a0fde60c4cf25c7) (unsafe)
Could only verify the existence of 0 out of 1 necessary copies
Could not verify that the content is still present in the annex; not removing from the import location.
failed
git-annex: import: 2 failed
#### gemma@spearmint (1) ~/tmp/annextest/annex
## git annex whereis --key SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f
whereis SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f (1 copy)
8d91925d-f3d2-493b-a79b-1a18658060a1 -- test [here]
ok
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git annex fsck --key SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f
fsck SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f (checksum...)
ok
(recording state in git...)
#### gemma@spearmint (0) ~/tmp/annextest/annex
## git annex import --clean-duplicates ../import/
import import/b (duplicate of SHA256E-s2--0263829989b6fd954f72baaf2fc64bc2e2f01d692d4de72986ea808f6e99813f) (unsafe)
Could only verify the existence of 0 out of 1 necessary copies
Could not verify that the content is still present in the annex; not removing from the import location.
failed
# End of transcript or log.
"""]]
> Indeed, I seem to have broken it while refactoring. [[fixed|done]]
> --[[Joey]]