summaryrefslogtreecommitdiff
path: root/doc/bugs/Windows:_Annex_can_not_get_files.mdwn
blob: f2362403213f8b71cfb66bdea7fe34c11addb73f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
### Please describe the problem.
git annex on windows does not seem to be able to get files from one (local) repository to another (also local) if the remote contains a drive letter (or generally a : in the path)

### What steps will reproduce the problem?
0. c:\> git init annex1
0. c:\> cd annex1
0. c:\annex1\> git annex init dir1
0. c:\annex1\> echo "This is a git annex repository" > README.txt
0. c:\annex1\> git annex add README.txt
0. c:\annex1\> git annex sync
0. c:\annex1\> cd \
1. c:\> git init annex2
1. c:\> cd annex2
1. c:\annex2\> git annex init dir2
1. c:\annex2\> git remote add dir1 c:\annex1
1. c:\annex2\> git annex sync dir1
2. c:\annex2\> git annex get README.txt

### What version of git-annex are you using? On what operating system?
C:\annex2>git version
git version 1.9.4.msysgit.0

C:\annex2>git annex version
git-annex version: 5.20150113-gcf247cf
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV DNS Feed
s Quvi TDFA CryptoHash TorrentParser
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SH
A256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glac
ier ddar hook external
local repository version: 5
supported repository version: 5
upgrade supported from repository versions: 2 3 4


### Please provide any additional information below.

[[!format sh """
C:\>git init annex1
Initialized empty Git repository in C:/annex1/.git/

C:\>cd annex1

C:\annex1>git annex init dir1
init dir1
  Detected a filesystem without fifo support.

  Disabling ssh connection caching.

  Detected a crippled filesystem.

  Enabling direct mode.
ok
(Recording state in git...)

C:\annex1>echo "This is a git annex repository" > README.txt

C:\annex1>git annex add README.txt
add README.txt ok
(Recording state in git...)

C:\annex1>git annex sync
commit  ok

C:\annex1>cd \

C:\>git init annex2
Initialized empty Git repository in C:/annex2/.git/

C:\>cd annex2

C:\annex2>git annex init dir2
init dir2
  Detected a filesystem without fifo support.

  Disabling ssh connection caching.

  Detected a crippled filesystem.

  Enabling direct mode.
ok
(Recording state in git...)

C:\annex2>git remote add dir1 c:\annex1

C:\annex2>git annex sync dir1
commit  ok
pull dir1
warning: no common commits
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 13 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (13/13), done.
From c:\annex1
 * [new branch]      annex/direct/master -> dir1/annex/direct/master
 * [new branch]      git-annex  -> dir1/git-annex
 * [new branch]      master     -> dir1/master
 * [new branch]      synced/master -> dir1/synced/master

Merge made by the 'recursive' strategy.
 README.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 120000 README.txt

Already up-to-date.
ok
(merging dir1/git-annex into git-annex...)
(Recording state in git...)
push dir1
Counting objects: 15, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (12/12), 1.18 KiB | 0 bytes/s, done.
Total 12 (delta 4), reused 0 (delta 0)
To c:\annex1
   a7d2b83..0e86493  annex/direct/master -> synced/master
 * [new branch]      git-annex -> synced/git-annex
ok

C:\annex2>git annex get README.txt
get README.txt (not available)
  Try making some of these repositories available:
        f005c222-3e80-46a3-81a2-72c6cae18035 -- dir1              <<<---- WTF: It's c:\annex1
failed
git-annex: get: 1 failed

C:\annex2>git annex list
here
|dir1
||web
|||bittorrent
||||
____ README.txt                                                   <<<----- WTF2: Why doesn't annex2 know that annex1 has a copy?

C:\annex2>git annex whereis README.txt
whereis README.txt (1 copy)
        f005c222-3e80-46a3-81a2-72c6cae18035 -- dir1
ok

C:\annex2>cd \annex1

C:\annex1>git annex list
(merging synced/git-annex into git-annex...)
here
|web
||bittorrent
|||
X__ README.txt                                                    <<<--- But annex1 knows where it is.

C:\annex1>git annex sync
commit  ok
merge synced/master
Updating a7d2b83..0e86493
Fast-forward
error: duplicate parent 0e86493f9431d6df13ef49831e00b22be93e509c ignored              <<<---- Could this be the problem?
ok

C:\annex1>cd \annex2

"""]]

> [[fixed|done]]; a simple path calculation bug. --[[Joey]]