summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-03-06 12:24:00 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-03-06 12:24:00 -0400
commitc3f272155e8f44021f7cb0b29b6462d2bf9db99d (patch)
treef2f9a2b110907094de5e8e9833ca1610df6d2e2c /doc
parent63273f5b1c8e443d0becb8ff8a9b8a49e9f78431 (diff)
response
This commit was sponsored by Thom May on Patreon.
Diffstat (limited to 'doc')
-rw-r--r--doc/forum/Debugging_of_transfer_considerations/comment_1_e68ab187c15b3b6f9384a990da07f358._comment39
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.
+"""]]