Commit graph

10916 commits

Author SHA1 Message Date
Joey Hess
b117f9338d
open todo 2021-10-12 13:42:08 -04:00
Joey Hess
c2a44eab50
move gpg tmp home to system temp dir
test: Put gpg temp home directory in system temp directory, not filesystem
being tested.

Since I've found indications gpg can fail talking to the agent when the
socket ends up on eg, fat. And to hopefully fix this bug report I've
followed up on.

The main risk in using the system temp dir is that TMPDIR could be set to a
long directory path, which is too long to put a unix socket in. To
partially amelorate that risk, it uses either an absolute or a relative
path, whichever is shorter. (Hopefully gpg will not convert it to a longer
form of the path..)

If the user sets TMPDIR to something so long a path to it +
"S.gpg-agent" is too long, I suppose that's their issue to deal with.

Sponsored-by: Dartmouth College's Datalad project
2021-10-12 13:29:56 -04:00
Joey Hess
1b79f2404d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-08 13:27:23 -04:00
Joey Hess
022bb6174c
Merge branch 'borgchunks' 2021-10-08 13:26:45 -04:00
Joey Hess
69f8e6c7c0
ImportableContentsChunkable
This improves the borg special remote memory usage, by
letting it only load one archive's worth of filenames into memory at a
time, and building up a larger tree out of the chunks.

When a borg repository has many archives, git-annex could easily OOM
before. Now, it will use only memory proportional to the number of
annexed keys in an archive.

Minor implementation wart: Each new chunk re-opens the content
identifier database, and also a new vector clock is used for each chunk.
This is a minor innefficiency only; the use of continuations makes
it hard to avoid, although putting the database handle into a Reader
monad would be one way to fix it.

It may later be possible to extend the ImportableContentsChunkable
interface to remotes that are not third-party populated. However, that
would perhaps need an interface that does not use continuations.

The ImportableContentsChunkable interface currently does not allow
populating the top of the tree with anything other than subtrees. It
would be easy to extend it to allow putting files in that tree, but borg
doesn't need that so I left it out for now.

Sponsored-by: Noam Kremen on Patreon
2021-10-08 13:15:22 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
392a886263 Added a comment 2021-10-07 06:21:25 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
50c2bd49e5 Added a comment 2021-10-06 21:10:34 +00:00
Joey Hess
e9b0cf08eb
branch 2021-10-06 17:08:57 -04:00
Joey Hess
153f3600fb
progress in my head 2021-10-06 14:45:12 -04:00
Joey Hess
68b4fc6018
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-05 20:28:26 -04:00
Joey Hess
19e78816f0
convert Key to ShortByteString
This adds the overhead of a copy when serializing and deserializing keys.
I have not benchmarked much, but runtimes seem barely changed at all by that.

When a lot of keys are in memory, it improves memory use.

And, it prevents keys sometimes getting PINNED in memory and failing to GC,
which is a problem ByteString has sometimes. In particular, git-annex sync
from a borg special remote had that problem and this improved its memory
use by a large amount.

Sponsored-by: Shae Erisson on Patreon
2021-10-05 20:20:08 -04:00
Joey Hess
012b71e471
comment and correct incorrect info in previous comment 2021-10-05 19:05:20 -04:00
tomdhunt
a40f70b388 Added a comment 2021-10-05 22:07:45 +00:00
tomdhunt
3718dc0fbe Added a comment 2021-10-05 21:30:03 +00:00
Joey Hess
250c031d06
comment 2021-10-05 17:20:32 -04:00
Joey Hess
1d23d8463a
update 2021-10-05 16:51:54 -04:00
Joey Hess
fac1954b60
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-05 16:33:44 -04:00
Joey Hess
c69a5af531
comment 2021-10-05 16:32:10 -04:00
tomdhunt
f72ac0249a Added a comment 2021-10-05 19:08:23 +00:00
Joey Hess
45dfddd33f
convert ExportLocation to ShortByteString to avoid PINNED memory fragmentation
This adds the overhead of a copy whenever converting to/from ExportLocation and
ImportLocation.

borg: Some improvements to memory use when importing a lot of archives.
(It's still pretty bad.)

Sponsored-by: Mark Reidenbach on Patreon
2021-10-05 14:51:55 -04:00
Joey Hess
8b4f331b09
update 2021-10-05 13:24:31 -04:00
Joey Hess
368ceb93fe
comment 2021-10-05 13:11:20 -04:00
Joey Hess
a8ceb2b64e
promote comment to bug 2021-10-05 11:55:33 -04:00
jkniiv
0d664d0d33 Added a comment 2021-10-02 19:58:17 +00:00
Joey Hess
b9a1cc512d
avoid uncessary call to inAnnex
sync --content: Avoid a redundant checksum of a file that was
incrementally verified, when used on NTFS and perhaps other filesystems.

When sync has just gotten the content, it does not need to check inAnnex a
second time. On NTFS, for some reason the write of the inode cache after
it gets the content is not immediately able to be read, and with an
empty/non-matching inode cache due to that stale data, inAnnex falls back
to hashing the whole object to determine if it's present.

Sponsored-by: Brock Spratlen on Patreon
2021-10-01 12:02:35 -04:00
Joey Hess
17a31f8e1b
analysis 2021-10-01 11:49:12 -04:00
Joey Hess
42c6bc6c3e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-30 15:20:59 -04:00
Joey Hess
620685c73c
started analysis 2021-09-30 15:20:44 -04:00
jkniiv
a57c4f4482 Added a comment: Email resent from my personal domain jibun.eu 2021-09-30 18:22:44 +00:00
Joey Hess
8f3f25337a
comment 2021-09-30 12:52:02 -04:00
jkniiv
e01676a25c Added a comment 2021-09-29 04:38:08 +00:00
Joey Hess
07e160e589
comment 2021-09-28 17:58:10 -04:00
Joey Hess
2d154bfa54
comment 2021-09-28 16:33:21 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
3ee5df48a5 Added a comment 2021-09-28 19:19:20 +00:00
Joey Hess
5802edb16c
comment 2021-09-28 14:14:37 -04:00
Joey Hess
6c7c568a27
response 2021-09-28 14:09:56 -04:00
Joey Hess
d322de3cc7
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-28 14:00:44 -04:00
Joey Hess
824b147286
followup 2021-09-28 14:00:10 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
3194b6ed35 Added a comment 2021-09-28 12:53:14 +00:00
Joey Hess
5bc83b52d8
comment 2021-09-27 12:35:15 -04:00
Joey Hess
0e2e7b143f
comment 2021-09-27 12:18:30 -04:00
Joey Hess
03963f8099
response 2021-09-27 12:14:25 -04:00
Joey Hess
a2222b5259
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-25 11:17:45 -04:00
jkniiv
d4627d91a1 Added a comment 2021-09-25 06:05:40 +00:00
jkniiv
c688d549d7 Added a comment 2021-09-25 05:47:16 +00:00
Joey Hess
91eb8a5df5
comment 2021-09-24 18:33:34 -04:00
bmx007@171b90624bc8f788a2a925a00b98aef5942e4787
177de6f8e5 Added a comment: comment 2 2021-09-24 20:08:22 +00:00
Joey Hess
c65a87c7d5
formatting 2021-09-24 14:21:55 -04:00
Joey Hess
ee16a8ea11
respond and close as not a bug 2021-09-24 14:20:40 -04:00
Joey Hess
a4a6fa1641
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-24 14:15:46 -04:00
Joey Hess
9ea8106bb0
sped up git-annex smudge --clean by 25%
Disabling git-annex branch update for this command is
ok, because it does not use any information from the branch,
but only logs the location when it adds a key.

Sponsored-by: Dartmouth College's Datalad project
2021-09-24 14:15:20 -04:00
weinzwang
d712ed516a Added a comment 2021-09-23 21:40:51 +00:00
Joey Hess
e6c0bbd645
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-23 17:23:24 -04:00
Joey Hess
9c8f43ab69
comment 2021-09-23 17:23:06 -04:00
bmx007
6c3baa55ca 2021-09-23 19:18:49 +00:00
mih
300d7db57a Added a comment: v7 v v8 comparison 2021-09-23 06:29:30 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
3751fc0af4 Added a comment 2021-09-22 21:18:10 +00:00
Joey Hess
94a9116175
comment 2021-09-22 16:28:06 -04:00
Joey Hess
db2f364359
followup 2021-09-22 15:31:04 -04:00
mih
0f38387d60 Added a comment: Performance stats on crippled Debian NTFS-mount 2021-09-22 18:37:10 +00:00
Joey Hess
63d508e885
resume properly when copying a file to/from a local git remote is interrupted
Probably this fixes a reversion, but I don't know what version broke it.

This does use withOtherTmp for a temp file that could be quite large.
Though albeit a reflink copy that will not actually take up any space
as long as the file it was copied from still exists. So if the copy cow
succeeds but git-annex is interrupted just before that temp file gets
renamed into the usual .git/annex/tmp/ location, there is a risk that
the other temp directory ends up cluttered with a larger temp file than
later. It will eventually be cleaned up, and the changes of this being
a problem are small, so this seems like an acceptable thing to do.

Sponsored-by: Shae Erisson on Patreon
2021-09-21 17:43:35 -04:00
Joey Hess
c9dd63d67d
comment 2021-09-21 13:45:16 -04:00
Joey Hess
d7374f0629
close as dup 2021-09-21 13:31:42 -04:00
Joey Hess
72b5c1dca7
comment 2021-09-21 11:30:15 -04:00
mih
5a1387916e 2021-09-21 09:22:19 +00:00
weinzwang
3916e32492 fixed a typo 2021-09-19 21:46:42 +00:00
weinzwang
9eceb418c4 2021-09-19 16:02:33 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
2a0633f445 Added a comment 2021-09-10 14:41:17 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
3ec365abbc Added a comment 2021-09-10 14:28:23 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
cd54a8c916 2021-09-10 13:57:53 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
6f9181df12 2021-09-10 13:56:58 +00:00
Joey Hess
853babc596
response and close 2021-09-08 12:12:11 -04:00
anarcat
478d7aa937 some weird corner case that might be handled a little better? 2021-09-07 14:25:38 +00:00
Joey Hess
166e00b7c9
retitle 2021-09-06 15:32:53 -04:00
Joey Hess
0dc203b7c5
followup 2021-09-06 15:32:15 -04:00
Joey Hess
9b2c88cdaf
close 2021-09-06 14:27:15 -04:00
hoxu
36dfec099e 2021-09-04 10:32:00 +00:00
Joey Hess
f5b0bb33f1
close 2021-09-03 11:54:45 -04:00
Joey Hess
4208512e99
comment 2021-09-03 11:52:35 -04:00
Joey Hess
1d3f59a9db
close dup 2021-09-02 18:50:05 -04:00
Joey Hess
ec12537774
defer write permissions checking in import until after copy to repo
This should complete the fix started in
6329997ac4, fixing the actual cause of the
test suite failure this time.

Sponsored-by: Dartmouth College's Datalad project
2021-09-02 13:45:21 -04:00
Joey Hess
7b26222cbe
comment 2021-09-02 12:58:46 -04:00
Joey Hess
2241c7e879
reopen 2021-09-02 12:24:03 -04:00
Joey Hess
bd5494bb9c
fix windows build 2021-09-02 12:21:25 -04:00
jwodder
40adf643de 2021-09-02 14:48:00 +00:00
scy
ddd7d1d110 Added a comment 2021-09-02 08:17:03 +00:00
jkniiv
2bbfe30226 Added a comment 2021-09-02 05:24:14 +00:00
jkniiv
86b5b4d805 add author meta 2021-09-02 04:39:12 +00:00
jkniiv
f34bc033a1 commit 9595a247a doesn't compile on Windows without reverting a small previous change 2021-09-02 04:29:16 +00:00
yarikoptic
89ace6f1da Added a comment 2021-09-01 18:05:26 +00:00
yarikoptic
61432f97cd Added a comment 2021-09-01 16:22:22 +00:00
Joey Hess
9cd1430fd6
comment 2021-09-01 11:43:51 -04:00
yarikoptic
5f78f96d2b Added a comment: clarification 2021-09-01 15:39:06 +00:00
Joey Hess
9595a247ae
fix test suite failure on windows
This was maybe a real bug too, although I don't know what circumstances
it would be a problem. See comment for analysis of this windows drive
letter wackyness issue.

Sponsored-by: Brock Spratlen on Patreon
2021-09-01 11:32:25 -04:00
Joey Hess
6db7079cb0
close 2021-09-01 10:47:33 -04:00
Joey Hess
6329997ac4
init: check for filesystem where write bit cannot be removed
This fixes a reversion caused by a99a84f342,
when git-annex init is run as root on a FAT filesystem mounted with
hdiutil on OSX. Such a mount point has file mode 777 for everything and
it cannot be changed. The existing crippled filesystem test tried to
write to a file after removing write bit, but that test does not run as
root (since root can write to unwritable files). So added a check of the
write permissions of the file, after attempting to remove them.

Sponsored-by: Dartmouth College's Datalad project
2021-09-01 10:27:28 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
9a0eab9b0e prop_relPathDirToFileAbs_basics fails on occasion 2021-08-31 21:44:25 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
8ebba0dc31 Added a comment 2021-08-31 20:47:24 +00:00
yarikoptic
e2b52cb8af report on 2 tests fail on crippled FS on mac 2021-08-31 14:20:15 +00:00
yarikoptic
5ce0990017 initial report 2021-08-31 14:13:11 +00:00