aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/git-annex_deletes_file_when_using___34__git_annex_get__34___after___34__git_annex_addurl_--file__34__.mdwn
blob: 0c9755385a2009d4b02aefed20d315d5c5304235 (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
### Please describe the problem.

When using "`git annex addurl --file`" with an ftp url, the committed 
file is deleted after dropping the contents with --force (because 
git-annex can't determine if the ftp server contains a valid copy) and 
executing "`git annex get`". It's the "`git annex get`" command that 
deletes the file.

This does not happen when using an http url.

### What steps will reproduce the problem?

`git clone https://gist.github.com/sunny256/24f6c29645efd0aab4d9`

and execute the bash script `runme`. There's more info in a long comment 
there, plus various flags you can enable/disable to test under different 
conditions.

### What version of git-annex are you using? On what operating system?

Using the newest git-annex from <https://downloads.kitenet.net/.git/> in 
directory git-annex/linux/current/, 5.20150420-gb0ebb23.

Have tested with versions way back to v5.20131221, they all behave the 
same.

Using Debian GNU/Linux 7.8 (wheezy) on x86_64 with brand new git 2.4.0.

### 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

$ ./runme

================== git init ==================
Initialized empty Git repository in /home/sunny/src/git/ga-bug/tmpdirawedsfkn/.git/

================== git annex init ==================
init  ok
(recording state in git...)

================== git commit, empty start commit ==================
[master (root-commit) 6d5d623] Empty startcommit

================== git annex addurl ==================
addurl README (downloading ftp://ftp.funet.fi/pub/Linux/mirrors/debian/README ...)
--2015-05-02 03:28:59--  ftp://ftp.funet.fi/pub/Linux/mirrors/debian/README
           => '.git/annex/tmp/URL--ftp&c%%ftp.funet.fi%pub%Linux%mirrors%debian%README'
Resolving ftp.funet.fi (ftp.funet.fi)... 193.166.3.2, 2001:708:10:9::20:2
Connecting to ftp.funet.fi (ftp.funet.fi)|193.166.3.2|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/Linux/mirrors/debian ... done.
==> SIZE README ... 1495
==> PASV ... done.    ==> RETR README ... done.
Length: 1495 (1.5K) (unauthoritative)

100%[================================================>] 1,495       --.-K/s   in 0.01s

2015-05-02 03:29:00 (125 KB/s) - '.git/annex/tmp/URL--ftp&c%%ftp.funet.fi%pub%Linux%mirrors%debian%README' saved [1495]

ok
(recording state in git...)

================== git commit, add README ==================
[master 264d597] Add README
 1 file changed, 1 insertion(+)
 create mode 120000 README

================== git annex drop --force ==================
drop README ok
(recording state in git...)

================== git annex get ==================
get README (from web...)
--2015-05-02 03:29:00--  ftp://ftp.funet.fi/pub/Linux/mirrors/debian/README
           => '.git/annex/tmp/SHA256-s1495--8822780b87a880ca9956ac108812557044618859cecb07df488df57e8134e34f'
Resolving ftp.funet.fi (ftp.funet.fi)... 193.166.3.2, 2001:708:10:9::20:2
Connecting to ftp.funet.fi (ftp.funet.fi)|193.166.3.2|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/Linux/mirrors/debian ... done.
==> SIZE README ... 1495
==> PASV ... done.    ==> RETR README ... done.
Length: 1495 (1.5K) (unauthoritative)

100%[================================================>] 1,495       --.-K/s   in 0s

2015-05-02 03:29:02 (73.1 MB/s) - '.git/annex/tmp/SHA256-s1495--8822780b87a880ca9956ac108812557044618859cecb07df488df57e8134e34f' saved [1495]

ok
(recording state in git...)

================== ls -l ==================
total 0

README is gone, should not happen

Reached the end
$

# End of transcript or log.
"""]]