This commit was sponsored by Thom May on Patreon.
This commit is contained in:
Joey Hess 2017-03-06 12:24:00 -04:00
parent 1e7c68500e
commit ce91e4102e
No known key found for this signature in database
GPG key ID: C910D9222512E3C7

View file

@ -0,0 +1,39 @@
[[!comment format=mdwn
username="joey"
subject="""comment 1"""
date="2017-03-06T16:08:55Z"
content="""
Currently the best way to debug this kind of thing is to use git annex find
with options to find files that match the preferred content expression.
Once you have gotten git annex find to list the same files that are being
transferred, you can then modify/cut down the options to narrow down
what's going on.
The preferred content expression for a client repository is:
(include=* and ((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1)))) or approxlackingcopies=1
Translating this to command-line options:
git annex find '-(' '--include=*' --and '-(' '-(' '--exclude=*/archive/*' --and '--exclude=archive/*' '-)' --or '-(' --not '-(' --copies=archive:1 --or --copies=smallarchive:1 '-)' '-)' '-)' '-)' --or --approxlackingcopies=1
You'll want to run that when the files are not located in the archive/
directory, and run it from the top of the repository.
Assuming that lists the files that are getting transferred, then you can
split it into two commands, each of which checks one of the two parts
of the expression that are ORed together:
git annex find '-(' '--include=*' --and '-(' '-(' '--exclude=*/archive/*' --and '--exclude=archive/*' '-)' --or '-(' --not '-(' --copies=archive:1 --or --copies=smallarchive:1 '-)' '-)' '-)' '-)'
git annex find --approxlackingcopies=1
Assuming the first of those lists the files and not the second, you can
then split it further. The include=* part must be matching then, so
checking two parts ORed within the second part:
git annex find '-(' '--exclude=*/archive/*' --and '--exclude=archive/*' '-)'
git annex find '-(' --not '-(' --copies=archive:1 --or --copies=smallarchive:1 '-)' '-)'
Probably one of those will list the files and the other won't.
Which will point fairly strongly at what's happening.
"""]]