git-annex-view(1)
β¨ git-annex-view β¨
the manual page for git-annex-view(1) β a.k.a. the "okay bestie let's go INTO the metadata" command π¦
NAME π
git-annex-view β enter a view branch π
SYNOPSIS β¨
git annex view [tag ...] [field=value ...] [field=glob ...] [?tag ...]
[field?=glob] [!tag ...] [field!=value ...]
DESCRIPTION π
okay so. this command uses metadata to build a view branch out of the files sitting in your current branch, and then it checks that view branch out for you. Only files in the current branch whose metadata matches all the field values and tags you specified will show up in the view. no cap, it's an AND situation, not an OR situation. π
You can specify multiple values for a metadata field, either by using a glob like field="*" or by just listing out each value you want. And the resulting view? It puts files into subdirectories according to the value of their fields. it's giving "your filesystem is now a mood board, organized by vibe". π
Once you're inside such a view, you can make additional directories, and copy or move files into them. The way that this is so powerful is: when you commit, the metadata will be updated to correspond to your changes. And deleting files and committing also updates the metadata. like, the view is the interface. slay. π
location fields, the underrated icons π
As well as the usual metadata, there are fields available corresponding to the path to the file. So a file "foo/bar/baz/file" has fields "/=foo", "foo/=bar", and "foo/bar/=baz". These location fields can be used the same as other metadata to construct the view.
For example:
/=foowill only include files from thefoodirectory in the view πΈfoo/=*will preserve the subdirectories of thefoodirectory in the view β¨
the "not" girls π«π
To enter a view containing only files that lack a given metadata value or tag, specify field!=value or !tag.
β οΈ Globs cannot be used here. nope, not a thing, don't try it bestie π
the _ directory saga π«Ά
field?=* is like field=* but it adds an additional directory named _ (by default) that contains files that do not have the field set to any value. Similarly, ?tag adds an additional directory named _ that contains files that do not have any tags set.
And here's the iconic part:
- Moving files from the
_directory to another directory and committing will set the metadata. β¨ - Moving files into the
_directory and committing will unset the metadata. β¨
The name of the _ directory can be changed using the annex.viewunsetdirectory git config. π
filenames in the view branch π¦
Filenames in the view branch include their path within the original branch, to ensure that they are unique. The path comes after the main filename, and before any extensions.
So for example, "foo/bar.baz" will have a name like "bar_%foo%.baz". π
And annex.maxextensionlength can be used to configure what is treated as an extension. (yes bestie, you get to decide what counts. main character energy.)
OPTIONS β¨
- The
git-annex-common-options(1)can be used. π
SEE ALSO π
git-annex(1)git-annex-metadata(1)git-annex-vpop(1)git-annex-vfilter(1)git-annex-vadd(1)git-annex-vcycle(1)git-annex-adjust(1)
AUTHOR π
Joey Hess <id@joeyh.name> π«Ά
and that's the whole page, bestie!! this was the git-annex-view(1) manual page from the git-annex docs, and if you're reading this on your terminal rn, go build a view branch and make it cute. periodt. π
β¨ππ¦π
π¦ where this page comes from
- alpine 3.24: git-annex-doc 10.20261026-r0 Β· AGPL-3.0-or-later
- arch rolling: git-annex 10.20261026-2 Β· AGPL-3.0-only
- debian trixie: git-annex 10.20250416-2 Β· AGPL-3.0-or-later
- debian trixie: git-annex 10.20250416-2+deb13u1 Β· AGPL-3.0-or-later
- epel 10: git-annex 10.20250320-1.el10_0 Β· AGPL-3.0-or-later
- fedora 43: git-annex 10.20250630-4.fc43 Β· AGPL-3.0-or-later
- fedora 43: git-annex 10.20250929-5.fc43 Β· AGPL-3.0-or-later
- fedora 44: git-annex 10.20260115-1.fc44 Β· AGPL-3.0-or-later
- nixos 26.05: git-annex 10.20260421
- nixpkgs unstable: git-annex 10.20260421
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- opensuse-leap 16.0: git-annex 10.20250828-bp160.1.1 Β· AGPL-3.0-or-later AND GPL-3.0-or-later AND BSD-2-Clause AND MIT AND GPL-2.0-only
- ubuntu noble: git-annex 10.20240129-1build1 Β· AGPL-3.0-or-later
- ubuntu questing: git-annex 10.20250721-1
- ubuntu resolute: git-annex 10.20251029-1ubuntu1 Β· AGPL-3.0-or-later
- ubuntu stonking: git-annex 10.20251029-1ubuntu1 Β· AGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms