Tips & Tricks¶
Browsing the database¶
A portable way to browse the underlying sqlite database is to use the super secret /.supertag
directory that lives
in your collection’s mountpoint. Inside, there is a db.sqlite3
file that you can connect to. See Database Schema
for a detailed listing of each table.
Tag Negations¶
Sometimes it is useful to list all intersections sans a tag. For example, if you wanted to
list all files that are photos
, trips
, that are not tagged with seattle
, how would you do it? The answer
is tag negations:
ls photos/trips/-seattle/⋂
Simply prepend the -
character before any tags that you wish to negate from the intersection, and Supertag will
do the right thing.
Tag Group Transparency¶
A tag group has “stat transparency” to the tags it contains. What this means is although you cannot always see the tags contained by a tag group, you can pretend that they are there. An example will make this more clear. Suppose you have the following file structure::
/
2016/
...
photos/
...
people/
person-1/
person-2/
person-3/
Above, people
is a tag group for the tags person-1
, person-2
, and person-3
. This means that wherever
one of those tags would appear, the tag group will appear instead. So for example, if there exists an
intersection between photos
and person-1
, listing photos
will show::
photos/
people/
person-1/
people
is shown as the immediate child of photos
, because person-1
would have been listed, but person-1
has a tag group, so the tag group was shown instead.
However, “stat transparency” means that although person-1
isn’t the immediate child of photos
, we can treat it
as if it was. This means that you can do ls people/person-1/⋂
to list the intersection of those two tags, without
needing to go through the people
tag group.