1c4f4b449a
When generating the view, check if the key is present. When syncing in a view branch with an adjustment, run adjustedBranchRefreshFull the same as is done when syncing in other adjusted branches. This is needed because the docs for git-annex adjust --unlock-present suggest using git-annex sync to update the branch when annex.adjustedbranchrefresh is not set. Note that, with annex.adjustedbranchrefresh set, it just works! The adjusted branch gets updated in the usual way and it doesn't matter that there's a view branch underneath. And of course, re-running git-annex adjut --unlock-present also works, as suggested in the docs. Sponsored-by: Erik Bjäreholt on Patreon
137 lines
5 KiB
Markdown
137 lines
5 KiB
Markdown
# NAME
|
|
|
|
git-annex adjust - enter an adjusted branch
|
|
|
|
# SYNOPSIS
|
|
|
|
git annex adjust `--unlock|--lock|--fix|--hide-missing [--unlock|--lock|--fix]|--unlock-present`
|
|
|
|
# DESCRIPTION
|
|
|
|
Enters an adjusted form of the current branch. The annexed files will
|
|
be treated differently. For example with --unlock all annexed files will
|
|
be unlocked.
|
|
|
|
The adjusted branch will have a name like "adjusted/master(unlocked)".
|
|
Since it's a regular git branch, you can use `git checkout` to switch
|
|
back to the original branch at any time.
|
|
|
|
This allows changing how annexed files are handled, without making changes
|
|
to a public branch with commands like `git-annex unlock`.
|
|
|
|
While in the adjusted branch, you can use git-annex and git commands as
|
|
usual. Any commits that you make will initially only be made to the
|
|
adjusted branch.
|
|
|
|
To propagate commits from the adjusted branch back to the original branch,
|
|
and to other repositories, as well as to merge in changes from other
|
|
repositories, run `git annex sync`. This will propagate changes that you've
|
|
made such as adding/deleting files, but will not propagate the adjustments
|
|
made by this command.
|
|
|
|
When in an adjusted branch, using `git merge otherbranch` is often not
|
|
ideal, because merging a non-adjusted branch may lead to unnecessary
|
|
merge conflicts, or add files in non-adjusted form. To avoid those
|
|
problems, use `git annex merge otherbranch`.
|
|
|
|
Re-running this command with the same options
|
|
while inside the adjusted branch will update the adjusted branch
|
|
as necessary (eg for `--hide-missing` and `--unlock-present`),
|
|
and will also propagate commits back to the original branch.
|
|
|
|
# OPTIONS
|
|
|
|
* `--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, `git annex add` 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, `git annex add` will add files locked,
|
|
as usual. However, `git add` (and `git commit -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 `git annex drop` 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 `git annex adjust --hide-missing` again. Or, to automate updates,
|
|
set the `annex.adjustedbranchrefresh` config.
|
|
|
|
Despite missing files being hidden, `git annex sync --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 `git annex get` files, they will remain locked.
|
|
And when you `git annex drop` files, they will remain locked and so will
|
|
not be broken symlinks.
|
|
|
|
To update the adjusted branch to reflect changes to content availability,
|
|
run `git annex adjust --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.
|
|
|
|
# SEE ALSO
|
|
|
|
[[git-annex]](1)
|
|
|
|
[[git-annex-unlock]](1)
|
|
|
|
[[git-annex-lock]](1)
|
|
|
|
[[git-annex-upgrade]](1)
|
|
|
|
[[git-annex-sync]](1)
|
|
|
|
[[git-annex-view]](1)
|
|
|
|
# AUTHOR
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|