### Please describe the problem. Using a centralized remote repository, new files that are added to the repository after it's pulled cannot be directly accessed - instead are pulled as symlinks. The workaround is to create a new remote repository that clones from the source. That repo can pull all files correctly ### What steps will reproduce the problem? The following script works fine when everything is run on a linux box. If the same script is run on the windows box, it will not show foo2.txt in the repository clone. foo.txt is still valid. a file, testrepo.sh is set up on the server to simplify the creation of the repo for testing **testrepo.sh** [[!format sh """ rm -rf repo.git git init --bare repo.git cd repo.git git annex init origin git annex sync """]] **test script** [[!format sh """ ssh joebo@xxxxx sh testrepo.sh rm -rf repo git init repo cd repo git annex init git remote add origin ssh://joebo@xxxxx/~/repo.git echo hello > foo.txt git annex add . git commit -m "initial commit" git annex sync git annex copy --to origin git annex sync cd .. rm -rf repo-bak git init repo-bak cd repo-bak git remote add origin ssh://joebo@xxxxx/~/repo.git git fetch origin git merge origin/synced/master git annex sync git annex get . cat foo.txt #works just fine! cd .. cd repo echo foo2 > foo2.txt git annex add . git commit -m "another" git annex sync git annex copy --to origin git annex sync cd .. cd repo-bak git annex sync ## throws a fastforward error: commit ok pull origin remote: Counting objects: 21, done. remote: Compressing objects: 100% (14/14), done. remote: Total 16 (delta 3), reused 0 (delta 0) Unpacking objects: 100% (16/16), done. From ssh://xxxx.com/~/repo c5ed8e1..7ea5586 synced/git-annex -> origin/synced/git-annex a8402ae..1a72b3d synced/master -> origin/synced/master ok (merging origin/synced/git-annex into git-annex...) (Recording state in git...) push origin Counting objects: 15, done. Delta compression using up to 4 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (8/8), 844 bytes, done. Total 8 (delta 2), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git 7ea5586..5df3c85 git-annex -> synced/git-annex ! [rejected] master -> synced/master (non-fast-forward) error: failed to push some refs to 'ssh://joebo@xxx.com/~/repo.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and merge the remote changes hint: (e.g. 'git pull') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. failed git-annex: sync: 1 failed """]] If I try to work around it by merging, then I get the symlink in the file after getting [[!format sh """ C:\joe\backup\repo-bak>git merge origin/synced/master Updating f586b6a..fcae7bc Fast-forward foo2.txt | 1 + 1 file changed, 1 insertion(+) create mode 120000 foo2.txt C:\joe\backup\repo-bak>git annex get foo2.txt get foo2.txt (from origin...) SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bbece05f.txt 7 100% 6.84kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 156 bytes 124.00 bytes/sec total size is 7 speedup is 0.04 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\fba_8bb_SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bb ece05f.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo-bak>cat foo2.txt .git/annex/objects/3V/kM/SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd 78762e80a45f0bbece05f.txt/SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5cc d78762e80a45f0bbece05f.txt """]] removing the backup repository and starting over works: [[!format sh """ C:\joe\backup>git init repo-bak Initialized empty Git repository in C:/joe/backup/repo-bak/.git/ C:\joe\backup>cd repo-bak C:\joe\backup\repo-bak>git remote add origin ssh://joebo@xxxx.com/~/repo.git C:\joe\backup\repo-bak>git fetch origin remote: Counting objects: 57, done. remote: Compressing objects: 100% (48/48), done. remote: Total 57 (delta 20), reused 0 (delta 0) Unpacking objects: 100% (57/57), done. From ssh://xxxx.com/~/repo * [new branch] git-annex -> origin/git-annex * [new branch] synced/git-annex -> origin/synced/git-annex * [new branch] synced/master -> origin/synced/master C:\joe\backup\repo-bak>git merge origin/synced/master C:\joe\backup\repo-bak>git annex sync Detected a crippled filesystem. Enabling direct mode. Detected a filesystem without fifo support. Disabling ssh connection caching. warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\uuid.log. The file will have its original line endings in your working directory. (merging origin/git-annex origin/synced/git-annex into git-annex...) (Recording state in git...) commit ok pull origin ok push origin Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 533 bytes, done. Total 5 (delta 3), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git 5038806..67d6383 git-annex -> synced/git-annex ok C:\joe\backup\repo-bak>git annex get . get foo.txt (from origin...) SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691cd51a87.txt 8 100% 7.81kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 157 bytes 124.67 bytes/sec total size is 8 speedup is 0.04 ok get foo2.txt (from origin...) SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bbece05f.txt 7 100% 6.84kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 156 bytes 124.00 bytes/sec total size is 7 speedup is 0.04 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\fba_8bb_SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bb ece05f.txt.log. The file will have its original line endings in your working directory. warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\ae4_1e9_SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691c d51a87.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo-bak>cat * hello foo2 C:\joe\backup\repo-bak>ls -lah total 5.0k drwxr-xr-x 1 jbogner Administ 0 Jun 15 08:44 . drwxr-xr-x 23 jbogner Administ 4.0k Jun 15 08:43 .. drwxr-xr-x 1 jbogner Administ 4.0k Jun 15 08:44 .git -rw-r--r-- 1 jbogner Administ 8 Jun 15 08:44 foo.txt -rw-r--r-- 1 jbogner Administ 7 Jun 15 08:44 foo2.txt C:\joe\backup\repo-bak> """]] ### What version of git-annex are you using? On what operating system? Windows: C:\joe\backup\repo-bak>git annex version git-annex version: 4.20130614-g3a93e24 build flags: Pairing Testsuite S3 WebDAV DNS local repository version: 4 default repository version: 3 supported repository versions: 3 4 upgrade supported from repository versions: 2 Linux: git-annex version: 4.20130531-g5df09b5 build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP ### 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:\joe\backup>cd repo C:\joe\backup\repo>git annex init init Detected a crippled filesystem. Enabling direct mode. Detected a filesystem without fifo support. Disabling ssh connection caching. ok warning: LF will be replaced by CRLF in C:\joe\backup\repo\.git\annex\journal\uu id.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo>git remote add origin ssh://joebo@xxxx.com/~/repo.git C:\joe\backup\repo>echo hello 1>foo.txt C:\joe\backup\repo>git annex add . add foo.txt (checksum...) ok (Recording state in git...) warning: LF will be replaced by CRLF in C:\joe\backup\repo\.git\annex\journal\ae 4_1e9_SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691cd51a 87.txt.log. The file will have its original line endings in your working directory. C:\joe\backup\repo>git commit -m "initial commit" [master (root-commit) 47c05ea] initial commit 1 file changed, 1 insertion(+) create mode 120000 foo.txt C:\joe\backup\repo>git annex sync commit ok pull origin warning: no common commits remote: Counting objects: 5, done. remote: Compressing objects: 100% (3/3), done. remote: Total 5 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (5/5), done. From ssh://xxxx.com/~/repo * [new branch] git-annex -> origin/git-annex ok (merging origin/git-annex into git-annex...) (Recording state in git...) push origin Counting objects: 18, done. Delta compression using up to 4 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (16/16), 1.40 KiB, done. Total 16 (delta 3), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git * [new branch] git-annex -> synced/git-annex * [new branch] master -> synced/master ok C:\joe\backup\repo>git annex copy --to origin copy foo.txt (checking origin...) (to origin...) foo.txt 8 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1) sent 79 bytes received 31 bytes 73.33 bytes/sec total size is 8 speedup is 0.07 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo\.git\annex\journal\ae 4_1e9_SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691cd51a 87.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo>git annex sync commit ok pull origin ok push origin Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 450 bytes, done. Total 5 (delta 1), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git bd52e5f..02a0a4a git-annex -> synced/git-annex ok C:\joe\backup\repo>cd .. C:\joe\backup>rm -rf repo-bak C:\joe\backup>git init repo-bak Initialized empty Git repository in C:/joe/backup/repo-bak/.git/ C:\joe\backup>cd repo-bak C:\joe\backup\repo-bak>git remote add origin ssh://joebo@xxxx.com/~/repo.git C:\joe\backup\repo-bak>git fetch origin remote: Counting objects: 25, done. remote: Compressing objects: 100% (19/19), done. remote: Total 25 (delta 6), reused 0 (delta 0) Unpacking objects: 100% (25/25), done. From ssh://xxxx.com/~/repo * [new branch] git-annex -> origin/git-annex * [new branch] synced/git-annex -> origin/synced/git-annex * [new branch] synced/master -> origin/synced/master C:\joe\backup\repo-bak>git merge origin/synced/master C:\joe\backup\repo-bak>git annex sync Detected a crippled filesystem. Enabling direct mode. Detected a filesystem without fifo support. Disabling ssh connection caching. warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\uuid.log. The file will have its original line endings in your working directory. (merging origin/git-annex origin/synced/git-annex into git-annex...) (Recording state in git...) commit ok pull origin ok push origin Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 610 bytes, done. Total 5 (delta 1), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git 02a0a4a..88d19ce git-annex -> synced/git-annex ok C:\joe\backup\repo-bak>git annex get . get foo.txt (from origin...) SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691cd51a87.txt 8 100% 7.81kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 157 bytes 124.67 bytes/sec total size is 8 speedup is 0.04 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\ae4_1e9_SHA256E-s8--f873eef4f852e335da367d76ce7f1973c15b8ffebf532b064df4bc691c d51a87.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo-bak>cat foo.txt hello C:\joe\backup\repo-bak>cd .. C:\joe\backup>cd repo C:\joe\backup\repo>echo foo2 1>foo2.txt C:\joe\backup\repo>git annex add . add foo2.txt (checksum...) ok (Recording state in git...) warning: LF will be replaced by CRLF in C:\joe\backup\repo\.git\annex\journal\fb a_8bb_SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bbece0 5f.txt.log. The file will have its original line endings in your working directory. C:\joe\backup\repo>git commit -m "another" [master 76a9e44] another 1 file changed, 1 insertion(+) create mode 120000 foo2.txt C:\joe\backup\repo>git annex sync commit ok pull origin remote: Counting objects: 9, done. remote: Compressing objects: 100% (4/4), done. remote: Total 5 (delta 1), reused 0 (delta 0) Unpacking objects: 100% (5/5), done. From ssh://xxxx.com/~/repo 02a0a4a..88d19ce synced/git-annex -> origin/synced/git-annex ok (merging origin/synced/git-annex into git-annex...) (Recording state in git...) push origin Counting objects: 16, done. Delta compression using up to 4 threads. Compressing objects: 100% (10/10), done. Writing objects: 100% (11/11), 1.11 KiB, done. Total 11 (delta 2), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git 88d19ce..f47091a git-annex -> synced/git-annex 47c05ea..76a9e44 master -> synced/master ok C:\joe\backup\repo>git annex copy --to origin copy foo.txt (checking origin...) ok copy foo2.txt (checking origin...) (to origin...) foo2.txt 7 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1) sent 79 bytes received 31 bytes 73.33 bytes/sec total size is 7 speedup is 0.06 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo\.git\annex\journal\fb a_8bb_SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bbece0 5f.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo>git annex sync commit ok pull origin ok push origin Counting objects: 9, done. Delta compression using up to 4 threads. Compressing objects: 100% (4/4), done. Writing objects: 100% (5/5), 477 bytes, done. Total 5 (delta 1), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git f47091a..98082cb git-annex -> synced/git-annex ok C:\joe\backup\repo>cd .. C:\joe\backup>cd repo-bak C:\joe\backup\repo-bak>git annex sync commit ok pull origin remote: Counting objects: 21, done. remote: Compressing objects: 100% (14/14), done. remote: Total 16 (delta 4), reused 0 (delta 0) Unpacking objects: 100% (16/16), done. From ssh://xxxx.com/~/repo 88d19ce..98082cb synced/git-annex -> origin/synced/git-annex 47c05ea..76a9e44 synced/master -> origin/synced/master ok (merging origin/synced/git-annex into git-annex...) (Recording state in git...) push origin Counting objects: 15, done. Delta compression using up to 4 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (8/8), 843 bytes, done. Total 8 (delta 2), reused 0 (delta 0) To ssh://joebo@xxxx.com/~/repo.git 98082cb..2537203 git-annex -> synced/git-annex ! [rejected] master -> synced/master (non-fast-forward) error: failed to push some refs to 'ssh://joebo@xxxx.com/~/repo.git' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. Check out this branch and merge the remote changes hint: (e.g. 'git pull') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. failed git-annex: sync: 1 failed C:\joe\backup\repo-bak>git annex get foo2.txt git-annex: foo2.txt not found C:\joe\backup\repo-bak>cat foo2.txt cat: foo2.txt: No such file or directory C:\joe\backup\repo-bak>git pull origin synced/master From ssh://xxxx.com/~/repo * branch synced/master -> FETCH_HEAD Updating 47c05ea..76a9e44 Fast-forward foo2.txt | 1 + 1 file changed, 1 insertion(+) create mode 120000 foo2.txt C:\joe\backup\repo-bak>git annex get foo2.txt get foo2.txt (from origin...) SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bbece05f.txt 7 100% 6.84kB/s 0:00:00 (xfer#1, to-check=0/1) sent 30 bytes received 156 bytes 124.00 bytes/sec total size is 7 speedup is 0.04 ok warning: LF will be replaced by CRLF in C:\joe\backup\repo-bak\.git\annex\journa l\fba_8bb_SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd78762e80a45f0bb ece05f.txt.log. The file will have its original line endings in your working directory. (Recording state in git...) C:\joe\backup\repo-bak>cat foo2.txt .git/annex/objects/3V/kM/SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5ccd 78762e80a45f0bbece05f.txt/SHA256E-s7--eef0e29200a3194851e5fb4ff77d0d0aec5cd3f5cc d78762e80a45f0bbece05f.txt C:\joe\backup\repo-bak> # End of transcript or log. """]] > Apparently the last of the issues discussed here is fixed. > Closing this bug report before it grows a new issue. ;) [[done]] --[[Joey]]