--unlock
Unlock all annexed files in the adjusted branch. This allows annexed files to be modified.
Normally, unlocking a file requires a copy to be made of its content, so that its original content
is preserved, while the copy can be modified. To use less space, annex.thin can be set to true
before running this command; this makes a hard link to the content be made instead of a copy.
(When supported by the file system.) While this can save considerable disk space, any modification
made to a file will cause the old version of the file to be lost from the local repository. So,
enable annex.thin with care.
When in an adjusted unlocked branch, gitannexadd will add files unlocked instead of the default
behavior of adding them locked.
--lock Lock all annexed files in the adjusted branch. This may be preferred by those who like seeing
broken symlinks when the content of an annexed file is not present.
When in an adjusted locked branch, gitannexadd will add files locked, as usual. However, gitadd
(and gitcommit-a etc) still add files unlocked. This is because it's not possible for those git
commands to add files locked.
--fix Fix the symlinks to annexed files to point to the local git annex object directory. This can be
useful if a repository is checked out in an unusual way that prevents the symlinks committed to
git from pointing at the annex objects.
--hide-missing
Only include annexed files in the adjusted branch when their content is present.
The adjusted branch is not immediately changed when content availability changes, so if you gitannexdrop files, they will become broken links in the usual way. And when files that were missing
are copied into the repository from elsewhere, they won't immediatly become visible in the branch.
To update the adjusted branch to reflect changes to content availability, run gitannexadjust--hide-missing again. Or, to automate updates, set the annex.adjustedbranchrefresh config.
Despite missing files being hidden, gitannexsync--content will still operate on them, and can
be used to download missing files from remotes. It also updates the adjusted branch after
transferring content.
This option can be combined with --unlock, --lock, or --fix.
--unlock-present
Unlock files whose content is present, and lock files whose content is missing. This provides the
benefits of working with unlocked files, but makes it easier to see when the content of a file is
not missing, since it will be a broken symlink.
The adjusted branch is not immediately changed when content availability changes, so when you gitannexget files, they will remain locked. And when you gitannexdrop files, they will remain
locked and so will not be broken symlinks.
To update the adjusted branch to reflect changes to content availability, run gitannexadjust--unlock-present again. Or, to automate updates, set the annex.adjustedbranchrefresh config. Or
use git-annex sync --content, which updates the branch after transferring content.
Also the git-annex-common-options(1) can be used.