aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/cause__58___fake_annex_repo___124___result__58___inflated_numcopies___124___workaround__58___initialize_properly.mdwn
blob: fc098bb84b7a672682a0d7871ec4278cd040a9d7 (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
<pre>

***** summary

if I run sync, and there is an annex-less git remote in the network
the annex-less git repo will gain a v5 annex branch
it knows it can't store binary files
but all the properly initialized annex repos in the network don't know that

when I run "sync --content",
the initialized annex repos think that the uninitialized repo contains copies.

I suspect this results in inaccurate "copies" count
I know it results in an inaccurate "list files' location" graph
and also inaccurate "whereis" readout

***** reproduction

repo "Alpha" is a git-annex repo with file "music"
repo "Zeta" is a git repo cloned from Alpha

@Alpha:
git annex sync --content
git annex list
[shows music present on Zeta]
git annex whereis
[shows music present on Zeta]

@Zeta
git annex list
[shows nothing]
git annex whereis
[shows music present on Zeta]

***** proving that the problem is "sync --content"

Hypothesis:

maybe the issue is that I cloned the repo
rather than creating it normally,
thus leaving it in a half-annexed state?

Experiment:

tested by creating an independent git repo
and then adding it as a remote to Alpha.

then ran sync --content

Result:

no different than before.

Conclusion:

The problem lies with 
git-annex sync --content

***** ramifications

It would appear this error can cause data loss
due to a false numcopies count.

Yet GitHub is supposed to work.
So this error should've already been noticed.
Contradiction detected.

Positivity: I am planning on becoming a git-annex evangelist as part of a larger project.
Emacs offers ergonomic control via magit and a dired plugin.

***** environment

git-annex version: 6.20170301-ga9e1e17d40
build flags: Assistant Webapp Pairing Testsuite S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify ConcurrentOutput TorrentParser MagicMime Feeds Quvi
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
local repository version: unknown
supported repository versions: 3 5 6
upgrade supported from repository versions: 0 1 2 3 4 5
operating system: linux x86_64

</pre>

> [[done]] appears to be a confused user, not a bug. --[[Joey]]