Commit graph

33168 commits

Author SHA1 Message Date
Yaroslav Halchenko
5483deecd5
debian: Current version breaks released versions of datalad 2018-11-05 11:36:47 -04:00
Joey Hess
6e86373d13
remove android stuff 2018-11-04 20:06:49 -04:00
Joey Hess
abe4b7ebd6
importfeed: Avoid erroring out when a feed has been repeatedly broken
That can leave other imported files not checked into git, because the git
command queue is not flushed when git-annex errors out. And since it only
happens once git-annex has concluded a feed is broken, it's an intermittent
bug, worst kind. Been seeing it for a while, only tracked down today.

Instead, by returning False, git-annex importfeed will cleanly shutdown and
still exit nonzero.

This commit was sponsored by Denis Dzyubenko on Patreon.
2018-11-04 17:41:49 -04:00
Joey Hess
7f15339162
update 2018-11-04 15:06:06 -04:00
Joey Hess
0c05b92b7c
Merge branch 'master' of ssh://git-annex.branchable.com 2018-11-02 13:45:57 -04:00
Joey Hess
c371a8b10e
followup 2018-11-02 13:42:57 -04:00
Joey Hess
0b053b9611
Fix a P2P protocol hang
When readContent got Nothing from prepSendAnnex, it did not run its
callback, and the callback is what sends the DATA reply.

sendContent checks with contentSize that the object file is present, but
that doesn't really guarantee that prepSendAnnex won't return Nothing.

So, it was possible for a P2P protocol GET to not receive a response,
and appear to hang. When what it's really doing is waiting for the next
protocol command.

This seems most likely to happen when the annex is in direct mode, and the
file being requested has been modified. It could also happen in an indirect
mode repository if genInodeCache somehow failed. Perhaps due to a race
with a drop of the content file.

Fixed by making readContent behave the way its spec said it should,
and run the callback with L.empty in this case.

Note that, it's finee for readContent to send any amount of data
to the callback, including L.empty. sendBytes deals with that
by making sure it sends exactly the specified number of bytes,
aborting the protocol if it's too short. So, when L.empty is sent,
the protocol will end up aborting.

This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2018-11-02 13:41:50 -04:00
marvin@3296bf3c446430c3b2ebc32b5c784ee976620847
39bff661b0 Added a comment 2018-11-02 08:57:40 +00:00
Ilya_Shlyakhter
a68d4705b1 Added a comment 2018-11-01 17:13:00 +00:00
andrew
e6f90c1f87 Added a comment 2018-11-01 12:24:10 +00:00
andrew
af385e2d34 Added a comment 2018-11-01 12:15:35 +00:00
andrew
937d9d545a Added a comment 2018-11-01 12:02:59 +00:00
yarikoptic
0753ad46c2 It was "user error", things work now properlyish 2018-11-01 03:53:02 +00:00
Joey Hess
5ad5d45d4c
make Arbitrary POSIXTime include decimal half the time 2018-10-31 16:27:55 -04:00
Joey Hess
2ca408dc33
Increase minimum QuickCheck version. 2018-10-31 15:53:22 -04:00
Joey Hess
9c74ea84ab
add news item for git-annex 7.20181031 2018-10-31 15:47:37 -04:00
Joey Hess
8f9278787f
releasing package git-annex version 7.20181031 2018-10-31 15:46:57 -04:00
Joey Hess
37d00ca671
response 2018-10-31 13:50:51 -04:00
Joey Hess
6d8b8a3275
remove unused import 2018-10-31 12:58:53 -04:00
Joey Hess
83fc3692b9
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-31 12:44:12 -04:00
Adam.Schmalhofer@245dc7fa3c05299fc8973ae4241bcab07cd36140
506283c3f9 initial issue description 2018-10-31 15:51:04 +00:00
Ilya_Shlyakhter
8673c18f41 removed 2018-10-31 14:53:50 +00:00
Joey Hess
b5a6dfc779
close smudge, open transition tracking item 2018-10-31 08:31:07 -04:00
Joey Hess
77fbe17b5e
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-31 08:07:08 -04:00
Joey Hess
89ac32616f
don't move keys db out from under sqlite
Instead remove enough data from it that this regression test tests what
it needs to.

Moving the database was the last thing that made the test suite
unstable, including sometimes hanging completely. It seems that, despite
closeDb being called before the move, sqlite was not quite done with it,
and somehow this causes other sqlite handles to become unstable. Not
good.

With this change, the test suite has successfully run 100+ times without
any issues.
2018-10-31 08:04:16 -04:00
Joey Hess
1c71f563e0
explicitly close keys db in saveState
Should be redundant, but test suite is ending up with
a lot of extra sqlite connections before unused keys database handles
get garbage collected.

While running the test suite, I often saw 2-4+ open fds to the same
repo's keys database. After this change, it seems to mostly have 1,
occasionally 2.

And that might explain some of the strange sqlite failures in the test suite.
Especially the failures of test_lock_v7_force, where the keys database
gets renamed to a new directory out from under sqlite.
2018-10-30 22:19:32 -04:00
Joey Hess
fcc9eea554
avoid closeDb opening the db if it's not already open 2018-10-30 22:19:05 -04:00
Gus
a1379fe56b Added a comment: Nice! 2018-10-30 22:14:43 +00:00
Joey Hess
b144622d0d
devblog 2018-10-30 18:11:11 -04:00
Joey Hess
1428568554
retry when sqlite throws ErrorIO
I suspect this may be due to SQLITE_IOERR_SHORT_READ, but have not
verified.

I was able to reproduce it on Linux after running the test suite in a loop
for 1-3 hours until it failed.

The WAL mode entry change in 3963c5fcf5
may have hidden the problem I was seeing; I have not seen an ErrorIO
since then.
2018-10-30 18:06:38 -04:00
Joey Hess
3963c5fcf5
better approach to enabling WAL mode
The old approach opened the database an extra time to enable WAL mode,
but more recent persistent-sqlite has a better API to enable it.
2018-10-30 13:47:38 -04:00
Joey Hess
f00b329e0c
remove unused import 2018-10-30 13:38:29 -04:00
Joey Hess
a89db2c604
link to bug report blob
delete from tree
2018-10-30 12:07:38 -04:00
Joey Hess
57107cf213
sqlite bug report that the developers never responded to
Adding to git-annex's history so it doesn't get lost; the gmane archive
of it is long gone.
2018-10-30 12:04:28 -04:00
Joey Hess
718915e9fc
improve comments 2018-10-30 11:52:05 -04:00
Joey Hess
9e41a86706
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-30 11:10:21 -04:00
Joey Hess
86df2a08fe
fix windows build 2018-10-30 11:09:45 -04:00
Joey Hess
cc1087de42
test: display error messages from git-annex on unexpected failures
.. but not on expected failures
2018-10-30 10:49:39 -04:00
CandyAngel
2e0cc99b13 Add note about caching annex fulfilling this usage 2018-10-30 13:21:23 +00:00
Joey Hess
6956f533fe
better method of waiting for new mtime
This will even work on eg FAT with its 1-2 second mtime granularity. And
without slowing down everything else.
2018-10-30 01:11:04 -04:00
Joey Hess
c75807ba3a
remove note about ghc bug
ghc 8.6 fixed that, apparently
2018-10-30 00:51:14 -04:00
Joey Hess
86c316ab0f
Merge branch 'master' of ssh://git-annex.branchable.com 2018-10-30 00:46:16 -04:00
Joey Hess
5ab0f48ffb
high-res mtimes
Cache high-resolution mtimes for improved detection of modified files in v7
(and direct mode).

Including on Windows.

With back-compat support so old low-res mtimes won't break anything, and
so the new information also won't break old versions of git-annex.
2018-10-30 00:41:26 -04:00
Joey Hess
48af284872
fix parse of negative posix time
Should never happen, but..
2018-10-29 23:40:34 -04:00
Joey Hess
a8ad577d1d
fix parsing of timestamp w/o trailing 's'
Luckily, this did not affect any git-annex log files, since they all
include the trailing 's' for backwards compatability reasons.

But, if I later want to drop that, this is the first commit where
git-annex can be trusted to parse that right.

The misparse caused it to be off by up to 10 seconds.
2018-10-29 23:36:47 -04:00
Joey Hess
3d1b22dc8e
factor out another function 2018-10-29 23:33:56 -04:00
Joey Hess
2e9f128dea
moved module and relicensed 2018-10-29 23:13:36 -04:00
Joey Hess
5d97898a7c
touch files with high-resolution timestamp
Needs unix 2.7.2, but that was included in ghc 8.0.1 (and much older)
so not really a new dep.
2018-10-29 22:25:21 -04:00
Joey Hess
94b7968f1f
forgot to remove this when dropping support for old ghc 2018-10-29 22:01:06 -04:00
Ilya_Shlyakhter
d1a6daf40b added a use case for alt_keys 2018-10-30 01:40:18 +00:00