This commit is contained in:
Steve 2012-11-25 22:59:39 +00:00 committed by admin
parent 8ed44a4c17
commit 012899f36d

View file

@ -0,0 +1,131 @@
In experimenting with the web remote, I found that dropping a URL gave an error, but still succeeded, while re-adding the same URL fails to work correctly.
#What steps will reproduce the problem?
<pre>
/tmp $ dd if=/dev/zero of=/tmp/file.bin count=1024
1024+0 records in
1024+0 records out
524288 bytes (524 kB) copied, 0.0135652 s, 38.6 MB/s
/tmp $ mkdir /tmp/repo
/tmp $ cd /tmp/repo
/tmp/repo $ git init
Initialized empty Git repository in /tmp/repo/.git/
/tmp/repo $ git annex init "test"
init test ok
(Recording state in git...)
/tmp/repo $ git annex addurl file:///tmp/file.bin --file annexed.bin
######################################################################## 100.0%
(checksum...) ok
(Recording state in git...)
/tmp/repo $ git annex drop annexed.bin
drop annexed.bin (checking file:///tmp/file.bin...) ok
(Recording state in git...)
/tmp/repo $ mv /tmp/file.bin /tmp/file2.bin
/tmp/repo $ git annex get annexed.bin
get annexed.bin (from web...)
curl: (37) Couldn't open file /tmp/file.bin
Unable to access these remotes: web
Try making some of these repositories available:
00000000-0000-0000-0000-000000000001 -- web
failed
git-annex: get: 1 failed
/tmp/repo $ git annex drop --from web annexed.bin --force
drop web annexed.bin
removal from web not supported
failed
(Recording state in git...)
git-annex: drop: 1 failed
/tmp/repo $ git annex get annexed.bin
get annexed.bin (not available)
No other repository is known to contain the file.
failed
git-annex: get: 1 failed
/tmp/repo $ mv /tmp/file2.bin /tmp/file.bin
/tmp/repo $ git annex addurl file:///tmp/file.bin --file annexed.bin
addurl annexed.bin ok
/tmp/repo $ git annex whereis annexed.bin
whereis annexed.bin (0 copies) failed
git-annex: whereis: 1 failed
/tmp/repo $ git annex addurl file:///tmp/file.bin --file annexed2.bin
######################################################################## 100.0%
(checksum...) ok
(Recording state in git...)
/tmp/repo $ git annex whereis annexed.bin
whereis annexed.bin (1 copy)
e2418e81-ec04-4091-aabe-ed75d65f93fa -- here (test)
ok
/tmp/repo $ git annex whereis annexed2.bin
whereis annexed2.bin (1 copy)
e2418e81-ec04-4091-aabe-ed75d65f93fa -- here (test)
ok
/tmp/repo $ git annex drop annexed.bin
drop annexed.bin (unsafe)
Could only verify the existence of 0 out of 1 necessary copies
No other repository is known to contain the file.
(Use --force to override this check, or adjust annex.numcopies.)
failed
git-annex: drop: 1 failed
/tmp/repo $ git annex drop annexed2.bin
drop annexed2.bin (unsafe)
Could only verify the existence of 0 out of 1 necessary copies
No other repository is known to contain the file.
(Use --force to override this check, or adjust annex.numcopies.)
failed
git-annex: drop: 1 failed
/tmp/repo $ mv /tmp/file.bin /tmp/file2.bin
/tmp/repo $ git annex addurl file:///tmp/file2.bin --file annexed.bin
addurl annexed.bin ok
(Recording state in git...)
/tmp/repo $ git annex whereis annexed2.bin
whereis annexed2.bin (2 copies)
00000000-0000-0000-0000-000000000001 -- web
e2418e81-ec04-4091-aabe-ed75d65f93fa -- here (test)
web: file:///tmp/file.bin
web: file:///tmp/file2.bin
ok
/tmp/repo $ mv /tmp/file2.bin /tmp/file.bin
/tmp/repo $ git annex drop annexed.bin
drop annexed.bin (checking file:///tmp/file.bin...) ok
(Recording state in git...)
/tmp/repo $ git annex get annexed.bin
get annexed.bin (from web...)
######################################################################## 100.0%
ok
(Recording state in git...)
/tmp/repo $ git annex drop annexed.bin
drop annexed.bin (checking file:///tmp/file.bin...) ok
(Recording state in git...)
/tmp/repo $ mv /tmp/file.bin /tmp/file2.bin
/tmp/repo $ git annex get annexed.bin
get annexed.bin (from web...)
curl: (37) Couldn't open file /tmp/file.bin
######################################################################## 100.0%
ok
(Recording state in git...)
</pre>
#What is the expected output? What do you see inst
When dropping one file and I see "git-annex: drop: 1 failed" I would expect the file to still be in the remote as far as git-annex is concerned.
When re-adding the URL, I expect the file to be re-added to the web remote. (note that it re-appears after adding the same file via a different URL)
#What version of git-annex are you using? On what operating system?
3.20121112 on Gentoo Linux
#Please provide any additional information below.
This seems to be a corner case, and would probably have minimal impact on most people.