a todo on: explicit metadata needed for view inclusion or not
This commit is contained in:
parent
cb2f071377
commit
5565f6b61b
1 changed files with 115 additions and 0 deletions
115
doc/todo/explicit_metadata_needed_for_view_inclusion_or_not.mdwn
Normal file
115
doc/todo/explicit_metadata_needed_for_view_inclusion_or_not.mdwn
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
I'm not sure if this is a bug or a feature but the question is should files have (some/any)
|
||||||
|
explicit metadata set with `git-annex metadata` for them to be included in a view branch?
|
||||||
|
I mean if you create a view with just path-based fields (say, restrict to a subdirectory
|
||||||
|
with a criterion like 'subdir/=*'), do you expect files to match even if they don't have
|
||||||
|
any metadata fields manually set? In release version 10.20230214 the behavior has changed
|
||||||
|
in that files that don't have manual metadata set don't seem to be included in
|
||||||
|
(directory-based) view branches. The inverse seems to be true of the unreleased version
|
||||||
|
10.20230127-gc209e0f64 committed a week before.
|
||||||
|
|
||||||
|
In my opinion, this *could* be a feature if it's documented but it could also be construed
|
||||||
|
as violating the principle of least surprise as not all users routinely tag all annexed files
|
||||||
|
with metadata.
|
||||||
|
|
||||||
|
The following is a transcript that illustrates how the recent release version behaves. See
|
||||||
|
how the file `subdir/c` is excluded from the view branch (my apologies for this being a
|
||||||
|
PowerShell session on Windows):
|
||||||
|
|
||||||
|
[[!format sh """
|
||||||
|
X:\> cd git-annex-tests
|
||||||
|
X:\git-annex-tests> git init annex-view-test-a
|
||||||
|
X:\git-annex-tests> cd .\annex-view-test-a\
|
||||||
|
X:\git-annex-tests\annex-view-test-a [master]> git config annex.thin true
|
||||||
|
X:\git-annex-tests\annex-view-test-a [master]> git annex init Annex-view-test-a
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked)]> echo Aaa > a
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +1 ~0 -0 !]> mkdir subdir
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +1 ~0 -0 !]> echo Bbb > subdir\b
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +2 ~0 -0 !]> echo Ccc > subdir\c
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +2 ~0 -0 !]> mkdir subdir\subsubdir
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +2 ~0 -0 !]> echo Ddd > .\subdir\subsubdir\d
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +2 ~0 -0 !]> git annex add .
|
||||||
|
add a
|
||||||
|
ok
|
||||||
|
add subdir/b
|
||||||
|
ok
|
||||||
|
add subdir/c
|
||||||
|
ok
|
||||||
|
add subdir/subsubdir/d
|
||||||
|
ok
|
||||||
|
(recording state in git...)
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +4 ~0 -0 ~]> ls -r
|
||||||
|
|
||||||
|
Directory: X:\git-annex-tests\annex-view-test-a
|
||||||
|
|
||||||
|
Mode LastWriteTime Length Name
|
||||||
|
---- ------------- ------ ----
|
||||||
|
d---- 15.2.2023 12:37 subdir
|
||||||
|
-a--- 15.2.2023 12:31 5 a
|
||||||
|
|
||||||
|
Directory: X:\git-annex-tests\annex-view-test-a\subdir
|
||||||
|
|
||||||
|
Mode LastWriteTime Length Name
|
||||||
|
---- ------------- ------ ----
|
||||||
|
d---- 15.2.2023 12:38 subsubdir
|
||||||
|
-a--- 15.2.2023 12:34 5 b
|
||||||
|
-a--- 15.2.2023 12:37 5 c
|
||||||
|
|
||||||
|
Directory: X:\git-annex-tests\annex-view-test-a\subdir\subsubdir
|
||||||
|
|
||||||
|
Mode LastWriteTime Length Name
|
||||||
|
---- ------------- ------ ----
|
||||||
|
-a--- 15.2.2023 12:38 5 d
|
||||||
|
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +4 ~0 -0 ~]> fsutil hardlink list a
|
||||||
|
\git-annex-tests\annex-view-test-a\.git\annex\objects\b29\a20\SHA256E-s5--e3c555b2205407e76d3a460513cf44c1c62e48ba83ec4948ed05d0f87b957051\SHA256E-s5--e3c555b2205407e76d3a460513cf44c1c62e48ba83ec4948ed05d0f87b957051
|
||||||
|
\git-annex-tests\annex-view-test-a\a
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked) +4 ~0 -0 ~]> git commit -m 'Add test files'
|
||||||
|
[adjusted/master(unlocked) 56b11c9] Add test files
|
||||||
|
4 files changed, 4 insertions(+)
|
||||||
|
create mode 100644 a
|
||||||
|
create mode 100644 subdir/b
|
||||||
|
create mode 100644 subdir/c
|
||||||
|
create mode 100644 subdir/subsubdir/d
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked)]> git annex metadata -t test subdir\b
|
||||||
|
metadata subdir/b
|
||||||
|
lastchanged=2023-02-15@10-52-31
|
||||||
|
tag=test
|
||||||
|
tag-lastchanged=2023-02-15@10-52-31
|
||||||
|
ok
|
||||||
|
(recording state in git...)
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked)]> git annex metadata -t test subdir\subsubdir\d
|
||||||
|
metadata subdir/subsubdir/d
|
||||||
|
lastchanged=2023-02-15@10-53-00
|
||||||
|
tag=test
|
||||||
|
tag-lastchanged=2023-02-15@10-53-00
|
||||||
|
ok
|
||||||
|
(recording state in git...)
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked)]> git annex metadata subdir\c
|
||||||
|
metadata subdir/c
|
||||||
|
|
||||||
|
ok
|
||||||
|
X:\git-annex-tests\annex-view-test-a [adjusted/master(unlocked)]> git annex view 'subdir\=*'
|
||||||
|
view (searching...)
|
||||||
|
Switched to branch 'views/adjusted/master(unlocked)(subdir_=_)'
|
||||||
|
ok
|
||||||
|
X:\git-annex-tests\annex-view-test-a [views/adjusted/master(unlocked)(subdir_=_)]> ls -r
|
||||||
|
|
||||||
|
Directory: X:\git-annex-tests\annex-view-test-a
|
||||||
|
|
||||||
|
Mode LastWriteTime Length Name
|
||||||
|
---- ------------- ------ ----
|
||||||
|
d---- 15.2.2023 12:55 subsubdir
|
||||||
|
-a--- 15.2.2023 12:55 178 b_%subdir%
|
||||||
|
|
||||||
|
Directory: X:\git-annex-tests\annex-view-test-a\subsubdir
|
||||||
|
|
||||||
|
Mode LastWriteTime Length Name
|
||||||
|
---- ------------- ------ ----
|
||||||
|
-a--- 15.2.2023 12:55 181 d_%subdir%subsubdir%
|
||||||
|
|
||||||
|
# End of transcript or log.
|
||||||
|
"""]]
|
||||||
|
|
||||||
|
|
||||||
|
[[!meta author=jkniiv]]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue