diff options
-rw-r--r-- | doc/forum/Debugging_of_transfer_considerations/comment_1_e68ab187c15b3b6f9384a990da07f358._comment | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/doc/forum/Debugging_of_transfer_considerations/comment_1_e68ab187c15b3b6f9384a990da07f358._comment b/doc/forum/Debugging_of_transfer_considerations/comment_1_e68ab187c15b3b6f9384a990da07f358._comment new file mode 100644 index 000000000..ba943b894 --- /dev/null +++ b/doc/forum/Debugging_of_transfer_considerations/comment_1_e68ab187c15b3b6f9384a990da07f358._comment @@ -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. +"""]] |