[[!comment format=mdwn
 username="joey"
 subject="""comment 1"""
 date="2017-12-05T17:24:24Z"
 content="""
What happens is `git annex adjust` creates a branch and runs `git checkout`
to check it out. Then git calls `git-annex smudge` on files, and
unfortunately the git smudge interface requires that git-annex output the
whole content of the file, to stdout, which git then writes to disk.

So yes, this doesn't use reflinks, but it's worse than that, a better
interface would let git-annex simply move or hard-link the file into place,
even on filesystems not supporting reflinks.

This is discussed in detail in [[todo/smudge]]. Unfortunately it will need
a better interface in git to be addressed, and that's why v6 is still an
experimental feature.
"""]]
