git-annex/doc/bugs/git_annex_push_fails_on_Windows.mdwn
Joey Hess 7be8950138
propigateAdjustedCommits in seekExportContent
push: When on an adjusted branch, propagate changes to parent branch before
updating export remotes.

This is a somewhat redundant call to propigateAdjustedCommits, since it
also gets called at pushLocal time. That other one needs to come after
importing from importtree remotes though, and seekExportContent has to come
earlier, so I don't see a way to avoid doing it twice.

Note that git-annex sync also manages to avoid the problem, it's only
git-annex push that had the bug.

Sponsored-by: Leon Schuermann on Patreon
2023-09-11 14:54:26 -04:00

107 lines
3.7 KiB
Markdown

### Please describe the problem.
After adding a directory special remote to a git annex repository, the git annex push push-win-remote fails with the following error:
Not updating export to push-win-remote because adjusted/main(unlocked) does not exist. (As configured by remote.push-win-remote.annex-tracking-branch)
The problem does *not* occur on Linux or macOS.
### What steps will reproduce the problem?
[[!format sh """
mkdir push-win-repo
mkdir push-win-rmt
cd push-win-repo
git init --initial-branch main
git annex init push-win-repository
git annex config --set annex.largefiles include=*.xtx
echo "push test file" >> push-test.xtx
git annex add .
git commit -m "add push test file"
git annex initremote push-win-remote type=directory directory=../push-win-rmt autoenable=true encryption=none exporttree=yes importtree=yes
git config remote.push-win-remote.annex-tracking-branch adjusted/main(unlocked)
git annex group push-win-remote manual
git annex wanted push-win-remote include=*.xtx
git annex push push-win-remote
"""]]
### What version of git-annex are you using? On what operating system?
* git-annex version: 10.20230803-gd467c70ef7
* git version 2.41.0.windows.2
* OS Name: Microsoft Windows 10 Pro
* OS Version: 10.0.19045 N/A Build 19045
### Please provide any additional information below.
[[!format sh """
# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
C:\win-push-bug>mkdir push-win-repo
C:\win-push-bug>mkdir push-win-rmt
C:\win-push-bug>cd push-win-repo
C:\win-push-bug\push-win-repo>git init --initial-branch main
Initialized empty Git repository in C:/win-push-bug/push-win-repo/.git/
C:\win-push-bug\push-win-repo>git annex init push-win-repository
init push-win-repository
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/main(unlocked)'
ok
(recording state in git...)
C:\win-push-bug\push-win-repo>git annex config --set annex.largefiles include=*.xtx
annex.largefiles include=*.xtx ok
(recording state in git...)
C:\win-push-bug\push-win-repo>echo "push test file" 1>>push-test.xtx
C:\win-push-bug\push-win-repo>git annex add .
add push-test.xtx
ok
(recording state in git...)
C:\win-push-bug\push-win-repo>git commit -m "add push test file"
[adjusted/main(unlocked) f3262a2] add push test file
1 file changed, 1 insertion(+)
create mode 100644 push-test.xtx
C:\win-push-bug\push-win-repo>git annex initremote push-win-remote type=directory directory=../push-win-rmt autoenable=true encryption=none exporttree=yes importtree=yes
initremote push-win-remote ok
(recording state in git...)
C:\win-push-bug\push-win-repo>git config remote.push-win-remote.annex-tracking-branch adjusted/main(unlocked)
C:\win-push-bug\push-win-repo>git annex group push-win-remote manual
group push-win-remote ok
(recording state in git...)
C:\win-push-bug\push-win-repo>git annex wanted push-win-remote include=*.xtx
wanted push-win-remote ok
(recording state in git...)
C:\win-push-bug\push-win-repo>git annex push push-win-remote
Not updating export to push-win-remote because adjusted/main(unlocked) does not exist. (As configured by remote.push-win-remote.annex-tracking-branch)
C:\win-push-bug\push-win-repo>
# 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)
Yes. I am developing the easy-git-annex api.
> [[fixed|done]] --[[Joey]]