update for rename of forum/assistant.mdwn to forum/__96__git_annex_assistant__96___command_replace_all_files_with_pointer_file..mdwn
update for rename of forum/assistant.mdwn to forum/__96__git_annex_assistant__96___command_replace_all_files_with_pointer_file..mdwn
rename forum/assistant.mdwn to forum/__96__git_annex_assistant__96___command_replace_all_files_with_pointer_file..mdwn
jstritch [Sat, 3 Feb 2024 18:48:36 +0000 (18:48 +0000)]
jstritch [Sat, 3 Feb 2024 18:46:58 +0000 (18:46 +0000)]
yarikoptic [Sat, 3 Feb 2024 01:17:39 +0000 (01:17 +0000)]
Added a comment
Joey Hess [Fri, 2 Feb 2024 19:57:07 +0000 (15:57 -0400)]
fix importfeed --force skip behavior reversion
importfeed --force: Don't treat it as a failure when an already downloaded
file exists. (Fixes a behavior change introduced in 10.
20230626.)
04ee6c4c6b2 caused the reversion. Inside a CommandPerform, stop causes it
to fail. Before that commit, it was inside a CommandStart, where stop
causes it to skip.
Joey Hess [Fri, 2 Feb 2024 19:50:41 +0000 (15:50 -0400)]
compare urls irrespective of downloader
importfeed --force: Avoid creating duplicates of existing already
downloaded files when yt-dlp or a special remote was used.
Joey Hess [Fri, 2 Feb 2024 19:26:27 +0000 (15:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 2 Feb 2024 19:25:27 +0000 (15:25 -0400)]
comment
yarikoptic [Fri, 2 Feb 2024 19:08:38 +0000 (19:08 +0000)]
Added a comment
Joey Hess [Fri, 2 Feb 2024 18:43:19 +0000 (14:43 -0400)]
oddly groundhog's day thematic response
Joey Hess [Fri, 2 Feb 2024 18:32:12 +0000 (14:32 -0400)]
followup
yarikoptic [Fri, 2 Feb 2024 17:07:52 +0000 (17:07 +0000)]
the plea to respect prepare-commit-msg hook
yarikoptic [Fri, 2 Feb 2024 16:27:20 +0000 (16:27 +0000)]
todo for support of pushinsteadof
jstritch [Thu, 1 Feb 2024 20:49:12 +0000 (20:49 +0000)]
Added a comment
jstritch [Thu, 1 Feb 2024 17:40:27 +0000 (17:40 +0000)]
Added a comment: combine worm with partial hash
jstritch [Wed, 31 Jan 2024 22:12:47 +0000 (22:12 +0000)]
Added a comment
yarikoptic [Wed, 31 Jan 2024 20:40:44 +0000 (20:40 +0000)]
question about migrating URLs between remotes
yarikoptic [Wed, 31 Jan 2024 20:35:03 +0000 (20:35 +0000)]
Initial desire for `addurl --raw-except`
yarikoptic [Wed, 31 Jan 2024 19:23:23 +0000 (19:23 +0000)]
Added a comment
yarikoptic [Wed, 31 Jan 2024 19:19:31 +0000 (19:19 +0000)]
question about importfeed.
Joey Hess [Tue, 30 Jan 2024 20:12:33 +0000 (16:12 -0400)]
update docs for --scrape
Joey Hess [Tue, 30 Jan 2024 19:51:33 +0000 (15:51 -0400)]
followup and close
Joey Hess [Tue, 30 Jan 2024 19:41:28 +0000 (15:41 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 30 Jan 2024 19:37:29 +0000 (15:37 -0400)]
importfeed: Added --scrape option
Which uses yt-dlp to screen scrape the equivilant of an RSS feed.
Note that youtubedlscraped is a speed optimisation. Since yt-dlp found
the urls, we know it can download them. That avoids calling
youtubeDlSupported on each url, which makes --fast a lot faster.
Almost all the same metadata fields and file formatting fields are
populated, when yt-dlp is able to get the data. Note that yt-dlp has some
additional useful metadata that could be exposed. But, much of it is
specific to particular websites, and it would be hard to document on the
git-annex importfeed man page.
Sponsored-by: unqueued on Patreon
Joey Hess [Tue, 30 Jan 2024 18:00:56 +0000 (14:00 -0400)]
move Feed and Item out of ToDownload
This is groundwork for producing ToDownload in other ways, that may not
be entirely isomorphic with feeds. Eg by using yt-dlp.
jstritch [Tue, 30 Jan 2024 16:41:57 +0000 (16:41 +0000)]
yarikoptic [Tue, 30 Jan 2024 16:20:45 +0000 (16:20 +0000)]
ask for better documentation.
yarikoptic [Mon, 29 Jan 2024 22:03:47 +0000 (22:03 +0000)]
error out if yt-dlp sees that video is/was there but not available
Joey Hess [Mon, 29 Jan 2024 18:12:20 +0000 (14:12 -0400)]
add news item for git-annex 10.
20240129
Joey Hess [Mon, 29 Jan 2024 18:12:12 +0000 (14:12 -0400)]
releasing package git-annex version 10.
20240129
Joey Hess [Thu, 25 Jan 2024 18:28:19 +0000 (14:28 -0400)]
improve changelog
Joey Hess [Thu, 25 Jan 2024 18:11:20 +0000 (14:11 -0400)]
comment
Joey Hess [Thu, 25 Jan 2024 18:08:36 +0000 (14:08 -0400)]
webapp: Added --port option, and annex.port config
The getSocket comment that mentioned using ":port"
in the hostname seems to have been incorrect or be out of date.
After all, the bug report came when the user first tried doing that,
and it didn't work.
Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
Joey Hess [Thu, 25 Jan 2024 17:28:23 +0000 (13:28 -0400)]
close
Joey Hess [Thu, 25 Jan 2024 17:25:15 +0000 (13:25 -0400)]
confirm this todo
Joey Hess [Thu, 25 Jan 2024 17:16:25 +0000 (13:16 -0400)]
close
Joey Hess [Thu, 25 Jan 2024 17:15:13 +0000 (13:15 -0400)]
update
Joey Hess [Thu, 25 Jan 2024 17:10:45 +0000 (13:10 -0400)]
nack
Joey Hess [Thu, 25 Jan 2024 17:05:52 +0000 (13:05 -0400)]
nack
Joey Hess [Thu, 25 Jan 2024 17:04:35 +0000 (13:04 -0400)]
nack
Joey Hess [Thu, 25 Jan 2024 16:58:16 +0000 (12:58 -0400)]
close
Joey Hess [Thu, 25 Jan 2024 16:56:41 +0000 (12:56 -0400)]
Added --expected-present file matching option
Joey Hess [Thu, 25 Jan 2024 15:53:57 +0000 (11:53 -0400)]
comment
Joey Hess [Tue, 23 Jan 2024 16:55:44 +0000 (12:55 -0400)]
comment
Joey Hess [Sat, 20 Jan 2024 15:25:22 +0000 (11:25 -0400)]
update comment
The segfault seems to be fixed with git 2.43, I'm not sure what the
affected range was.
Joey Hess [Sat, 20 Jan 2024 00:41:55 +0000 (20:41 -0400)]
fix example that combined encryption=shared with keyid=
Joey Hess [Fri, 19 Jan 2024 19:31:13 +0000 (15:31 -0400)]
close since bug submittor is happy with new option
Joey Hess [Fri, 19 Jan 2024 19:29:59 +0000 (15:29 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 19 Jan 2024 19:14:26 +0000 (15:14 -0400)]
add directional stalldetection and bwlimit configs
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Fri, 19 Jan 2024 18:31:54 +0000 (14:31 -0400)]
use watchFileSize in Remote.External.retrieveKeyFile
external: Monitor file size when getting content from external special
remotes and use that to update the progress meter, in case the external
special remote program does not report progress.
This relies on
703a70cafa79eb0cf9f3ae676763e1798cb77292 to prevent ever
running the meter backwards.
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Fri, 19 Jan 2024 18:26:21 +0000 (14:26 -0400)]
RawFilePath conversion
Sponsored-by: Dartmouth College's DANDI project
Joey Hess [Fri, 19 Jan 2024 18:11:27 +0000 (14:11 -0400)]
avoid watchFileSize running backward
This is groundwork for using watchFileSize for downloads from external
special remotes.
In Annex.Content.downloadUrl, this potentially avoids jitter in the
progress meter. When downloading with conduit, the meter gets updated based
on both the size of the file, and on the data flowing through conduit.
If that has not yet been flushed to the file, it seems possible for the
meter to run backwards when meter is updated with the file size.
It's probably only a few kb of jitter, so may not be visible.
Sponsored-by: Dartmouth College's DANDI project
jstritch [Fri, 19 Jan 2024 17:44:39 +0000 (17:44 +0000)]
Added a comment
Joey Hess [Fri, 19 Jan 2024 17:01:05 +0000 (13:01 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 19 Jan 2024 16:46:36 +0000 (12:46 -0400)]
tweak stall detection scaling
Refactored to allow offline experimentation, and ended up changing the
allowedvariation (aka fudge factor) to 3. 10 seems too high, and 1.5 too low.
Scale earlier, so even if the first chunk takes less than the configured
time period, allowance is made that later chunks might transfer slower.
Decided to use the same allowedvariation to decide when to start
scaling.
Smoothed the scaling out.
Some examples:
ghci> upscale (BwRate 10 (Duration 60)) 25
BwRate 13 (Duration {durationSeconds = 75})
-- A small scaling upwards after 1/3rd the time. Not noticable.
ghci> upscale (BwRate 10 (Duration 60)) 60
BwRate 30 (Duration {durationSeconds = 180})
-- At the configured time, 3x scaling.
ghci> upscale (BwRate 10 (Duration 60)) 120
BwRate 60 (Duration {durationSeconds = 360})
-- A typical upscaling, here a 1 minute duration became 6 minutes
-- due to the first chunk taking 2 minutes to transfer.
ghci> upscale (BwRate 10 (Duration 60)) 600
BwRate 300 (Duration {durationSeconds = 1800})
-- Here the first chunk took 10 minutes to transfer, so it will
-- take 30 minutes to detect a stall.
Sponsored-by: Dartmouth College's DANDI project
imlew [Thu, 18 Jan 2024 23:09:21 +0000 (23:09 +0000)]
Added a comment
yarikoptic [Thu, 18 Jan 2024 21:32:30 +0000 (21:32 +0000)]
Added a comment
Joey Hess [Thu, 18 Jan 2024 21:18:19 +0000 (17:18 -0400)]
comment
Joey Hess [Thu, 18 Jan 2024 21:16:18 +0000 (17:16 -0400)]
comment
Joey Hess [Thu, 18 Jan 2024 21:13:05 +0000 (17:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 18 Jan 2024 21:11:56 +0000 (17:11 -0400)]
automatically adjust stall detection period
Improve annex.stalldetection to handle remotes that update progress less
frequently than the configured time period.
In particular, this makes remotes that don't report progress but are
chunked work when transferring a single chunk takes longer than the
specified time period.
Any remotes that just have very low update granulatity would also be
handled by this.
The change to Remote.Helper.Chunked avoids an extra progress update when
resuming an interrupted upload. In that case, the code saw first Nothing
and then Just the already transferred number of bytes, which defeated this
new heuristic. This change will mean that, when resuming an interrupted
upload to a chunked remote that does not do its own progress reporting, the
progress display does not start out displaying the amount sent so far,
until after the first chunk is sent. This behavior change does not seem
like a major problem.
About the scalefudgefactor, it seems reasonable to expect subsequent chunks
to take no more than 1.5 times as long as the first chunk to transfer.
Could set it to 1, but then any chunk taking a little longer would be
treated as a stall. 2 also seems a likely value. Even 10 might be fine?
Sponsored-by: Dartmouth College's DANDI project
yarikoptic [Thu, 18 Jan 2024 19:00:51 +0000 (19:00 +0000)]
Added a comment
Joey Hess [Thu, 18 Jan 2024 18:38:16 +0000 (14:38 -0400)]
improve annex.stalldetection documentation
imlew [Thu, 18 Jan 2024 18:25:48 +0000 (18:25 +0000)]
Joey Hess [Thu, 18 Jan 2024 17:14:17 +0000 (13:14 -0400)]
comment
Joey Hess [Thu, 18 Jan 2024 17:11:28 +0000 (13:11 -0400)]
open todo
Joey Hess [Thu, 18 Jan 2024 17:01:04 +0000 (13:01 -0400)]
comment
Joey Hess [Thu, 18 Jan 2024 16:58:00 +0000 (12:58 -0400)]
document that --listen specifies an IP address
Avoid users getting confused and thinking this allows specifying the
port.
Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
Joey Hess [Thu, 18 Jan 2024 16:42:26 +0000 (12:42 -0400)]
cleanup
Joey Hess [Thu, 18 Jan 2024 16:41:44 +0000 (12:41 -0400)]
import: --message/-m option
Joey Hess [Thu, 18 Jan 2024 16:16:48 +0000 (12:16 -0400)]
comment
Joey Hess [Thu, 18 Jan 2024 16:11:10 +0000 (12:11 -0400)]
not a bug
Joey Hess [Thu, 18 Jan 2024 15:56:03 +0000 (11:56 -0400)]
fixed
Joey Hess [Thu, 18 Jan 2024 15:54:59 +0000 (11:54 -0400)]
fix windows build
Joey Hess [Thu, 18 Jan 2024 15:53:20 +0000 (11:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
imlew [Wed, 17 Jan 2024 14:32:12 +0000 (14:32 +0000)]
nobodyinperson [Tue, 16 Jan 2024 23:54:27 +0000 (23:54 +0000)]
Mention annextimelog
jkniiv [Tue, 16 Jan 2024 23:23:27 +0000 (23:23 +0000)]
Added a comment
jkniiv [Tue, 16 Jan 2024 22:28:22 +0000 (22:28 +0000)]
Added a comment: I can confirm
Joey Hess [Tue, 16 Jan 2024 18:38:49 +0000 (14:38 -0400)]
close
Joey Hess [Tue, 16 Jan 2024 18:29:10 +0000 (14:29 -0400)]
disk free checking for unsized keys
Improve disk free space checking when transferring unsized keys to
local git remotes. Since the size of the object file is known, can
check that instead.
Getting unsized keys from local git remotes does not check the actual
object size. It would be harder to handle that direction because the size
check is run locally, before anything involving the remote is done. So it
doesn't know the size of the file on the remote.
Also, transferring unsized keys to other remotes, including ssh remotes and
p2p remotes don't do disk size checking for unsized keys. This would need a
change in protocol.
(It does seem like it would be possible to implement the same thing for
directory special remotes though.)
In some sense, it might be better to not ever do disk free checking for
unsized keys, than to do it only sometimes. A user might notice this
direction working and consider it a bug that the other direction does not.
On the other hand, disk reserve checking is not implemented for most
special remotes at all, and yet it is implemented for a few, which is also
inconsistent, but best effort. And so doing this best effort seems to make
some sense. Fundamentally, if the user wants the size to always be checked,
they should not use unsized keys.
Sponsored-by: Brock Spratlen on Patreon
Joey Hess [Tue, 16 Jan 2024 15:56:16 +0000 (11:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 16 Jan 2024 15:52:45 +0000 (11:52 -0400)]
optimise adjustTree when adding many TreeItems (take 2)
The old code traversed the list of addtreeitems once per subdirectory in
the tree, so could get quite slow. Converting to Map lookups sped it up
significantly.
In my test case, git-annex import used to take about 2 minutes, when
calling adjustTree to add back excluded files to the imported tree. This
dropped it down to 6 seconds. Of which 4 seconds are the actual
enumeration of the contents of the remote, so really only 2 seconds for
this.
The path prefix map is a bit suboptimal memory-wise, since items get
stored in the map once per subdirectory on the path to the item. It
would perhaps be better to use a tree data structure.
Also it's suboptimal memory-wise that it builds two maps, as well
as retaining a reference to addtreeitems. I could not see a way around
that though.
This is a fixed version of commit
2c86651180d5c8648b8244be894c26bc98a6c334.
It fixes a test suite reversion.
Sponsored-by: Jack Hill on Patreon
kdm9 [Tue, 16 Jan 2024 14:36:56 +0000 (14:36 +0000)]
typo fix (renote -> remote)
yarikoptic [Mon, 15 Jan 2024 15:38:43 +0000 (15:38 +0000)]
windows build is broken
TTTTAAAx [Mon, 15 Jan 2024 01:43:28 +0000 (01:43 +0000)]
Added a comment
Added a comment
jaharmi [Sun, 14 Jan 2024 20:28:54 +0000 (20:28 +0000)]
rename forum/Initial_macOS_setup_between_two_Macs.mdwn to forum/Initial_macOS_setup_between_two_local_Macs.mdwn
jaharmi [Sun, 14 Jan 2024 20:28:24 +0000 (20:28 +0000)]
jaharmi [Sun, 14 Jan 2024 20:27:44 +0000 (20:27 +0000)]
jstritch [Sun, 14 Jan 2024 16:23:13 +0000 (16:23 +0000)]
jstritch [Sun, 14 Jan 2024 16:15:36 +0000 (16:15 +0000)]
Joey Hess [Fri, 12 Jan 2024 17:52:04 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 12 Jan 2024 17:51:59 +0000 (13:51 -0400)]
update
Joey Hess [Fri, 12 Jan 2024 17:29:34 +0000 (13:29 -0400)]
support annex.shared-sop-command for encryption=shared
This works well, and it interoperates with gpg in my testing (although some
SOP commands might choose to use a profile that does not so caveat emptor).
Note that for creating the Cipher, gpg --gen-random is still used. SOP
does not have an eqivilant, and as long as the user has gpg around,
which seems likely, it doesn't matter that it uses gpg here, it's not being
used for encryption. That seemed better than implementing a second way
to get high quality entropy, at least for now.
The need for the sop command to run in an empty directory has each call
to encrypt and decrypt creating a new temporary directory. That is some
unncessary overhead, though probably swamped by the overhead of running
the sop command. This could be improved in the future by passing an
already empty directory to them, or a sufficiently empty directory
(.git/annex/tmp would probably suffice).
Sponsored-by: Brett Eisenberg on Patreon