Commit graph

25976 commits

Author SHA1 Message Date
Ilya_Shlyakhter
390749afb0 bug-fix release 2019-06-20 16:51:42 +00:00
Joey Hess
759fd9ea68
avoid url resume from 0
When downloading an url and the destination file exists but is empty,
avoid using http range to resume, since a range "bytes=0-" is an unusual
edge case that it's best to avoid relying on working.

This is known to fix a case where importfeed downloaded a partial feed from
such a server. Since importfeed uses withTmpFile, the destination always exists
empty, so it would particularly tickle such problem servers. Resuming from 0
is otherwise possible, but unlikely.
2019-06-20 12:26:17 -04:00
grmat@f46c69b114fc77408ff25d75efa4c7dc10b4c0b1
19de32c4e4 2019-06-20 09:07:09 +00:00
kyle
49d416089a Added a comment: annex-ignore and syncing 2019-06-20 02:37:27 +00:00
Joey Hess
0e1140ac47
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-19 18:45:17 -04:00
Joey Hess
19321e6892
devblog 2019-06-19 18:18:37 -04:00
Joey Hess
9d36c826c0
use fine-grained WorkerStages when transferring and verifying
This means that Command.Move and Command.Get don't need to
manually set the stage, and is a lot cleaner conceptually.

Also, this makes Command.Sync.syncFile use the worker pool better.
In the scenario where it first downloads content and then uploads it to
some other remotes, it will start in TransferStage, then enter VerifyStage
and then go back to TransferStage for each transfer to the remotes.
Before, it entered CleanupStage after the download, and stayed in it for
the upload, so too many transfer jobs could run at the same time.

Note that, in Remote.Git, it uses runTransfer and also verifyKeyContent
inside onLocal. That has a Annex state for the remote, with no worker pool.
So the resulting calls to enteringStage won't block in there.

While Remote.Git.copyToRemote does do checksum verification, I
realized that should not use a verification slot in the WorkerPool
to do it. Because, it's reading back from eg, a removable disk to checksum.
That will contend with other writes to that disk. It's best to treat
that checksum verification as just part of the transer. So, removed the todo
item about that, as there's nothing needing to be done.
2019-06-19 13:24:20 -04:00
Ilya_Shlyakhter
3a19ef7994 Added a comment 2019-06-19 16:51:31 +00:00
kyle
247bc21331 Added a comment: Set remote.<name>.annex-ignore 2019-06-19 14:18:20 +00:00
Ilya_Shlyakhter
03c7e06c2b added forum question about git-annex-sync errors with bitbucket.org 2019-06-18 19:56:21 +00:00
kyle
ce7b9ecae6 Added a comment: Issue with description cache? 2019-06-17 21:11:14 +00:00
anarcat
41ef54276b Added a comment: thanks! 2019-06-17 20:17:27 +00:00
Joey Hess
e19408ed9d
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-17 15:26:57 -04:00
Joey Hess
c31f4c0e66
devblog 2019-06-17 15:26:46 -04:00
Joey Hess
04cc470201
run download checksum verification in separate job pool
get, move, copy, sync: When -J or annex.jobs has enabled concurrency,
checksum verification uses a separate job pool than is used for
downloads, to keep bandwidth saturated.

Not yet done for upload checksum verification, but that only affects
remotes on local disks.
2019-06-17 14:58:02 -04:00
Joey Hess
1a8d06d251
thought 2019-06-17 11:50:18 -04:00
jsag@f84637fe752e0235291a118b1cd007bafad0997e
ae9f2d5e6a 2019-06-17 12:43:17 +00:00
Joey Hess
502ce3f243
Merge branch 'starting' 2019-06-15 12:42:10 -04:00
Joey Hess
76c0a38025
add news item for git-annex 7.20190615 2019-06-15 12:39:48 -04:00
artem
9c4744c3c2 2019-06-14 04:24:47 +00:00
Joey Hess
44de3fff0b
avoid rsync/gcrypt ssh startup delay with -J
Avoid a delay at startup when concurrency is enabled and there are
rsync or gcrypt special remotes, which was caused by git-annex
opening a ssh connection to the remote too early.

sshOptions makes a connection to the ssh server if one is not already open,
when concurrency is enabled. Avoid doing that at startup, when the remote
list is being built, but the remote may not be used at all.

Instead, rsync/gcrypt now runs sshOptions once per ssh connection to the
server. This should not be significant overhead since Remote.Git already
has the same overhead (as do Bup and Ddar).
2019-06-13 11:16:38 -04:00
Joey Hess
43805a0be9
devblog 2019-06-12 15:10:17 -04:00
Joey Hess
157f41427f
bug 2019-06-12 15:00:28 -04:00
Joey Hess
e589a9b3fc
moving this to a bug 2019-06-12 15:00:14 -04:00
Joey Hess
7b5aad2452
Merge commit '6f8322b8f72f3399d4c28426749db5d01742001d' into starting 2019-06-12 14:50:59 -04:00
Joey Hess
6f8322b8f7
close; not a bug 2019-06-12 14:45:25 -04:00
Joey Hess
8e5ea28c26
finish CommandStart transition
The hoped for optimisation of CommandStart with -J did not materialize.
In fact, not runnign CommandStart in parallel is slower than -J3.
So, CommandStart are still run in parallel.

(The actual bad performance I've been seeing with -J in my big repo
has to do with building the remoteList.)

But, this is still progress toward making -J faster, because it gets rid
of the onlyActionOn roadblock in the way of making CommandCleanup jobs
run separate from CommandPerform jobs.

Added OnlyActionOn constructor for ActionItem which fixes the
onlyActionOn breakage in the last commit.

Made CustomOutput include an ActionItem, so even things using it can
specify OnlyActionOn.

In Command.Move and Command.Sync, there were CommandStarts that used
includeCommandAction, so output messages, which is no longer allowed.
Fixed by using startingCustomOutput, but that's still not quite right,
since it prevents message display for the includeCommandAction run
inside it too.
2019-06-12 13:24:01 -04:00
Ilya_Shlyakhter
3820829407 re: status of v7 2019-06-12 15:53:12 +00:00
Ilya_Shlyakhter
d2658d9537 an issue involving repos cloned with --single-branch 2019-06-11 23:30:26 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
fd7f316482 Added a comment 2019-06-10 16:52:23 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
d5a0bf3ae9 clarify it's the new android installer 2019-06-10 16:38:44 +00:00
anthony@ad39673d230d75cbfd19d2757d754030049c7673
856affe859 initial report 2019-06-10 16:37:31 +00:00
kirelagin@6d93475882c55a329fedae6be1971868a775ec7e
c0f4788cdb Added a comment: Workaround? 2019-06-08 13:03:50 +00:00
Joey Hess
8d573a653b
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-07 19:34:46 -04:00
Joey Hess
1d92846e54
bug report from MacGyver.mdwn 2019-06-07 19:34:21 -04:00
jamie@b5676b90eec0401ca8faac7c972eaf5676891601
0424549599 removed 2019-06-07 15:19:15 +00:00
Joey Hess
132ec9e005
devblog 2019-06-06 17:16:30 -04:00
Joey Hess
3893d84764
todo 2019-06-06 12:02:27 -04:00
Joey Hess
6cefe071b1
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-05 20:19:27 -04:00
Joey Hess
4088ce49ce
devblog 2019-06-05 20:18:59 -04:00
Joey Hess
3eac4e01a4
idea 2019-06-05 19:43:01 -04:00
Joey Hess
659640e224
separate queue for cleanup actions
When running multiple concurrent actions, the cleanup phase is run in a
separate queue than the main action queue. This can make some commands
faster, because less time is spent on bookkeeping in between each file
transfer.

But as far as I can see, nothing will be sped up much by this yet, because
all the existing cleanup actions are very light-weight. This is just groundwork
for deferring checksum verification to cleanup time.

This change does mean that if the user expects -J2 will mean that they see no
more than 2 jobs running at a time, they may be surprised to see 4 in some
cases (if the cleanup actions are slow enough to notice).

It might also make sense to enable background cleanup without the -J,
for at least one cleanup action. Indeed, that's the behavior that -J1
has now. At some point in the future, it make make sense to make the
behavior with no -J the same as -J1. The only reason it's not currently
is that git-annex can build w/o concurrent-output, and also any bugs
in concurrent-output (such as perhaps misbehaving on non-VT100 compatible
terminals) are avoided by default by only using it when -J is used.
2019-06-05 17:54:35 -04:00
kyle
b390256bd1 Added a comment: uuid.log is also not created 2019-06-05 15:18:30 +00:00
kyle
0d60b2f2c5 2019-06-05 13:57:02 +00:00
Joey Hess
6e51b9ae88
clarify 2019-06-04 21:49:53 -04:00
Joey Hess
082e1f1738
Don't try to import .git directories from special remotes
Because git does not support storing git repositories inside a git
repository.
2019-06-04 15:14:20 -04:00
Joey Hess
500f72ec3d
comment typo 2019-06-04 14:40:07 -04:00
Joey Hess
7dcc815c29
more thoughts 2019-06-04 14:38:55 -04:00
Joey Hess
cd20dc4158
thoughts 2019-06-04 14:13:15 -04:00
Joey Hess
418e842d93
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-02 15:38:37 -04:00