summaryrefslogtreecommitdiff
path: root/doc/bugs/windows_port_-_can__39__t_directly_access_files
diff options
context:
space:
mode:
authorGravatar http://joeyh.name/ <joey@web>2013-06-14 15:40:05 +0000
committerGravatar admin <admin@branchable.com>2013-06-14 15:40:05 +0000
commit24cf80566f2e2ff8264dd4d4090d06a12c529593 (patch)
tree94beab27f8d48d3965fefebe021e523881fa5c6a /doc/bugs/windows_port_-_can__39__t_directly_access_files
parent7ae98e7673a72cb7d646daa92accd8474fc775ab (diff)
Added a comment
Diffstat (limited to 'doc/bugs/windows_port_-_can__39__t_directly_access_files')
-rw-r--r--doc/bugs/windows_port_-_can__39__t_directly_access_files/comment_2_c65e5491c82908af46fe2c97e048d210._comment20
1 files changed, 20 insertions, 0 deletions
diff --git a/doc/bugs/windows_port_-_can__39__t_directly_access_files/comment_2_c65e5491c82908af46fe2c97e048d210._comment b/doc/bugs/windows_port_-_can__39__t_directly_access_files/comment_2_c65e5491c82908af46fe2c97e048d210._comment
new file mode 100644
index 000000000..3368e3a31
--- /dev/null
+++ b/doc/bugs/windows_port_-_can__39__t_directly_access_files/comment_2_c65e5491c82908af46fe2c97e048d210._comment
@@ -0,0 +1,20 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ nickname="joey"
+ subject="comment 2"
+ date="2013-06-14T15:40:04Z"
+ content="""
+Your transcript shows `git annex get` apparently receiving the file. I don't see how that could possibly have worked if git-annex-shell were not in the path on the server, since that is the command it runs to send the file. Also, `git annex copy` is earlier used to send the file to origin, which again should not work if git-annex-shell was not in the path. I think this whole git-annex-shell not in path thing is a red herring.
+
+What actually appears to be going on is this:
+
+1. You create a new empty repository. Since this is Windows, it's forced into direct mode.
+2. You manually merge origin/synced/master into this repository. Bypassing `git annex sync` in this way means that direct mode mappings are not updated for the files contained in that branch.
+3. You run `git annex get` on a file from that branch. The file is retrieved. Since no direct mode mapping exists for the object it just retrieved, it stashes it in .git/annex/objects and the file is left with the fake symlink git uses on windows.
+
+The manual merge in step 2 is the cause of the problem. The [[direct_mode]] documentation advises against using git commands that update the repository tree because it can lead to this kind of problem (as well as more serious data loss).
+
+Of course, you had no choice but to merge from origin/synced/master, because git annex sync didn't push to origin/master, so simply cloning the bare repository wouldn't work. However, I did fix that a few days ago.
+
+I see this as more evidence of there needing to be a [[todo/direct_mode_guard]] to block users from running unsafe git commands in direct mode repositories. This bug probably can be closed, assuming I correctly understand what happened.
+"""]]