Commit graph

8614 commits

Author SHA1 Message Date
Joey Hess
d65df7ab21
improve messages around export conflicts
When an export conflict prevents accessing a special remote, be clearer
about what the problem is and how to resolve it.

This commit was sponsored by Trenton Cronholm on Patreon.
2018-11-13 15:50:06 -04:00
Joey Hess
e2589670da
update slightly 2018-11-13 15:13:44 -04:00
Joey Hess
4b14438c9a
suggestion 2018-11-13 14:04:37 -04:00
Joey Hess
381bc4ab34
followup 2018-11-13 13:50:59 -04:00
Joey Hess
170b88b95e
followup 2018-11-13 13:50:15 -04:00
Joey Hess
f4e0719aa3
followup and close 2018-11-13 13:34:12 -04:00
https://launchpad.net/~barthelemy
ab4be761be Added a comment: cannot reproduce on git-annex 6.20180913 2018-11-13 09:32:55 +00:00
yarikoptic
329599428b Added a comment: yeap -- it is netbase which is needed 2018-11-13 04:20:28 +00:00
yarikoptic
84b1fb72d4 Added a comment 2018-11-13 04:14:28 +00:00
Joey Hess
6f69ede2ea
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-12 17:31:52 -04:00
Joey Hess
a720f377af
bug report 2018-11-12 17:19:33 -04:00
anarcat
40dddf9ee1 Added a comment: probably fixed indeed 2018-11-12 20:54:05 +00:00
https://launchpad.net/~barthelemy
05d2cd9e14 2018-11-12 20:46:59 +00:00
Joey Hess
5d49408871
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-12 16:40:21 -04:00
Joey Hess
1e4111a1d2
close dup of fixed issue 2018-11-12 16:16:26 -04:00
Joey Hess
ff9bd9620e
Fix resume of download of url when the whole file content is already actually downloaded
Don't much like that there's no way to distinguish between having the whole
content and having an old version of the file that's bigger, but of course
resuming a http transfer can always yield the wrong result if the file on
the http server is changing, and git-annex will detect that when it
verifies the downloaded content.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-12 16:08:47 -04:00
Joey Hess
c24bdfd689
response 2018-11-12 15:44:44 -04:00
yarikoptic
19f7bd294f Added a comment 2018-11-12 19:34:00 +00:00
yarikoptic
7fe1a83f7f Added a comment 2018-11-12 19:27:48 +00:00
yarikoptic
47f6bfdb7e Added a comment 2018-11-12 19:15:53 +00:00
Joey Hess
563f8b7c0f
followup 2018-11-12 14:54:50 -04:00
Joey Hess
e4125318d8
response 2018-11-12 14:52:30 -04:00
yarikoptic
396b6134ac added my meta 2018-11-12 18:02:03 +00:00
yarikoptic
6f0cbbd204 initial report on annex not properly considering http somehow while within docker 2018-11-12 18:00:18 +00:00
Joey Hess
58d1b2510c
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-12 13:26:10 -04:00
yarikoptic
9d47fcac49 Added a comment 2018-11-12 17:25:43 +00:00
Joey Hess
5ce078da92
bash completion fix
Fix bash completion of "git annex" to propertly handle files with spaces
and other problem characters. (Completion of "git-annex" already did.)

This commit was sponsored by Jake Vosloo on Patreon.
2018-11-12 13:23:05 -04:00
andrew
34d77ecdfd 2018-11-12 16:51:12 +00:00
yarikoptic
8f8b746f67 Added a comment: reply on the issue 2018-11-12 16:48:08 +00:00
andrew
b3d6b2dad9 Added a comment 2018-11-12 16:37:44 +00:00
andrew
4184878218 2018-11-12 16:36:26 +00:00
Joey Hess
d01c7c173c
response 2018-11-12 12:10:40 -04:00
Joey Hess
5bb2c72b6d
followup 2018-11-12 12:03:39 -04:00
Joey Hess
911f75232b
followup 2018-11-12 11:49:44 -04:00
Joey Hess
398bac4530
not dup 2018-11-12 11:23:56 -04:00
xelxebar
cd5c53ca60 2018-11-12 03:28:38 +00:00
andrew
2429763490 Added a comment 2018-11-12 03:17:48 +00:00
andrew
8853f6b13c 2018-11-11 21:39:56 +00:00
andrew
87efebb590 Added a comment 2018-11-11 21:35:26 +00:00
andrew
97453224ed 2018-11-11 21:33:37 +00:00
yarikoptic
b1a5ea5f53 original double complain on get -J 2018-11-08 18:05:56 +00:00
yarikoptic
1011d957aa Added a comment 2018-11-06 20:01:08 +00:00
Joey Hess
6ecd55a9fa
Fixed some other potential hangs in the P2P protocol
Finishes the start made in 983c9d5a53, by
handling the case where `transfer` fails for some other reason, and so the
ReadContent callback does not get run. I don't know of a case where
`transfer` does fail other than the locking dealt with in that commit, but
it's good to have a guarantee.

StoreContent and StoreContentTo had a similar problem.
Things like `getViaTmp` may decide not to run the transfer action.
And `transfer` could certianly fail, if another transfer of the same
object was in progress. (Or a different object when annex.pidlock is set.)

If the transfer action was not run, the content of the object would
not all get consumed, and so would get interpreted as protocol commands,
which would not go well.

My approach to fixing all of these things is to set a TVar only
once all the data in the transfer is known to have been read/written.
This way the internals of `transfer`, `getViaTmp` etc don't matter.

So in ReadContent, it checks if the transfer completed.
If not, as long as it didn't throw an exception, send empty and Invalid
data to the callback. On an exception the state of the protocol is unknown
so it has to raise ProtoFailureException and close the connection,
same as before.

In StoreContent, if the transfer did not complete
some portion of the DATA has been read, so the protocol is in an unknown
state and it has to close the conection as well.

(The ProtoFailureMessage used here matches the one in Annex.Transfer, which
is the most likely reason. Not ideal to duplicate it..)

StoreContent did not ever close the protocol connection before. So this is
a protocol change, but only in an exceptional circumstance, and it's not
going to break anything, because clients already need to deal with the
connection breaking at any point.

The way this new behavior looks (here origin has annex.pidlock = true so will
only accept one upload to it at a time):

git annex copy --to origin -J2
copy x (to origin...) ok
copy y (to origin...)
  Lost connection (fd:25: hGetChar: end of file)

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-06 14:52:32 -04:00
Joey Hess
9adc0b3417
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-06 13:01:00 -04:00
Joey Hess
983c9d5a53
git-annex-shell: fix transfer hang
Fix hang when transferring the same objects to two different clients at the
same time. (Or when annex.pidlock is used, two different objects to the
same or different clients.)

Could also potentially occur if a client was downloading an object and
somehow lost connection but that git-annex-shell was still running and
holding the transfer lock.

This does not guarantee that, if `transfer` fails for some other reason,
a DATA response will be made.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-06 13:00:37 -04:00
yarikoptic
68adc08502 initial report on failing to get a file after it actually got to tmp/ fully 2018-11-06 03:43:40 +00:00
Joey Hess
0a0242224d
full analysis 2018-11-05 18:25:55 -04:00
Joey Hess
44769d9285
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-05 17:13:16 -04:00
Joey Hess
14075afbd7
updated analysis 2018-11-05 17:12:19 -04:00
yarikoptic
0f0a6336cd Added a comment 2018-11-05 21:01:35 +00:00