Commit graph

2630 commits

Author SHA1 Message Date
Joey Hess
0dd6ba302e
close 2019-08-05 13:44:24 -04:00
Joey Hess
74a36b8262
comment 2019-08-01 12:36:06 -04:00
Joey Hess
3d301dfb9f
comment 2019-08-01 12:26:28 -04:00
Joey Hess
018b5b8173
Support building with socks-0.6 and persistant-template-2.7
persistent-template now needs UndecidableInstances.

socks changed defaultSocksConf to take a SockAddr.
2019-07-30 12:50:48 -04:00
Joey Hess
c634dae66b
wacky ideas 2019-07-30 12:13:00 -04:00
Joey Hess
ee3885d152
git-lfs branch 2019-07-29 15:48:52 -04:00
Joey Hess
724ebec3f0
lfs deep dive 2019-07-29 12:28:07 -04:00
Ilya_Shlyakhter
5759065e18 added suggestion to let git-annex-export export non-annexed files 2019-07-26 00:36:18 +00:00
Dan
8fcf9ff7c6 Added a comment: git annex sync commits changes, too? 2019-07-22 17:25:39 +00:00
Dan
adc2ac1a89 Added a comment: Still Wanted 2019-07-22 17:06:21 +00:00
Joey Hess
875c7b5cc9
windows long filenames should be fixed now by new ghc 2019-07-22 09:44:09 -04:00
Joey Hess
7ea98e00d0
todo 2019-07-19 14:49:26 -04:00
Joey Hess
05e3b93b89
comment 2019-07-19 13:22:09 -04:00
Joey Hess
cf6152575a
comment, open related todo 2019-07-19 13:10:17 -04:00
Ilya_Shlyakhter
8ba9aae481 added a request for more extensive retrying of transiently-failing operations 2019-07-08 16:30:37 +00:00
Joey Hess
8f26422943
Merge branch 'master' of ssh://git-annex.branchable.com 2019-07-05 09:49:57 -04:00
Ilya_Shlyakhter
1c25bfc88c Added a comment: status of v7 2019-07-02 18:45:52 +00:00
Ilya_Shlyakhter
47f16c8915 Added a comment 2019-07-02 18:36:16 +00:00
yarikoptic
067050c5c7 Added a comment: I wonder if "thin mode" could generalize beyond hardlinks 2019-07-01 16:19:47 +00:00
Ilya_Shlyakhter
607bb3c208 Added a comment: verifying and external backends 2019-06-28 17:14:18 +00:00
Ilya_Shlyakhter
3388722110 Added a comment: dockerized external backends 2019-06-28 16:36:10 +00:00
Ilya_Shlyakhter
24378d94e6 Added a comment: read-only unlock of only some files 2019-06-28 15:57:05 +00:00
Joey Hess
dfe30c8a6c
todo 2019-06-28 10:59:20 -04:00
Joey Hess
c05c73657c
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-27 19:08:46 -04:00
Joey Hess
a9f7e013a0
todo 2019-06-27 19:08:27 -04:00
Joey Hess
fb72f4db64
comment 2019-06-27 10:44:35 -04:00
Ilya_Shlyakhter
b168a06b82 Added a comment 2019-06-26 20:38:19 +00:00
Ilya_Shlyakhter
8ae3197940 Added a comment: some todos that external backends would obviate (fix formatting, add one) 2019-06-26 20:25:51 +00:00
Ilya_Shlyakhter
13794595d6 Added a comment 2019-06-26 20:15:19 +00:00
Joey Hess
732f03b202
comment 2019-06-26 11:58:53 -04:00
Joey Hess
3bb8b62699
comments 2019-06-26 11:23:41 -04:00
Joey Hess
42c386fc47
add: Display progress meter when hashing files.
* add: Display progress meter when hashing files.
* add: Support --json-progress option.
2019-06-25 13:12:47 -04:00
Joey Hess
191bdaafc5
comment 2019-06-25 11:08:45 -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
Joey Hess
e19408ed9d
Merge branch 'master' of ssh://git-annex.branchable.com 2019-06-17 15:26:57 -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
e589a9b3fc
moving this to a bug 2019-06-12 15:00:14 -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
Joey Hess
3893d84764
todo 2019-06-06 12:02:27 -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
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
cd5e8be2dc
comment 2019-05-23 13:36:59 -04:00
Joey Hess
e06feb7316
honor preferred content when importing
Importing from a special remote honors its preferred content too; unwanted
files are not imported. But, some preferred content expressions can't be
checked before files are imported, and trying to import with such an
expression will fail.

Tested this with scenarios including changing the preferred content
expression and making sure merging the import didn't delete files that were
no longer wanted.

There was one minor inefficiency mentioned in the todo that I punted on.
2019-05-21 14:38:06 -04:00
Joey Hess
ec11575d17
hairyness 2019-05-21 12:54:57 -04:00
Joey Hess
3b9a19171a
Merge branch 'master' into preferred 2019-05-21 11:34:45 -04:00
Joey Hess
5e1221ad53
Improve shape of commit tree when importing from unversioned special remotes
Make the import have the previous import as a parent, so eg `git log --stat`
displays a useful diff.

Also a minor optimisation, only calculate the depth of the imported history
once.
2019-05-21 11:32:54 -04:00