report on --onlyingroup only partially working
This commit is contained in:
parent
e48829a5bf
commit
b4d1591283
1 changed files with 539 additions and 0 deletions
539
doc/bugs/matching_option_--onlyingroup_works_only_partially.mdwn
Normal file
539
doc/bugs/matching_option_--onlyingroup_works_only_partially.mdwn
Normal file
|
@ -0,0 +1,539 @@
|
|||
### Please describe the problem.
|
||||
|
||||
Thanks for implementing the `--onlyingroup=` matching option and the corresponding
|
||||
preferred content expression but it seems that at least the matching option does not work
|
||||
quite all the way how it was intended (as far as I understand).
|
||||
|
||||
### What steps will reproduce the problem?
|
||||
|
||||
Consider the following facts:
|
||||
|
||||
- there is a single file 'a-1' added to the repo annex-a;
|
||||
- annex-b, annex-c, annex-d are git clones of annex-a;
|
||||
- the file 'a-1' is not present in annex-d as an annex object;
|
||||
- annex-a is in group 'main';
|
||||
- annex-c and annex-d are in group 'backup'; and also
|
||||
- annex-b, annex-c, and annex-d are in group 'offline'.
|
||||
|
||||
Also there is no such group as 'foo'. Then the following `list` and `find` commands are issued:
|
||||
|
||||
[[!format sh """
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex list
|
||||
here
|
||||
|annex-b
|
||||
||annex-c
|
||||
|||annex-d
|
||||
||||web
|
||||
|||||bittorrent
|
||||
||||||
|
||||
XXX___ a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=backup
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=backup
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=offline
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=offline
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=foo
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=foo
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex version --raw
|
||||
10.20230802-gd19139a10d
|
||||
"""]]
|
||||
|
||||
Using the notation introduced by `--explain`, I would personally evaluate the above propositions as:
|
||||
|
||||
- --inallgroup=main[TRUE] ok
|
||||
- --onlyingroup=main[FALSE] (is present also in groups 'backup' and 'offline'), yet find considers this TRUE
|
||||
- --inallgroup=backup[FALSE] (is not present in annex-d which is in 'backup') ok
|
||||
- --onlyingroup=backup[FALSE] (is also present in the disjoint group 'main'), yet find considers this TRUE
|
||||
- --inallgroup=offline[FALSE] (is not present in annex-d which is in 'offline') ok
|
||||
- --onlyingroup=offline[FALSE] (is also present in the disjoint group 'main'), yet find considers this TRUE
|
||||
- --inallgroup=foo[FALSE] (there is no such group 'foo' so how can the file be present?), yet find considers this TRUE
|
||||
- --onlyingroup=foo[FALSE] ok
|
||||
|
||||
So, what gives? It seems that `--onlyingroup` only makes sure that the first part of the following specification
|
||||
matches:
|
||||
|
||||
Matches only when git-annex believes content is present in at least one
|
||||
repository that is in the specified group, and is not present in any
|
||||
repositories that are not in the specified group.
|
||||
|
||||
Notice that (in at least the particular case above) it doesn't make sure that
|
||||
the content should not be present in any repositories that are in disjoint groups.
|
||||
So the "only" meaning seems to be missing here making this effectively into a (lax)
|
||||
`--ingroup=` matching option.
|
||||
|
||||
### What version of git-annex are you using? On what operating system?
|
||||
|
||||
[[!format sh """
|
||||
git-annex version: 10.20230802-gd19139a10d
|
||||
build flags: Assistant Webapp Pairing TorrentParser Benchmark Feeds Testsuite S3 WebDAV
|
||||
dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.0 ghc-8.10.7 http-client-0.7.9 persistent-sqlite-2.13.0.3 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.1.2
|
||||
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
|
||||
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
|
||||
operating system: mingw32 x86_64
|
||||
supported repository versions: 8 9 10
|
||||
upgrade supported from repository versions: 2 3 4 5 6 7 8 9 10
|
||||
local repository version: 10
|
||||
"""]]
|
||||
|
||||
This is a build that has been attained by using the Windows-specific stack.yaml
|
||||
(by giving the option `--stack-yaml stack-lts-18.13.yaml` for stack).
|
||||
|
||||
Windows 10 version 22H2 (build 19045.3208), 64 bit.
|
||||
|
||||
### Please provide any additional information below.
|
||||
|
||||
My apologies in advance for the long transcript :)
|
||||
|
||||
[[!format sh """
|
||||
PowerShell 7.3.6
|
||||
* Istunto aloitettu hetkellä la 05.08.2023 klo 00:28:40 +03:00. Session started on Sat 05-Aug-2023 @ 00:28:41 +03:00.
|
||||
Loading personal and system profiles took 2630ms.
|
||||
C:\Users\jkniiv> cd e:\git-annex-tests
|
||||
E:\git-annex-tests> mkdir test-onlyingroup-matching2
|
||||
|
||||
Directory: E:\git-annex-tests
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
d---- 5.8.2023 0:29 test-onlyingroup-matching2
|
||||
|
||||
E:\git-annex-tests> cd .\test-onlyingroup-matching2\
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> git init annex-a
|
||||
Initialized empty Git repository in E:/git-annex-tests/test-onlyingroup-matching2/annex-a/.git/
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> cd annex-a
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [master]> git annex init annex-a
|
||||
init annex-a
|
||||
Detected a filesystem without fifo support.
|
||||
|
||||
Disabling ssh connection caching.
|
||||
|
||||
Detected a crippled filesystem.
|
||||
|
||||
Entering an adjusted branch where files are unlocked as this filesystem does not support locked files.
|
||||
|
||||
Switched to branch 'adjusted/master(unlocked)'
|
||||
ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> cd ..
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> git clone annex-a annex-b
|
||||
Cloning into 'annex-b'...
|
||||
done.
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> git clone annex-a annex-c
|
||||
Cloning into 'annex-c'...
|
||||
done.
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> git clone annex-a annex-d
|
||||
Cloning into 'annex-d'...
|
||||
done.
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
d---- 5.8.2023 0:29 annex-a
|
||||
d---- 5.8.2023 0:32 annex-b
|
||||
d---- 5.8.2023 0:32 annex-c
|
||||
d---- 5.8.2023 0:32 annex-d
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> cd annex-b
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> git config --add remote.origin.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> cat .git\config
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = false
|
||||
bare = false
|
||||
logallrefupdates = true
|
||||
symlinks = false
|
||||
ignorecase = true
|
||||
[remote "origin"]
|
||||
url = E:/git-annex-tests/test-onlyingroup-matching2/annex-a
|
||||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||||
fetch = ^refs/heads/adjusted/*
|
||||
[branch "adjusted/master(unlocked)"]
|
||||
remote = origin
|
||||
merge = refs/heads/adjusted/master(unlocked)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> git annex init annex-b
|
||||
init annex-b
|
||||
Detected a filesystem without fifo support.
|
||||
|
||||
Disabling ssh connection caching.
|
||||
|
||||
Detected a crippled filesystem.
|
||||
ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> cd ..\annex-c
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git config --add remote.origin.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex init annex-c
|
||||
init annex-c
|
||||
[...snip...]
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> cd ..\annex-d
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git config --add remote.origin.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex init annex-d
|
||||
init annex-d
|
||||
[...snip...]
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> cd ..\annex-a
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git remote add annex-b ..\annex-b
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git remote add annex-c ..\annex-c
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git remote add annex-d ..\annex-d
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git config --add remote.annex-b.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git config --add remote.annex-c.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git config --add remote.annex-d.fetch '^refs/heads/adjusted/*'
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex sync -g
|
||||
commit
|
||||
On branch adjusted/master(unlocked)
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
pull annex-d
|
||||
remote: Enumerating objects: 5, done.
|
||||
remote: Counting objects: 100% (5/5), done.
|
||||
remote: Compressing objects: 100% (2/2), done.
|
||||
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
|
||||
Unpacking objects: 100% (3/3), 332 bytes | 30.00 KiB/s, done.
|
||||
From ..\annex-d
|
||||
* [new branch] git-annex -> annex-d/git-annex
|
||||
* [new branch] master -> annex-d/master
|
||||
ok
|
||||
pull annex-c
|
||||
[...snip...]
|
||||
pull annex-b
|
||||
[...snip...]
|
||||
(merging annex-b/git-annex annex-c/git-annex annex-d/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
push annex-d
|
||||
Enumerating objects: 13, done.
|
||||
Counting objects: 100% (13/13), done.
|
||||
Delta compression using up to 4 threads
|
||||
Compressing objects: 100% (6/6), done.
|
||||
Writing objects: 100% (9/9), 843 bytes | 421.00 KiB/s, done.
|
||||
Total 9 (delta 4), reused 0 (delta 0), pack-reused 0
|
||||
To ..\annex-d
|
||||
* [new branch] master -> synced/master
|
||||
* [new branch] git-annex -> synced/git-annex
|
||||
ok
|
||||
push annex-c
|
||||
[...snip...]
|
||||
push annex-b
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex wanted . present
|
||||
wanted . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex group . main
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> cd ..\annex-b
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> git annex group . offline
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> cd ..\annex-c
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex wanted . standard
|
||||
wanted . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex group . backup
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex group . offline
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex group .
|
||||
backup offline
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> cd ..\annex-d
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex wanted . standard
|
||||
wanted . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex group . backup
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex group . offline
|
||||
group . ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex group .
|
||||
backup offline
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> cd ..\annex-a
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> ls
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> echo aaa-1 > a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked) +1 ~0 -0 !]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-a
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:45 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked) +1 ~0 -0 !]> git annex add .\a-1
|
||||
add a-1
|
||||
ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked) +1 ~0 -0 ~]> git status
|
||||
On branch adjusted/master(unlocked)
|
||||
Changes to be committed:
|
||||
(use "git restore --staged <file>..." to unstage)
|
||||
new file: a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked) +1 ~0 -0 ~]> git commit -m 'add a-1'
|
||||
[adjusted/master(unlocked) 1fad99e] add a-1
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-a
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:45 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex sync --content
|
||||
commit
|
||||
On branch adjusted/master(unlocked)
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
pull annex-d
|
||||
remote: Enumerating objects: 10, done.
|
||||
remote: Counting objects: 100% (10/10), done.
|
||||
remote: Compressing objects: 100% (9/9), done.
|
||||
remote: Total 9 (delta 1), reused 0 (delta 0), pack-reused 0
|
||||
Unpacking objects: 100% (9/9), 1008 bytes | 56.00 KiB/s, done.
|
||||
From ..\annex-d
|
||||
ee601cf..9c59e4d git-annex -> annex-d/git-annex
|
||||
ok
|
||||
pull annex-c
|
||||
[...snip...]
|
||||
pull annex-b
|
||||
[...snip...]
|
||||
(merging annex-b/git-annex annex-c/git-annex annex-d/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
copy a-1 (to annex-d...)
|
||||
ok
|
||||
copy a-1 (to annex-c...)
|
||||
ok
|
||||
copy a-1 (to annex-b...)
|
||||
ok
|
||||
pull annex-d
|
||||
ok
|
||||
pull annex-c
|
||||
ok
|
||||
pull annex-b
|
||||
ok
|
||||
(recording state in git...)
|
||||
push annex-d
|
||||
Enumerating objects: 40, done.
|
||||
Counting objects: 100% (40/40), done.
|
||||
Delta compression using up to 4 threads
|
||||
Compressing objects: 100% (32/32), done.
|
||||
Writing objects: 100% (35/35), 3.65 KiB | 623.00 KiB/s, done.
|
||||
Total 35 (delta 7), reused 0 (delta 0), pack-reused 0
|
||||
To ..\annex-d
|
||||
ee601cf..7a0c374 git-annex -> synced/git-annex
|
||||
c9731e7..6e57e3e master -> synced/master
|
||||
ok
|
||||
push annex-c
|
||||
[...snip...]
|
||||
push annex-b
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> cd ..
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
d---- 5.8.2023 0:45 annex-a
|
||||
d---- 5.8.2023 0:32 annex-b
|
||||
d---- 5.8.2023 0:32 annex-c
|
||||
d---- 5.8.2023 0:32 annex-d
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2> cd annex-b
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ≡]> git annex sync -g
|
||||
commit
|
||||
On branch adjusted/master(unlocked)
|
||||
Your branch is up to date with 'origin/adjusted/master(unlocked)'.
|
||||
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
merge synced/master master (Merging into master...)
|
||||
Updating c9731e7..6e57e3e
|
||||
Fast-forward
|
||||
a-1 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 120000 a-1
|
||||
(Merging into adjusted branch...)
|
||||
Updating bffc83c..4daa3a7
|
||||
Fast-forward
|
||||
a-1 | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
create mode 100644 a-1
|
||||
|
||||
Already up to date.
|
||||
(Merging into adjusted branch...)
|
||||
Updating 76cec61..68d290a
|
||||
Fast-forward
|
||||
ok
|
||||
pull origin
|
||||
[...snip...]
|
||||
push origin
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ↓1 ↑2]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-b
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:47 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ↓1 ↑2]> cat a-1
|
||||
aaa-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-b [adjusted/master(unlocked) ↓1 ↑2]> cd ..\annex-c
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ≡]> git annex sync -g
|
||||
commit
|
||||
[...snip...]
|
||||
merge synced/master master (Merging into master...)
|
||||
[...snip...]
|
||||
(Merging into adjusted branch...)
|
||||
[...snip...]
|
||||
Already up to date.
|
||||
(Merging into adjusted branch...)
|
||||
[...snip...]
|
||||
(merging origin/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ↓1 ↑2]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-c
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:47 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-c [adjusted/master(unlocked) ↓1 ↑2]> cd ..\annex-d
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ≡]> git annex sync -g
|
||||
commit
|
||||
[...snip...]
|
||||
merge synced/master master (Merging into master...)
|
||||
[...snip...]
|
||||
(Merging into adjusted branch...)
|
||||
[...snip...]
|
||||
Already up to date.
|
||||
(Merging into adjusted branch...)
|
||||
[...snip...]
|
||||
(merging origin/git-annex into git-annex...)
|
||||
(recording state in git...)
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-d
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:47 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> cd ..\annex-a
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex list
|
||||
here
|
||||
|annex-b
|
||||
||annex-c
|
||||
|||annex-d
|
||||
||||web
|
||||
|||||bittorrent
|
||||
||||||
|
||||
XXXX__ a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=backup
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=backup
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=offline
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=offline
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=foo
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=foo
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroups=foo
|
||||
Invalid option `--onlyingroups=foo'
|
||||
|
||||
Usage: git-annex COMMAND
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> cd ..\annex-d
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> ls
|
||||
|
||||
Directory: E:\git-annex-tests\test-onlyingroup-matching2\annex-d
|
||||
|
||||
Mode LastWriteTime Length Name
|
||||
---- ------------- ------ ----
|
||||
-a--- 5.8.2023 0:47 7 a-1
|
||||
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> git annex drop a-1
|
||||
drop a-1 ok
|
||||
(recording state in git...)
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> git annex sync -g
|
||||
commit
|
||||
On branch adjusted/master(unlocked)
|
||||
Your branch and 'origin/adjusted/master(unlocked)' have diverged,
|
||||
and have 2 and 1 different commits each, respectively.
|
||||
(use "git pull" to merge the remote branch into yours)
|
||||
|
||||
nothing to commit, working tree clean
|
||||
ok
|
||||
pull origin
|
||||
ok
|
||||
push origin
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-d [adjusted/master(unlocked) ↓1 ↑2]> cd ..\annex-a
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex sync -g
|
||||
commit
|
||||
[...snip...]
|
||||
pull annex-d
|
||||
[...snip...]
|
||||
pull annex-c
|
||||
[...snip...]
|
||||
pull annex-b
|
||||
[...snip...]
|
||||
push annex-c
|
||||
[...snip...]
|
||||
push annex-b
|
||||
[...snip...]
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex list
|
||||
here
|
||||
|annex-b
|
||||
||annex-c
|
||||
|||annex-d
|
||||
||||web
|
||||
|||||bittorrent
|
||||
||||||
|
||||
XXX___ a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=main
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=backup
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=backup
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=offline
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=offline
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --inallgroup=foo
|
||||
a-1
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex find --onlyingroup=foo
|
||||
E:\git-annex-tests\test-onlyingroup-matching2\annex-a [adjusted/master(unlocked)]> git annex version --raw
|
||||
10.20230802-gd19139a10d
|
||||
|
||||
# End of transcript or log.
|
||||
"""]]
|
||||
|
||||
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
|
||||
|
||||
Sure, Git Annex is great as always. I use it several times a week with my multigigabyte
|
||||
backups, where it gives structure to my image-based backup routines, so you could
|
||||
say I'm a believer. :)
|
||||
|
||||
[[!meta author=jkniiv]]
|
Loading…
Add table
Add a link
Reference in a new issue