Please describe the problem.

Release 10.20230214 was supposed to give the ability to refresh the view branch with sync to reflect any changes made to metadata or parent branch, yet for users of crippled filesystems (for whom the view branches are a bit marginal anyway considering that symbolic or hard links are not employed) who are dependent on adjusted branches this does not work. It seems git annex tries to reach for the parent branch in the form of adjusted/master but normally it should be similar to adjusted/master(unlocked) with the parenthesized portion at the end.

X:\git-annex-tests\annex-view-test-a [views/adjusted/master(unlocked)(subdir_=_)]> git status
On branch views/adjusted/master(unlocked)(subdir_=_)
nothing to commit, working tree clean
X:\git-annex-tests\annex-view-test-a [views/adjusted/master(unlocked)(subdir_=_)]> git annex sync --no-commit
fatal: not a valid object name: 'adjusted/master'
git-annex: failed to update refs/heads/synced/adjusted/master

What steps will reproduce the problem?

Use a crippled filesystem on Windows with adjusted unlocked branches and enter a view branch and then try to git annex sync --no-commit -- the sync at least partially fails.

What version of git-annex are you using? On what operating system?

git-annex version: 10.20230214-gf3019d7e2
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

Windows 10 version 22H2 (build 19045.2486), 64 bit.

Please provide any additional information below.

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%

X:\git-annex-tests\annex-view-test-a [views/adjusted/master(unlocked)(subdir_=_)]> git annex sync --no-commit
fatal: not a valid object name: 'adjusted/master'
git-annex: failed to update refs/heads/synced/adjusted/master

# 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)

Git Annex is great. 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. :)

Big thanks, Joey!

Closing as a dup with a todo item;done --Joey