summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-03-06 18:12:11 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-03-06 18:12:11 -0400
commit080c680df17500132f228f6dd83562e974a5fa84 (patch)
tree07e5665fadbd7880f0b7b1d0410446ecba08acc7
parent3dd6093ce798f7b00ccf181e446a1283e7324526 (diff)
parente11cfe9ee3381820f033daddfe8f2bcde3820072 (diff)
Merge branch 'master' of ssh://git-annex.branchable.com
-rw-r--r--doc/bugs/copy_fails_for_some_fails_without_explanation/comment_10_0c1a5837305b721fc4a529cae3f4c3fb._comment10
-rw-r--r--doc/bugs/copy_unused_and_unused_not_agreeing/comment_9_6abca5f4927e09089cdc5f0bd27b798f._comment26
2 files changed, 36 insertions, 0 deletions
diff --git a/doc/bugs/copy_fails_for_some_fails_without_explanation/comment_10_0c1a5837305b721fc4a529cae3f4c3fb._comment b/doc/bugs/copy_fails_for_some_fails_without_explanation/comment_10_0c1a5837305b721fc4a529cae3f4c3fb._comment
new file mode 100644
index 000000000..b0127ed82
--- /dev/null
+++ b/doc/bugs/copy_fails_for_some_fails_without_explanation/comment_10_0c1a5837305b721fc4a529cae3f4c3fb._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawmUJBh1lYmvfCCiGr3yrdx-QhuLCSRnU5c"
+ nickname="Justin"
+ subject="comment 10"
+ date="2014-03-06T21:38:53Z"
+ content="""
+Thanks a lot, Joey.
+
+Compiling all of the dependencies for git-annex was taking forever on my pi, so I'll probably wait until the next release to test this out. But I'll report back here if I have any problems.
+"""]]
diff --git a/doc/bugs/copy_unused_and_unused_not_agreeing/comment_9_6abca5f4927e09089cdc5f0bd27b798f._comment b/doc/bugs/copy_unused_and_unused_not_agreeing/comment_9_6abca5f4927e09089cdc5f0bd27b798f._comment
new file mode 100644
index 000000000..25edfd5ed
--- /dev/null
+++ b/doc/bugs/copy_unused_and_unused_not_agreeing/comment_9_6abca5f4927e09089cdc5f0bd27b798f._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="209.250.56.146"
+ subject="analysis"
+ date="2014-03-06T21:37:15Z"
+ content="""
+[[!format haskell \"\"\"
+ {- In indirect mode, look for the key. In direct mode,
+ - the inode cache file is only present when a key's content
+ - is present, so can be used as a surrogate if the content
+ - is not located in the annex directory. -}
+\"\"\"]]
+
+Seems that is wrong.
+
+I think that comment was based on removeAnnex calling removeInodeCache, which it does do.
+And that is, afaik, the only point in git-annex where content files are removed from the annex.
+
+However, in direct mode, removeAnnex is not the only way to delete a key's content -- the user can simply delete the file!
+(Or a disk error could put it in lost+found, or whatever.)
+
+That leaves the inode cache file present. unused will then behave as you describe. Also, uninit throws an ugly warning message
+due to getKeysPresent giving it bad data. The only other caller of getKeysPresent is info, which will also operate on bad data and so generate slightly wrong stats.
+
+I'm leaning toward making getKeysPresent do a full check of the cache and map, checking that the work tree still contains a key's content. This will make it somewhat slower (by 2 file reads and a stat() per key). So it would make sense to make a variant that only lists keys with content present in .git/annex/objects/. That could be used by `unused`, since by definition unused keys cannot have their content located in the work tree, so must have it in the object directory. uninit could also use it, since it's only interested in cleaning out .git/annex/objects. Only `info` will be slowed down.
+"""]]