Hello Joey,
git annex sync --content (--all)
checks if the content of a key exists locally by checking if the path exists instead looking at the location log. I suspect that this has a large impact on performance if the cache is cold.
Hello Joey,
git annex sync --content (--all)
checks if the content of a key exists locally by checking if the path exists instead looking at the location log. I suspect that this has a large impact on performance if the cache is cold.
Statting a file is typically much faster than piping a request through to git, git reading complex files, and git-annex parsing the result.
There may be a case, when annex.thin is set, where it has to hash the whole file to determine if it's got the expected content. Normally this is avoided by inode cache information though. And if it did, it would only be slow once for that particular version of the file as it would cache its informaton.
If you have a case where this is actually slow, please explain how I can see it.