Please describe the problem.
While on an adjusted branch, merge conflicts can neither be resolved manually nor with a git merge driver. See the transcript below.
What version of git-annex are you using? On what operating system?
git-annex version: 10.20230802 debian bullseye
Please provide any additional information below.
$ cat ~/.gitconfig
...
[merge "commit"]
name = commit conflict markers
driver = "bash -c 'git merge-file %A %O %B; exit 0'"
...
$ cat .gitattributes
* annex.backend=SHA256E
study.org* merge=commit
dotfiles/** merge=commit
$ git annex sync
git-annex sync will change default behavior to operate on --content in a future version of git-annex. Recommend you explicitly use --no-content (or -g) to prepare for that change. (Or you can configure annex.synccontent)
commit
On branch adjusted/master(unlocked)
nothing to commit, working tree clean
ok
pull uni-lfs
(Merging into master...)
Auto-merging study.org
CONFLICT (content): Merge conflict in study.org
Automatic merge failed; fix conflicts and then commit the result.
(Merging into master...)
Auto-merging study.org
CONFLICT (content): Merge conflict in study.org
Automatic merge failed; fix conflicts and then commit the result.
failed
push uni-lfs
To xxx
! [rejected] master -> synced/master (non-fast-forward)
error: failed to push some refs to 'xxx'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
To xxx
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'xxx'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Pushing to uni-lfs failed.
failed
sync: 2 failed
$ git annex version
git-annex version: 10.20230802
build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV
dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.26 DAV-1.3.4 feed-1.3.0.1 ghc-8.8.4 http-client-0.6.4.1 persistent-sqlite-2.10.6.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.1.0
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: linux x86_64
supported repository versions: 8 9 10
upgrade supported from repository versions: 0 1 2 3 4 5 6 7 8 9 10
local repository version: 10
# End of transcript or log.
git is what's doing the automatic merge, using the merge driver that you configured. Is the file
study.org
an annexed file? If not, I don't really see how this involves git-annex. git doesn't care if an adjusted branch is checked out or not, when using a merge driver to merge a non-annexed file.It looks like your merge driver is perhaps not working..