fix handling of corrupted data received from git remote
Recover from corrupted content being received from a git remote due eg to a wire error, by deleting the temporary file when it fails to verify. This prevents a retry from failing again. Reversion introduced in version 8.20210903, when incremental verification was added. Only the git remote seems to be affected, although it is certianly possible that other remotes could later have the same issue. This only affects things passed to getViaTmp that return (False, UnVerified) due to verification failing. As far as getViaTmp can tell, that could just as well mean that the transfer failed in a way that would resume, so it cannot delete the temp file itself. Remote.Git and P2P.Annex use getViaTmp internally, while other remotes do not, which is why only it seems affected. A better fix perhaps would be to improve the types of the callback passed to getViaTmp, so that some other value could be used to indicate the state where the transfer succeeded but verification failed. Sponsored-by: Boyd Stephen Smith Jr.
This commit is contained in:
parent
21c0d5be6e
commit
e95747a149
5 changed files with 39 additions and 20 deletions
|
@ -115,3 +115,6 @@ Both servers are debian.
|
|||
I've been using git annex for years now, some periods more intensively than others. The only data I've lost I can only blame on my own stupidity, even after a terminal disk failure I managed to recover almost everything with a reinject. I'm still using it entirely cli though, no assistants or gui for me.
|
||||
|
||||
[[!meta title="corrupted tmp file can prevent getting an object"]]
|
||||
|
||||
> [[fixed|done]] (the related issue that I discovered in comment #1
|
||||
> specifically) --[[Joey]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue