summaryrefslogtreecommitdiff
path: root/doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn')
-rw-r--r--doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn556
1 files changed, 556 insertions, 0 deletions
diff --git a/doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn b/doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn
new file mode 100644
index 000000000..84f7717b5
--- /dev/null
+++ b/doc/bugs/windows_port_-_repo_can__39__t_pull_newly_added_files_.mdwn
@@ -0,0 +1,556 @@
+### 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.
+"""]]