jkniiv [Thu, 7 Oct 2021 04:12:48 +0000 (04:12 +0000)]
Added a comment: the WSL1 use case
jkniiv [Thu, 7 Oct 2021 03:56:37 +0000 (03:56 +0000)]
rename WSL1 section to highlight date, add wording about being experimental, reword some awkwardness, add further directions
Add steps for WSL1
Added a comment
Joey Hess [Wed, 6 Oct 2021 21:08:57 +0000 (17:08 -0400)]
branch
Joey Hess [Wed, 6 Oct 2021 18:45:12 +0000 (14:45 -0400)]
progress in my head
Joey Hess [Wed, 6 Oct 2021 13:04:12 +0000 (09:04 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
falsifian [Wed, 6 Oct 2021 03:36:02 +0000 (03:36 +0000)]
Added a comment
Joey Hess [Wed, 6 Oct 2021 01:27:06 +0000 (21:27 -0400)]
remove unused imports
Joey Hess [Wed, 6 Oct 2021 01:26:11 +0000 (21:26 -0400)]
minor optimisation
Joey Hess [Wed, 6 Oct 2021 00:28:26 +0000 (20:28 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 6 Oct 2021 00:25:51 +0000 (20:25 -0400)]
remove old and uncessary sanity check
All backends use genKeyName, which uses preSanitizeKeyName, which will
escape newlines.
I suspect this newline prevention was added back when git-annex was
reading the output of sha1sum..
Sponsored-by: Kevin Mueller on Patreon
Joey Hess [Wed, 6 Oct 2021 00:20:08 +0000 (20:20 -0400)]
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
Joey Hess [Tue, 5 Oct 2021 23:05:20 +0000 (19:05 -0400)]
comment and correct incorrect info in previous comment
tomdhunt [Tue, 5 Oct 2021 22:07:45 +0000 (22:07 +0000)]
Added a comment
tomdhunt [Tue, 5 Oct 2021 21:30:03 +0000 (21:30 +0000)]
Added a comment
Joey Hess [Tue, 5 Oct 2021 21:20:53 +0000 (17:20 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 5 Oct 2021 21:20:32 +0000 (17:20 -0400)]
comment
bjornw@6a7d7d0413efc7ed3bb44922586f040bb768b71c [Tue, 5 Oct 2021 21:09:44 +0000 (21:09 +0000)]
Added a comment: Thanks!
falsifian [Tue, 5 Oct 2021 20:55:32 +0000 (20:55 +0000)]
Added a comment
Joey Hess [Tue, 5 Oct 2021 20:51:54 +0000 (16:51 -0400)]
update
Joey Hess [Tue, 5 Oct 2021 20:33:44 +0000 (16:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 5 Oct 2021 20:32:10 +0000 (16:32 -0400)]
comment
Joey Hess [Tue, 5 Oct 2021 19:42:29 +0000 (15:42 -0400)]
use bytestring filepaths more
This should be more efficient, and allocate less.
Sponsored-by: Graham Spencer on Patreon
tomdhunt [Tue, 5 Oct 2021 19:08:23 +0000 (19:08 +0000)]
Added a comment
Joey Hess [Tue, 5 Oct 2021 18:51:55 +0000 (14:51 -0400)]
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
Joey Hess [Tue, 5 Oct 2021 17:24:31 +0000 (13:24 -0400)]
update
Joey Hess [Tue, 5 Oct 2021 17:11:20 +0000 (13:11 -0400)]
comment
Joey Hess [Tue, 5 Oct 2021 16:16:18 +0000 (12:16 -0400)]
response
Joey Hess [Tue, 5 Oct 2021 15:55:33 +0000 (11:55 -0400)]
promote comment to bug
Joey Hess [Tue, 5 Oct 2021 15:11:44 +0000 (11:11 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 5 Oct 2021 14:43:27 +0000 (10:43 -0400)]
update
Joey Hess [Sun, 3 Oct 2021 22:45:37 +0000 (18:45 -0400)]
comment
tomdhunt [Sun, 3 Oct 2021 22:30:04 +0000 (22:30 +0000)]
Added a comment: Memory issues
Joey Hess [Sun, 3 Oct 2021 22:18:30 +0000 (18:18 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sun, 3 Oct 2021 22:18:04 +0000 (18:18 -0400)]
remove errant print debug
falsifian [Sun, 3 Oct 2021 17:06:21 +0000 (17:06 +0000)]
jkniiv [Sat, 2 Oct 2021 19:58:17 +0000 (19:58 +0000)]
Added a comment
spwhitton [Sat, 2 Oct 2021 17:04:02 +0000 (17:04 +0000)]
Added a comment
Joey Hess [Sat, 2 Oct 2021 16:32:00 +0000 (12:32 -0400)]
remove information about old version of debian
alex@f04d0d3c452a2a99b27ccc93c1543bee4a1bf5be [Fri, 1 Oct 2021 23:27:31 +0000 (23:27 +0000)]
Added a comment: Resuming an interrupted download
alex@f04d0d3c452a2a99b27ccc93c1543bee4a1bf5be [Fri, 1 Oct 2021 23:22:19 +0000 (23:22 +0000)]
removed
alex@f04d0d3c452a2a99b27ccc93c1543bee4a1bf5be [Fri, 1 Oct 2021 23:18:33 +0000 (23:18 +0000)]
Added a comment: Resuming an interrupted download
Joey Hess [Fri, 1 Oct 2021 18:04:18 +0000 (14:04 -0400)]
reinject: Fix crash when reinjecting a file from outside the repository
Commit
4bf7940d6b912fbf692b268f621ebd41ed871125 introduced this
problem, but was otherwise doing a good thing. Problem being
that fileRef "/foo" used to return ":./foo", which was actually wrong,
but as long as there was no foo in the local repository, catKey
could operate on it without crashing. After that fix though, fileRef
would return eg "../../foo", resulting in fileRef returning
":./../../foo", which will make git cat-file crash since that's
not a valid path in the repo.
Fix is simply to make fileRef detect paths outside the repo and return
Nothing. Then catKey can be skipped. This needed several bugfixes to
dirContains as well, in previous commits.
In Command.Smudge, this led to needing to check for Nothing. That case
should actually never happen, because the fileoutsiderepo check will
detect it earlier.
Sponsored-by: Brock Spratlen on Patreon
Joey Hess [Fri, 1 Oct 2021 17:42:15 +0000 (13:42 -0400)]
fix bug in dirContains
dirContains "." ".." was incorrectly true
because normalize ("." </> "..") = ".."
Sponsored-by: Jochen Bartl on Patreon
Joey Hess [Fri, 1 Oct 2021 17:15:52 +0000 (13:15 -0400)]
fix bug in dirContains
dirContains ".." "../.." was incorrectly True.
This does not seem to be an exploitable security hole, at least
as dirContains is used in git-annex.
Sponsored-by: Jochen Bartl on Patreon
Joey Hess [Fri, 1 Oct 2021 16:35:29 +0000 (12:35 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 1 Oct 2021 16:02:35 +0000 (12:02 -0400)]
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
Joey Hess [Fri, 1 Oct 2021 15:49:12 +0000 (11:49 -0400)]
analysis
spwhitton [Thu, 30 Sep 2021 21:19:39 +0000 (21:19 +0000)]
add sign off
spwhitton [Thu, 30 Sep 2021 21:15:04 +0000 (21:15 +0000)]
post bug
Joey Hess [Thu, 30 Sep 2021 19:20:59 +0000 (15:20 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 30 Sep 2021 19:20:44 +0000 (15:20 -0400)]
started analysis
jkniiv [Thu, 30 Sep 2021 18:22:44 +0000 (18:22 +0000)]
Added a comment: Email resent from my personal domain jibun.eu
Joey Hess [Thu, 30 Sep 2021 18:12:58 +0000 (14:12 -0400)]
note about coreutils 9.0 supporting CoW by default
Joey Hess [Thu, 30 Sep 2021 16:52:02 +0000 (12:52 -0400)]
comment
jkniiv [Wed, 29 Sep 2021 04:38:08 +0000 (04:38 +0000)]
Added a comment
username [Tue, 28 Sep 2021 22:56:17 +0000 (22:56 +0000)]
Added a comment
Joey Hess [Tue, 28 Sep 2021 21:58:10 +0000 (17:58 -0400)]
comment
Joey Hess [Tue, 28 Sep 2021 20:33:21 +0000 (16:33 -0400)]
comment
Added a comment
Joey Hess [Tue, 28 Sep 2021 18:14:37 +0000 (14:14 -0400)]
comment
Joey Hess [Tue, 28 Sep 2021 18:09:56 +0000 (14:09 -0400)]
response
Joey Hess [Tue, 28 Sep 2021 18:00:44 +0000 (14:00 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 28 Sep 2021 18:00:10 +0000 (14:00 -0400)]
followup
Added a comment
Joey Hess [Mon, 27 Sep 2021 20:03:01 +0000 (16:03 -0400)]
resume properly when copying a file to/from a local git remote is interrupted (take 2)
This method avoids breaking test_readonly. Just check if the dest file
exists, and avoid CoW probing when it does, so when CoW probing fails,
it can resume where the previous non-CoW copy left off.
If CoW has been probed already to work, delete the dest file
since a CoW copy will presumably work. It seems like it would be almost
as good to just skip CoW copying in this case too, but consider that the
dest file might have started to be copied from some other remote, not
using CoW, but CoW has been probed to work to copy from the current
place.
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Mon, 27 Sep 2021 19:53:12 +0000 (15:53 -0400)]
revert change that broke test_readonly
commit
63d508e8855b2e61a725c906ea17d1c7f4a2e125 broke test_readonly.
When a local git remote is readonly, tryCopyCoW run to copy a file
from it failed at withOtherTmp.
Sponsored-by: Dartmouth College's Datalad project
Joey Hess [Mon, 27 Sep 2021 18:14:52 +0000 (14:14 -0400)]
comment
Joey Hess [Mon, 27 Sep 2021 17:59:54 +0000 (13:59 -0400)]
comment
Joey Hess [Mon, 27 Sep 2021 16:53:35 +0000 (12:53 -0400)]
comment
Joey Hess [Mon, 27 Sep 2021 16:52:30 +0000 (12:52 -0400)]
improve function name
onAddUnlocked suggested that it had to add the file locked, but it
doesn't, it only queues the add of the file, and it's up to the
committer what to do -- which is currently indeed to always add the file
locked.
Joey Hess [Mon, 27 Sep 2021 16:35:15 +0000 (12:35 -0400)]
comment
Joey Hess [Mon, 27 Sep 2021 16:18:30 +0000 (12:18 -0400)]
comment
Joey Hess [Mon, 27 Sep 2021 16:14:25 +0000 (12:14 -0400)]
response
Joey Hess [Sat, 25 Sep 2021 15:17:45 +0000 (11:17 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
jkniiv [Sat, 25 Sep 2021 06:05:40 +0000 (06:05 +0000)]
Added a comment
jkniiv [Sat, 25 Sep 2021 05:47:16 +0000 (05:47 +0000)]
Added a comment
Joey Hess [Fri, 24 Sep 2021 22:33:34 +0000 (18:33 -0400)]
comment
bmx007@171b90624bc8f788a2a925a00b98aef5942e4787 [Fri, 24 Sep 2021 20:08:22 +0000 (20:08 +0000)]
Added a comment: comment 2
Joey Hess [Fri, 24 Sep 2021 18:21:55 +0000 (14:21 -0400)]
formatting
Joey Hess [Fri, 24 Sep 2021 18:20:40 +0000 (14:20 -0400)]
respond and close as not a bug
Joey Hess [Fri, 24 Sep 2021 18:15:46 +0000 (14:15 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 24 Sep 2021 18:15:20 +0000 (14:15 -0400)]
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
Joey Hess [Fri, 24 Sep 2021 17:16:13 +0000 (13:16 -0400)]
separate handles for cat-file and cat-file --batch-check
This avoids starting one process when only the other one is needed.
Eg in git-annex smudge --clean, this reduces the total number of
cat-file processes that are started from 4 to 2.
The only performance penalty is that when both are needed, it has to do
twice as much work to maintain the two Maps. But both are very small,
consisting of 1 or 2 items, so that work is negligible.
Sponsored-by: Dartmouth College's Datalad project
weinzwang [Thu, 23 Sep 2021 21:40:51 +0000 (21:40 +0000)]
Added a comment
Joey Hess [Thu, 23 Sep 2021 21:23:24 +0000 (17:23 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 23 Sep 2021 21:23:06 +0000 (17:23 -0400)]
comment
bmx007 [Thu, 23 Sep 2021 19:18:49 +0000 (19:18 +0000)]
mih [Thu, 23 Sep 2021 06:29:30 +0000 (06:29 +0000)]
Added a comment: v7 v v8 comparison
Joey Hess [Wed, 22 Sep 2021 23:29:47 +0000 (19:29 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 22 Sep 2021 22:38:15 +0000 (18:38 -0400)]
avoid potentially very long bwlimit delay at start
I first saw this getting with -J2 over ssh, but later saw it also
without the -J2. It was resuming, and the calulated unboundDelay was
many minutes. The first update of the meter jumped to some large value,
because of the resuming, and so it thought the BW was super fast.
Avoid by waiting until the second meter update.
Might be a good idea to also guard for the delay being many seconds
and avoid waiting. But how many? If BW is legitimately super fast, and a
remote happens to read more than a 32kb or so chunk at a time, it could
in theory download megabytes or gigabytes of data before the first meter
update. It would actually be appropriate then to delay for a long time,
if the desired BW was low. Could make up some numbers that are sane now,
but tech may improve.
(BTW, pleased to see bwlimit does work with -J. I had worried that
it might not, if the meter update happened in a different thread than
the downloading, but it's done in the same thread.)
Sponsored-by: Brett Eisenberg on Patreon
mike@2d6d71f56ce2a992244350475251df87c26fe351 [Wed, 22 Sep 2021 21:18:10 +0000 (21:18 +0000)]
Added a comment
Joey Hess [Wed, 22 Sep 2021 20:28:06 +0000 (16:28 -0400)]
comment
Joey Hess [Wed, 22 Sep 2021 19:31:04 +0000 (15:31 -0400)]
followup
Joey Hess [Wed, 22 Sep 2021 19:29:52 +0000 (15:29 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 22 Sep 2021 19:29:07 +0000 (15:29 -0400)]
mention tiny wart
Joey Hess [Wed, 22 Sep 2021 19:27:28 +0000 (15:27 -0400)]
Merge branch 'bwlimit'
Joey Hess [Wed, 22 Sep 2021 19:14:28 +0000 (15:14 -0400)]
improved bwrate limiting implementation
New method is much better. Avoids unrestrained transfer at the beginning
(except for the first block. Keeps right at or a few kb/s below the
configured limit, with very little varation in the actual reported bandwidth.
Removed the /s part of the config as it's not needed.
Ready to merge.
Sponsored-by: Luke Shumaker on Patreon