comment
This commit is contained in:
parent
5e7aa16d06
commit
fb30ad7846
1 changed files with 52 additions and 0 deletions
|
@ -0,0 +1,52 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="joey"
|
||||||
|
subject="""comment 1"""
|
||||||
|
date="2023-02-07T16:44:08Z"
|
||||||
|
content="""
|
||||||
|
The existing support for "field!=value" kind of hints at a direction for
|
||||||
|
this. If that supported globs (which it does not despite some now fixed docs
|
||||||
|
saying it did), you could imagine this as a view where you want both files
|
||||||
|
with an author and files without:
|
||||||
|
|
||||||
|
git-annex view author=* author!=*
|
||||||
|
|
||||||
|
Although, it seems "!=*" would be somehow special, because "author!=Joey"
|
||||||
|
would not mean that you want to put everything not authored by me in the
|
||||||
|
no-author directory! So perhaps using glob syntax for this is not the right
|
||||||
|
choice.
|
||||||
|
|
||||||
|
How about:
|
||||||
|
|
||||||
|
git-annex view author?=*
|
||||||
|
|
||||||
|
Where the '?' means make a directory for files that don't have the field
|
||||||
|
set at all. So "author?=Joey" makes one directory for files authored by me,
|
||||||
|
and one directory for files with no author; and all files with other
|
||||||
|
authors are not included in the view.
|
||||||
|
|
||||||
|
('field?=glob' also seems a good choice because it rhymes with
|
||||||
|
`git-annex metadata --set field?=value`)
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
I was going to say it seems better to avoid having any special directory
|
||||||
|
name if possible, and just put files that lack a field in the parent
|
||||||
|
directory that contains the directories for values of that field. But,
|
||||||
|
thinking that through, I found a big problem with it. Consider this:
|
||||||
|
|
||||||
|
git-annex view author=* author!=* year=* year!=*
|
||||||
|
|
||||||
|
If a file has a year set but no author, it would need to be left in the top
|
||||||
|
directory in this view. But then if it were moved to author/, it would
|
||||||
|
have an author but no year, and git-annex would have to remove the year
|
||||||
|
that was set. Because it can't differentiate that from a file that was in
|
||||||
|
author/year/ and got moved to author/ in order to remove the year.
|
||||||
|
|
||||||
|
Using a special directory name for unset does avoid that problem.
|
||||||
|
|
||||||
|
The name would have to be configurable, since any value might be a valid
|
||||||
|
valid for some type of metadata out there. I'd probably lean toward a
|
||||||
|
default like '_' just because it avoids defaulting to an English word, and
|
||||||
|
a name like '?' seems like asking for trouble with unsafe shell
|
||||||
|
globbing.
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue