Commit graph

11599 commits

Author SHA1 Message Date
gyurmo.gyuri@8d622eb91a0312fcb7e63e4f47a6e191c417a0c8
5e52325147 2022-10-23 08:30:57 +00:00
Joey Hess
cde2e61105
improve sqlite retrying behavior
Avoid hanging when a suspended git-annex process is keeping a sqlite
database locked.

Sponsored-by: Dartmouth College's Datalad project
2022-10-18 15:47:20 -04:00
Joey Hess
3149a1e2fe
More robust handling of ErrorBusy when writing to sqlite databases
While ErrorBusy and other exceptions were caught and the write retried for
up to 10 seconds, it was still possible for git-annex to eventually
give up and error out without writing to the database. Now it will retry
as long as necessary.

This does mean that, if one git-annex process is suspended just as sqlite
has locked the database for writing, another git-annex that tries to write
it it might get stuck retrying forever. But, that could already happen when
opening the sqlite database, which retries forever on ErrorBusy. This is an
area where git-annex is known to not behave well, there's a todo about the
general case of it.

Sponsored-by: Dartmouth College's Datalad project
2022-10-17 15:56:19 -04:00
Joey Hess
22f9598dfb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-10-12 15:54:12 -04:00
Joey Hess
d5cd1de280
update and open a todo about something I'm pondering 2022-10-12 15:53:56 -04:00
benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e3
5bd79e717f Added a comment 2022-10-12 06:12:17 +00:00
Joey Hess
b312b2a30b
update 2022-10-11 15:07:52 -04:00
Joey Hess
c2ad84b423
all keys are still present on versioned remote after import of a tree
When importing from versioned remotes, fix tracking of the content of
deleted files.

Only S3 supports versioning so far, so only it was affected.

But, the draft import/export interface for external remotes also seemed to
need a change, so that versionedExport could be set.
2022-10-11 13:05:40 -04:00
benjamin.poldrack@d09ccff6d42dd20277610b59867cf7462927b8e3
e22c3b3d7c 2022-10-11 09:12:00 +00:00
Joey Hess
4a42c69092
take lock in checkLogFile and calcLogFile
move: Fix openFile crash with -J

This does make them a bit slower, although usually the log file is not
very big, so even when it's being rewritten, they will not block for
long taking the lock. Still, little slowdowns may add up when moving a lot
file files.

A less expensive fix would be to use something lower level than openFile
that does not check if the file is already open for write by another
thread. But GHC does not seem to provide anything convenient; even mkFD
checks for a writing thread.

fullLines is no longer necessary since these functions no longer will
read the file while it's being written.

Sponsored-by: Dartmouth College's DANDI project
2022-10-07 13:19:17 -04:00
Joey Hess
85dbc21c1c
fix typo 2022-10-07 12:30:07 -04:00
jkniiv
b7d189d6c0 Added a comment 2022-10-06 16:04:41 +00:00
yarikoptic
91c9a27c5a Added a comment 2022-10-06 12:50:01 +00:00
yarikoptic
77825cadfa removed 2022-10-06 12:47:48 +00:00
yarikoptic
04117f0e52 Added a comment 2022-10-06 12:47:17 +00:00
jkniiv
c9bf143fc8 Added a comment 2022-10-06 06:21:40 +00:00
yarikoptic
5761ea969f 2022-10-06 01:37:24 +00:00
yarikoptic
f0a2341e5c initial report on locking issue on move 2022-10-05 21:25:00 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
ee2442bbab Added a comment 2022-10-04 17:59:54 +00:00
Joey Hess
a679ef04ff
comments 2022-10-04 13:36:38 -04:00
Joey Hess
304ee15a42
comment 2022-10-04 13:06:55 -04:00
Joey Hess
15f9fcbcb1
avoid combining multiple words provided to trust/untrust/dead
* trust, untrust, semitrust, dead: Fix behavior when provided with
  multiple repositories to operate on.
* trust, untrust, semitrust, dead: When provided with no parameters,
  do not operate on a repository that has an empty name.

The man page and usage already indicated that multiple repos could be
provided to these commands, but they actually used unwords to combine
everything into string, and found a repo matching that string. This was
especially bad when no parameters resulted in the empty string and some
repo happened to have an empty description.

This does change the behavior, and it's possible someone relied on the
current behavior to eg, trust a repo by name with the name not quoted into
a single parameter. But fixing the empty string bug and matching the
documentation are worth breaking that usage.

Note that git-annex init/reinit do still unwords multiple parameters when
provided to them. That is inconsistent behavior, but it certianly seems
possible that something does run git-annex init with an unquoted
description, and I don't think it's worth breaking that just to make it more
consistent with these other commands.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-10-03 13:48:40 -04:00
Joey Hess
9c9174329e
bug report 2022-10-03 13:00:29 -04:00
jkniiv
82dab0749c Added a comment 2022-10-01 08:23:43 +00:00
jkniiv
be0aca9fa0 Added a comment: restage.log was empty indeed 2022-10-01 05:14:17 +00:00
Joey Hess
d91c3500ea
add comments 2022-09-30 14:04:33 -04:00
Joey Hess
49ee07f93d
fix flush of a closed file handle
Avoids displaying warning about git-annex restage needing to be run in
situations where it does not.

Closing a handle flushes it anyway, so no need for an explict flush. The
handle does get closed twice, but that's fine, the second one does nothing.

Sponsored-by: Dartmouth College's DANDI project
2022-09-30 14:02:31 -04:00
Joey Hess
8d8f7ee884
comment 2022-09-30 13:42:30 -04:00
Joey Hess
fedee03654
comment 2022-09-30 13:26:30 -04:00
jkniiv
4e0eb2d124 reporting that we're now in some cases needlessly reminded to run restage 2022-09-30 13:40:01 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
e4ff7014bd Added a comment: mess up commited to my branch 2022-09-29 09:26:06 +00:00
jules@a6ba859eba6f59bd980f294741b1ad9b7624552a
6cf8d066e3 2022-09-29 08:44:16 +00:00
kdm9
1ebce93be0 Added a comment 2022-09-28 12:55:49 +00:00
Joey Hess
e858315744
comment 2022-09-27 15:01:08 -04:00
Joey Hess
81e1cba6e1
Merge branch 'master' of ssh://git-annex.branchable.com 2022-09-27 14:58:02 -04:00
Joey Hess
61c5014ad1
comment 2022-09-27 14:57:56 -04:00
kdm9
49dd5e1b69 Added a comment 2022-09-27 18:40:40 +00:00
Joey Hess
eae89f73bb
comment 2022-09-27 14:31:06 -04:00
kdm9
518b89eb96 Added a comment 2022-09-27 17:49:53 +00:00
kdm9
27a9489ef3 v10nfs-bug 2022-09-27 17:48:02 +00:00
Joey Hess
640e2646a1
add comment 2022-09-26 16:05:46 -04:00
Joey Hess
17129fed66
fix wormhole --appid option position
p2p: Pass wormhole the --appid option before the receive/send command, as
it does not accept that option after the command

I'm left wondering, did I get this wrong from the beginning, or did
wormhole change its option parser? I'm reminded of the change in 0.8.2
where it silently changed what FD the pairing code was output to.
But, looking at the wormhole source, it was at least putting --appid before
send in its test suite from the introduction of the option.

So I think probably this has always been broken. On 2021-12-31 the --appid
option was enabled, and it took until now for someone to try
git-annex p2p --pair and notice that flag day broke it..

Sponsored-by: Svenne Krap on Patreon
2022-09-26 15:11:38 -04:00
Joey Hess
1d47a7e7e6
Revert "fix comment"
This reverts commit c39b057b2d.
2022-09-26 13:39:10 -04:00
Joey Hess
c39b057b2d
fix comment 2022-09-26 13:37:47 -04:00
Joey Hess
fc9212e6ea
comment 2022-09-26 13:25:04 -04:00
Joey Hess
6e21bd54d4
comment 2022-09-26 13:23:04 -04:00
Joey Hess
e05dd70544
handle upgrading repositories initialized with --version=9
As was attempted earlier in the buggy commit 0d2e3058ee

Avoided the bug that had by making the upgrade log be updated after each
upgrade step. So, after upgrade from v8 to v9, the log is updated, and
so Upgrade.V9's timeOfUpgrade check will find that it was upgraded
recently and so won't let it skip ahead to v10.

Sponsored-by: k0ld on Patreon
2022-09-26 12:59:51 -04:00
Joey Hess
6b658a7f54
comment 2022-09-26 12:20:11 -04:00
Joey Hess
98eb5ff84f
fix windows build 2022-09-26 12:08:04 -04:00
yarikoptic
87b62210d7 report on windows FTBFS 2022-09-26 15:47:23 +00:00