Commit graph

32535 commits

Author SHA1 Message Date
jpds
209dd1f6c9 Added a comment 2023-02-02 15:53:34 +00:00
jwodder
16fab4676b 2023-02-01 19:55:29 +00:00
hurlebouc
35083c490a Added a comment 2023-02-01 12:26:05 +00:00
markus.l2ll@17cbf3ea36ca05f481e573fd58be50dce9bf8ef9
6aab372119 Added a comment: same error, same fix 2023-02-01 06:44:22 +00:00
jpds
048e77a04c Added a comment 2023-01-31 22:28:16 +00:00
Joey Hess
bc6e606014
analysis 2023-01-31 15:58:21 -04:00
Joey Hess
afd3cf4433
comment 2023-01-31 13:29:57 -04:00
hurlebouc
582dd16e63 2023-01-29 06:54:07 +00:00
jpds
dd923afc56 Added a comment 2023-01-28 00:00:13 +00:00
mih
363412f691 Added a comment: file:/// must be forced to file:// on windows 2023-01-27 09:19:10 +00:00
Joey Hess
da74f05a1e
add news item for git-annex 10.20230126 2023-01-26 15:27:44 -04:00
Joey Hess
8552b4e1a0
new linux autobuilder 2023-01-26 15:25:54 -04:00
aca
ac824ff96b Added a comment: thanks 2023-01-25 14:01:08 +00:00
nobodyinperson
d8d5564e69 Added a comment: Thank you!! 2023-01-24 21:15:50 +00:00
Joey Hess
b7c9d907e5
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-24 14:08:40 -04:00
Joey Hess
579d9b60c1
improve concurrency of move/copy --from --to
Use separate stages for download and upload. In the common case where
it downloads the file from one remote and then uploads to the other,
those are by far the most expensive operations, and there's a decent
chance the two remotes bottleneck on different resources.

Suppose it's being run with -J2 and a bunch of 10 mb files. Two threads
will be started both downloading from the src remote. They will probably
finish at the same time. Then two threads will be started uploading to
the dst remote. They will probably take the same time as well. Before
this change, it would alternate back and forth, bottlenecking on src and dst.
With this change, as soon as the two threads start uploading to dst, two
more threads are able to start, downloading from src. So bandwidth to
both remotes is saturated more often.

Other commands that use transferStages only send in one direction at a
time. So the worker threads for the other direction will sit idle, and
there will be no change in their behavior.

Sponsored-by: Dartmouth College's DANDI project
2023-01-24 13:59:39 -04:00
jpds
50af8467e3 Added a comment 2023-01-24 15:55:36 +00:00
nobodyinperson
4edae1430a Added a comment 2023-01-23 22:55:11 +00:00
nobodyinperson
c2c405d45a Added a comment 2023-01-23 22:38:28 +00:00
Joey Hess
57987ed2cd
update 2023-01-23 18:08:55 -04:00
Joey Hess
62f8a26dd9
Merge branch 'fromto' 2023-01-23 18:01:57 -04:00
Joey Hess
2a9999f5f1
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-23 18:01:12 -04:00
Joey Hess
1ee72de32e
done 2023-01-23 17:57:15 -04:00
Joey Hess
77266e46dd
fix behavior of copy --from --to
Sponsored-by: Dartmouth College's DANDI project
2023-01-23 17:55:16 -04:00
Joey Hess
3585481470
Merge branch 'master' into fromto 2023-01-23 17:44:44 -04:00
Joey Hess
acc3f6211f
finishing up move --from --to
Lock the local content for drop after getting it from src, to prevent another
process from using the local content as a copy and dropping it from src,
which would prevent dropping the local content after sending it to dest.

Support resuming an interrupted move that downloaded the content from
src, leaving the local content populated. In this case, the location log
has not been updated to say the content is present locally, so we can
assume that it's resuming and go ahead and drop the local content after
sending it to dest.

Note that if a `git-annex get` is being ran at the same time as a
`git-annex move --from --to`, it may get a file just before the move
processes it. So the location log has not been updated yet, and the move
thinks it's resuming. Resulting in local copy being dropped after it's
sent to the dest. This race is something we'll just have to live with,
it seems.

I also gave up on the idea of checking if the location log had been updated
by a `git-annex get` that is ran at the same time. That wouldn't work, because
the location log is precached in the seek stage, so reading it again after
sending the content to dest would not notice changes made to it, unless the cache
were invalidated, which would slow it down a lot. That idea anyway was subject
to races where it would not detect the concurrent `git-annex get`.

So concurrent `git-annex get` will have results that may be surprising.
To make that less surprising, updated the documentation of this feature to
be explicit that it downloads content to the local repository
temporarily.

Sponsored-by: Dartmouth College's DANDI project
2023-01-23 17:43:48 -04:00
Joey Hess
05b2ae30f0
update 2023-01-23 12:45:01 -04:00
meribold
aad9581d11 Fix typo in heading that seems to result in git-annex-drop not showing up in man -k output 2023-01-22 15:25:35 +00:00
Joey Hess
45c338204f
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-20 11:23:24 -04:00
Joey Hess
5645017a03
comment 2023-01-20 11:23:04 -04:00
Joey Hess
6f95f821cb
remove --fast from man page
git-annex move does not actually behave any differently with --fast than
without it. (git-annex copy does)

(cherry picked from commit f74904ee2c)
2023-01-20 11:11:31 -04:00
nobodyinperson
f14346bf07 2023-01-20 10:29:33 +00:00
jpds
73cc3fcd12 Added a comment 2023-01-19 16:28:19 +00:00
jpds
dce215e11a Added a comment 2023-01-19 15:09:01 +00:00
jpds
c071ea267d Added a comment 2023-01-18 22:57:58 +00:00
jpds
da6504ee13 2023-01-18 22:45:06 +00:00
Joey Hess
f74904ee2c
remove --fast from man page
git-annex move does not actually behave any differently with --fast than
without it. (git-annex copy does)
2023-01-18 15:15:41 -04:00
Joey Hess
a6c1d9752b
move/copy: option parsing for --from with --to
Allowing --from and --to as an alternative to --from or --to
is hard to do with optparse-applicative!

The obvious approach of (pfrom <|> pto <|> pfromandto) does not work
when pfromandto uses the same option names as pfrom and pto do.
It compiles but the generated parser does not work for all desired
combinations.

Instead, have to parse optionally from and optionally to. When neither
is provided, the parser succeeds, but it's a result that can't be
handled. So, have to giveup after option parsing. There does not seem to
be a way to make an optparse-applicative Parser give up internally
either.

Also, need seek' because I first tried making fto be a where binding,
but that resulted in a hang when git-annex move was run without --from
or --to. I think because startConcurrency was not expecting the stages
value to contain an exception and so ended up blocking.

Sponsored-by: Dartmouth College's DANDI project
2023-01-18 14:42:39 -04:00
yarikoptic
ea44f2416c Added a comment 2023-01-18 17:55:50 +00:00
Joey Hess
2a92f5cc2c
comment 2023-01-18 13:05:47 -04:00
Joey Hess
f8bc208e89
findkeys: New command, very similar to git-annex find but operating on keys
I've long been asked for `git-annex find --all` or something like that,
but pushed back on it because I feel that the command is analagous to
find(1) and so it would be surprising for it to list keys rather than
files. So instead, add a new findkeys subcommand.

Note that the use of withKeyOptions is rather strange because usually
that is used to fall back to --all rather than listing files, but here
it's made to default to --all like behavior and never list files.

A performance thing that could be improved is that withKeyOptions
always reads and caches location logs. But findkeys with no options does
not need them, so it could be made faster. That caching does speed up
options like --in though. This is really just a subset of a more general
performance thing that --all reads location logs sometimes unncessarily.
Anyway, it needs to read the location log in order to checkDead,
and it seems good that findkeys does skip dead keys.

Also, cleaned up comments on git-annex-find man page asking for --all
option.

Sponsored-by: Dartmouth College's DANDI project
2023-01-17 14:51:57 -04:00
Joey Hess
ce241f9aa9
comment 2023-01-17 13:10:28 -04:00
Joey Hess
eb5b072e2e
comment 2023-01-17 13:08:49 -04:00
daven.quinn@d0ed4e0e5e4462d9a74a5d5a8fbd1b17f85db13e
be6aec3100 Added a comment: comment 1 response 2023-01-16 21:45:35 +00:00
yarikoptic
e42ac8844e Added a comment 2023-01-16 21:43:40 +00:00
yarikoptic
fdca11e815 Added a comment 2023-01-16 21:32:09 +00:00
yarikoptic
4890c70a1b Added a comment 2023-01-16 21:27:12 +00:00
Joey Hess
fdd0b4bae0
comment 2023-01-16 16:12:16 -04:00
Joey Hess
c172855a7f
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-16 15:53:14 -04:00
Joey Hess
e97da33773
comment 2023-01-16 15:52:52 -04:00