git-annex.git
2 years agoAdded a comment
imlew [Tue, 12 Dec 2023 13:36:21 +0000 (13:36 +0000)]
Added a comment

2 years agoAdded a comment
imlew [Tue, 12 Dec 2023 13:32:17 +0000 (13:32 +0000)]
Added a comment

2 years agoAdded a comment
nobodyinperson [Tue, 12 Dec 2023 12:44:38 +0000 (12:44 +0000)]
Added a comment

2 years agoAdded a comment
imlew [Tue, 12 Dec 2023 11:56:06 +0000 (11:56 +0000)]
Added a comment

2 years agomigrate: support adding size back to URL keys
Joey Hess [Fri, 8 Dec 2023 20:22:14 +0000 (16:22 -0400)]
migrate: support adding size back to URL keys

migrate: Support adding size to URL keys that were added with --relaxed, by
running eg: git-annex migrate --backend=URL foo

Since url keys cannot be generated, that used to fail. Make it notice that
the backend is not changed, and just get the size of the content.

Sponsored-by: Brock Spratlen on Patreon
2 years agoupdate for distributed migration
Joey Hess [Fri, 8 Dec 2023 18:39:38 +0000 (14:39 -0400)]
update for distributed migration

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 8 Dec 2023 18:26:26 +0000 (14:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agosplit out todo for special remotes and close the main todo
Joey Hess [Fri, 8 Dec 2023 18:25:05 +0000 (14:25 -0400)]
split out todo for special remotes and close the main todo

2 years agoMerge branch 'master' into distributedmigration
Joey Hess [Fri, 8 Dec 2023 18:18:23 +0000 (14:18 -0400)]
Merge branch 'master' into distributedmigration

2 years agodistributed migration for pull and sync --content
Joey Hess [Fri, 8 Dec 2023 18:18:18 +0000 (14:18 -0400)]
distributed migration for pull and sync --content

pull, sync: When operating on content, automatically hard link objects
that have been migrated.

Added annex.syncmigrations config that can be set to false to prevent
pull and sync from migrating object content.

I think that true is a good default for this config, because it avoids
users having to re-download migrated content or learning about migration.
But, some users will surely not like it, whether because it does take some
time (especially for the first git-annex branch scan when there is a long
history), or because they want to deal with it manually, or because their
filesystem doesn't support hard links and they don't want it to copy
objects.

Sponsored-by: k0ld on Patreon
2 years agomigrate --apply
Joey Hess [Fri, 8 Dec 2023 17:23:03 +0000 (13:23 -0400)]
migrate --apply

And avoid migrate --update/--aply migrating when the new key was already
present in the repository, and got dropped. Luckily, the location log
allows distinguishing from the new key never having been present!

That is mostly useful for --apply because otherwise dropped files would
keep coming back until the old objects were reaped as unused. But it
seemed to make sense to also do it for --update. for consistency in edge
cases if nothing else. One case where --update can use it is when one
branch got migrated earlier, and we dropped the file, and now another
branch has migrated the same file.

Sponsored-by: Jack Hill on Patreon
2 years agoskip distributed migration to insecure key when annex.securehashesonly is set
Joey Hess [Fri, 8 Dec 2023 16:39:18 +0000 (12:39 -0400)]
skip distributed migration to insecure key when annex.securehashesonly is set

This only avoids extra work and a warning messsage. It seems likely that
in such a situation, the user does not want migrations to insecure
hashes, and so best to ignore them as much as possible. If
the user merges a branch that switches annexed files to an insecure
hash, they will notice that the file contents are unavailable,
and git-annex get will tell them the problem then. So it does not seem
useful to have migrate --update also complain about it.

2 years agoreport on the 'Production' build flag not producing a binary that passes the test...
jkniiv [Fri, 8 Dec 2023 16:38:12 +0000 (16:38 +0000)]
report on the 'Production' build flag not producing a binary that passes the test suite

2 years agofix missing space in warning message
Joey Hess [Fri, 8 Dec 2023 16:36:33 +0000 (12:36 -0400)]
fix missing space in warning message

2 years agoalways verify content in distributed migration
Joey Hess [Fri, 8 Dec 2023 00:05:42 +0000 (20:05 -0400)]
always verify content in distributed migration

doc/todo/distributed_migration.mdwn discusses security of distributed
migration, and this was identified as necessary to do.

2 years agodisplay filenames in migrate --update
Joey Hess [Thu, 7 Dec 2023 22:00:09 +0000 (18:00 -0400)]
display filenames in migrate --update

Have to go to a lot of bother to find them, but I think it's worth it
for usability.

Sponsored-by: Luke T. Shumaker on Patreon
2 years agomigrate --update fully working
Joey Hess [Thu, 7 Dec 2023 21:26:12 +0000 (17:26 -0400)]
migrate --update fully working

Could use some more testing.

When the old key is not present, Command.ReKey.linkKey' will return
False, so this handles that case ok.

But, I do wonder if distributed migration may need to deal with the old
key getting copied into the repository later. In that situation,
re-running migrate --update won't link it to the new key. It may be that
some users will need that. They can delete .git/annex/migrate.log and
run it again, but that is not a good user interface. Maybe either have
a way to re-run all distributed migrations, or record migrations
in a database and scan the db to find migrations to do in a future run?

Sponsored-by: Kevin Mueller on Patreon
2 years agomigrate --update gets keys
Joey Hess [Thu, 7 Dec 2023 21:03:58 +0000 (17:03 -0400)]
migrate --update gets keys

The git log is outputting the diff, but this only looks at the new
files. When we have a new file, we can get the old filename by just
replacing "new" with "old". And then use branchFileRef to refer to it
allows catting the old key.

While this does have to skip past the old files in the diff, it's still
faster than calling git diff separately.

Sponsored-by: Nicholas Golder-Manning on Patreon
2 years agoAdded a comment
kolam [Thu, 7 Dec 2023 20:16:29 +0000 (20:16 +0000)]
Added a comment

2 years agoremoved
kolam [Thu, 7 Dec 2023 20:13:13 +0000 (20:13 +0000)]
removed

2 years agoAdded a comment
kolam [Thu, 7 Dec 2023 20:12:31 +0000 (20:12 +0000)]
Added a comment

2 years agoAdded a comment
kolam [Thu, 7 Dec 2023 20:08:52 +0000 (20:08 +0000)]
Added a comment

2 years agostarted migrate --update
Joey Hess [Thu, 7 Dec 2023 19:50:52 +0000 (15:50 -0400)]
started migrate --update

This is most of the way there, but not quite working.

The layout of migrate.tree/ needs to be changed to follow this approach.
git log will list all the files in tree order, so the new layout needs
to alternate old and new keys. Can that be done? git may not document
tree order, or may not preserve it here.

Alternatively, change to using git log --format=raw and extract
the tree header from that, then use
git diff --raw $tree:migrate.tree/old $tree:migrate.tree/new
That will be a little more expensive, but only when there are lots of
migrations.

Sponsored-by: Joshua Antonishen on Patreon
2 years ago(no commit message)
kolam [Thu, 7 Dec 2023 18:30:40 +0000 (18:30 +0000)]

2 years ago(no commit message)
kolam [Thu, 7 Dec 2023 14:08:54 +0000 (14:08 +0000)]

2 years agoAdded a comment
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten [Thu, 7 Dec 2023 12:30:25 +0000 (12:30 +0000)]
Added a comment

2 years agoAdded a comment: Similar to initremote type=git
nobodyinperson [Thu, 7 Dec 2023 08:31:09 +0000 (08:31 +0000)]
Added a comment: Similar to initremote type=git

2 years ago(no commit message)
kolam [Wed, 6 Dec 2023 23:46:49 +0000 (23:46 +0000)]

2 years agoAdded a comment: --includesamecontent same as --not --includesamecontent?
mike@2d6d71f56ce2a992244350475251df87c26fe351 [Wed, 6 Dec 2023 22:12:47 +0000 (22:12 +0000)]
Added a comment: --includesamecontent same as  --not --includesamecontent?

2 years agoremoved
kolam [Wed, 6 Dec 2023 21:08:52 +0000 (21:08 +0000)]
removed

2 years agoAdded a comment
kolam [Wed, 6 Dec 2023 21:08:05 +0000 (21:08 +0000)]
Added a comment

2 years agomake commitMigration interuption safe
Joey Hess [Wed, 6 Dec 2023 20:27:12 +0000 (16:27 -0400)]
make commitMigration interuption safe

Fixed inversion of control issue, so the tree is recorded
in streamLogFile finalizer.

Sponsored-by: Leon Schuermann on Patreon
2 years agocomment
Joey Hess [Wed, 6 Dec 2023 19:42:40 +0000 (15:42 -0400)]
comment

2 years agolog migration trees to git-annex branch
Joey Hess [Wed, 6 Dec 2023 19:38:01 +0000 (15:38 -0400)]
log migration trees to git-annex branch

This will allow distributed migration: Start a migration in one clone of
a repo, and then update other clones.

commitMigration is a bit of a bear.. There is some inversion of control
that needs some TMVars. Also streamLogFile's finalizer does not handle
recording the trees, so an interrupt at just the wrong time can cause
migration.log to be emptied but the git-annex branch not updated.

Sponsored-by: Graham Spencer on Patreon
2 years agoadd startAction parameter for KeySha
Joey Hess [Wed, 6 Dec 2023 17:04:32 +0000 (13:04 -0400)]
add startAction parameter for KeySha

I have a use planned for this in Command.Migrate.

Sponsored-by: unqueued on Patreon
2 years agokinda a bug
Joey Hess [Tue, 5 Dec 2023 20:43:14 +0000 (16:43 -0400)]
kinda a bug

2 years agoremove xmpp from special remotes list
Joey Hess [Tue, 5 Dec 2023 20:30:47 +0000 (16:30 -0400)]
remove xmpp from special remotes list

It's documentation for something that was removed, so avoid it getting
copied into eg, nice talks about git-annex. ;-)

2 years agoremove debug print
Joey Hess [Tue, 5 Dec 2023 19:56:58 +0000 (15:56 -0400)]
remove debug print

2 years agofurther thoughts
Joey Hess [Tue, 5 Dec 2023 19:00:22 +0000 (15:00 -0400)]
further thoughts

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 5 Dec 2023 17:38:01 +0000 (13:38 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agocomment
Joey Hess [Tue, 5 Dec 2023 17:37:34 +0000 (13:37 -0400)]
comment

2 years agoAdd link to English re-recording of Yann's git-annex workshop kickoff talk @Tübix2023
nobodyinperson [Tue, 5 Dec 2023 17:18:50 +0000 (17:18 +0000)]
Add link to English re-recording of Yann's git-annex workshop kickoff talk @Tübix2023

2 years agoRevert "update"
Joey Hess [Tue, 5 Dec 2023 16:39:33 +0000 (12:39 -0400)]
Revert "update"

This reverts commit 6f4e3cc8810f125937a2218578ca83ce7f27b198.

2 years agoupdate
Joey Hess [Tue, 5 Dec 2023 16:39:17 +0000 (12:39 -0400)]
update

2 years agoprevent relatedTemplate from truncating a filename to end in "."
Joey Hess [Tue, 5 Dec 2023 16:38:14 +0000 (12:38 -0400)]
prevent relatedTemplate from truncating a filename to end in "."

Avoid a problem with temp file names ending in "." on certian filesystems
that have problems with such filenames.

relatedTemplate is quite an ugly hack really; since it doesn't know the max
filename length of the filesystem it can only assume that the filename is
max allowed length. When given the input "lh.aparc.DKTatlas.annot", it
wants to reserve 20 characters for tempfile so it truncates to "lh.". That
ending period is apparently a problem on some filesystem (FAT eats it, but
does not throw EINVAL; ntfs does not seem bothered by it, I don't know what
FUSE filesystem the bug reporter was really using).

Sponsored-by: Brett Eisenberg on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 5 Dec 2023 16:10:46 +0000 (12:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoNo change. Just subscribing to comments.
cjmarkie [Tue, 5 Dec 2023 16:04:46 +0000 (16:04 +0000)]
No change. Just subscribing to comments.

2 years ago(no commit message)
cjmarkie [Tue, 5 Dec 2023 14:54:11 +0000 (14:54 +0000)]

2 years ago(no commit message)
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten [Tue, 5 Dec 2023 14:10:07 +0000 (14:10 +0000)]

2 years agorename forum/name_resolution_of___33__dne__33___fails.mdwn to forum/name_resolution_o...
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten [Tue, 5 Dec 2023 14:08:52 +0000 (14:08 +0000)]
rename forum/name_resolution_of___33__dne__33___fails.mdwn to forum/name_resolution_of_dne.mdwn

2 years agorename forum/dne.mdwn to forum/name_resolution_of___33__dne__33___fails.mdwn
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten [Tue, 5 Dec 2023 14:07:57 +0000 (14:07 +0000)]
rename forum/dne.mdwn to forum/name_resolution_of___33__dne__33___fails.mdwn

2 years ago(no commit message)
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten [Tue, 5 Dec 2023 14:05:08 +0000 (14:05 +0000)]

2 years agoAdded a comment
brendan.ward@a2e11ad27f6b2fa2c556aea6811496e0d95dd0da [Tue, 5 Dec 2023 03:24:29 +0000 (03:24 +0000)]
Added a comment

2 years ago(no commit message)
kolam [Mon, 4 Dec 2023 19:32:28 +0000 (19:32 +0000)]

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 4 Dec 2023 17:52:59 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agocomment
Joey Hess [Mon, 4 Dec 2023 17:52:51 +0000 (13:52 -0400)]
comment

2 years agoAdded a comment: How about a --offline flag?
nobodyinperson [Mon, 4 Dec 2023 17:52:44 +0000 (17:52 +0000)]
Added a comment: How about a --offline flag?

2 years agosync: Fix locking problems during merge when annex.pidlock is set
Joey Hess [Mon, 4 Dec 2023 17:37:58 +0000 (13:37 -0400)]
sync: Fix locking problems during merge when annex.pidlock is set

Presumably git merge sometimes needs to verifiy if a worktree file is
modified, and so will then run git-annex filter-process which would try to
take the pid lock. And for whatever reason, git-annex sync already had the
pidlock held. I have not replicated that, but it does make enough sense to
deploy the workaround.

Like I said back in commit 7bdb0cdc0d6f35d3835e57c3a34740cc98f89719,

   Arguably, it would be better to have a way to make any process git-annex
   runs have the env var set. But then it would need to take the pid lock
   when running any and all processes, and that would be a problem when
   git-annex runs two processes concurrently. So, I'm left doing it ad-hoc
   in places where git-annex really does run a child process, directly
   or indirectly via a particular git command.

Sponsored-by: KDM on Patreon
2 years agocomment
Joey Hess [Mon, 4 Dec 2023 17:03:16 +0000 (13:03 -0400)]
comment

2 years agocomment
Joey Hess [Mon, 4 Dec 2023 16:49:25 +0000 (12:49 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 4 Dec 2023 15:15:25 +0000 (11:15 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimprove message about 1 copy
Joey Hess [Mon, 4 Dec 2023 15:12:54 +0000 (11:12 -0400)]
improve message about 1 copy

"Could only verify the existence of 0 out of 1 necessary copy"
does not sound right, but neither does it with "copies".

Kept the "1" rather than "only" or such since numcopies is mentioned.

Sponsored-by: Brock Spratlen on Patreon
2 years agoAdded a comment
kdm9 [Mon, 4 Dec 2023 10:09:16 +0000 (10:09 +0000)]
Added a comment

2 years ago(no commit message)
brendan.ward@a2e11ad27f6b2fa2c556aea6811496e0d95dd0da [Mon, 4 Dec 2023 06:43:03 +0000 (06:43 +0000)]

2 years ago(no commit message)
brendan.ward@a2e11ad27f6b2fa2c556aea6811496e0d95dd0da [Mon, 4 Dec 2023 06:41:28 +0000 (06:41 +0000)]

2 years agoAdded a comment
Atemu [Sun, 3 Dec 2023 21:11:19 +0000 (21:11 +0000)]
Added a comment

2 years agoAdded a comment
branch [Sun, 3 Dec 2023 11:57:56 +0000 (11:57 +0000)]
Added a comment

2 years agonew pidlock bug
kdm9 [Sun, 3 Dec 2023 10:16:43 +0000 (10:16 +0000)]
new pidlock bug

2 years agorename forum/Can__39__t_access_file_from_secondary_client.mdwn to forum/client_reposi...
kolam@976e5fa601b60de70b53dad291714218fd749169 [Sat, 2 Dec 2023 19:06:00 +0000 (19:06 +0000)]
rename forum/Can__39__t_access_file_from_secondary_client.mdwn to forum/client_repositories_setup_problem.mdwn

2 years ago(no commit message)
kolam@976e5fa601b60de70b53dad291714218fd749169 [Sat, 2 Dec 2023 18:16:00 +0000 (18:16 +0000)]

2 years agoupdate
Joey Hess [Fri, 1 Dec 2023 19:01:45 +0000 (15:01 -0400)]
update

2 years agocomment
Joey Hess [Fri, 1 Dec 2023 18:42:55 +0000 (14:42 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 1 Dec 2023 17:50:01 +0000 (13:50 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agogit-annex branch size when storing migration information
Joey Hess [Fri, 1 Dec 2023 17:09:39 +0000 (13:09 -0400)]
git-annex branch size when storing migration information

Sponsored-by: Jack Hill on Patreon
2 years agoAdded a comment: Another possibility to make --fast faster?
nobodyinperson [Fri, 1 Dec 2023 11:50:25 +0000 (11:50 +0000)]
Added a comment: Another possibility to make --fast faster?

2 years agoAdded a comment
Atemu [Fri, 1 Dec 2023 10:21:10 +0000 (10:21 +0000)]
Added a comment

2 years agoAdded a comment
unqueued [Fri, 1 Dec 2023 02:09:07 +0000 (02:09 +0000)]
Added a comment

2 years agocomment
Joey Hess [Thu, 30 Nov 2023 21:07:17 +0000 (17:07 -0400)]
comment

2 years agocomment
Joey Hess [Thu, 30 Nov 2023 20:49:48 +0000 (16:49 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 30 Nov 2023 20:36:50 +0000 (16:36 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agocopy/move --from-anywhere --to remote
Joey Hess [Thu, 30 Nov 2023 20:32:32 +0000 (16:32 -0400)]
copy/move --from-anywhere --to remote

Implementation was simple because it's equivilant to
--from=foo --to remote for each other remote, followed by
--to remote when there's a local copy.

(Or, in the edge case of --from-anywhere --to=here,
it's the same as --to=here.)

Note that, when the local repo does not have a copy,
fromToPerform gets it from a remote, sends it to the destination,
and drops the local copy. Another call to that for a second remote
will notice that the dest now has a copy, and simply drop from the
second remote, avoiding a second transfer.

Also note that, when numcopies doesn't allow dropping it from
everywhere, it will drop it from the cheapest remotes first
(maybe not ideal) up to more expensive remotes, and finally from the local
repo. So the local repo will generally end up holding a copy. Maybe not
ideal in all cases either, but it seems no worse to do that than to end up
with a copy undropped from a remote.

And I'm not entirely happy with the output, eg:

copy bigfile (from r3...) ok
copy bigfile ok

That makes sense if you think of the second line as being
the same as what is output by `git-annex copy bigfile --to bar`,
but it's less clear in this context. Maybe add "(from here...)"?
Also the --json output doesn't have a machine-readable field for
the "from" uuid, and maybe it should?

Sponsored-by: Dartmouth College's DANDI project
2 years agofix --from overriding annex-ignore
Joey Hess [Thu, 30 Nov 2023 19:11:57 +0000 (15:11 -0400)]
fix --from overriding annex-ignore

Make git-annex get/copy/move --from foo override configuration of
remote.foo.annex-ignore, as documented.

This already worked for remotes supporting hasKeyCheap. For others though,
git-annex copy --from foo would silently not do anything, while
git-annex copy --to foo would use the annex-ignored remote.

Also improved the annex-ignore docs, to reflect that `git-annex get`
without --from will skip using annex-ignored remotes, for example.

Sponsored-by: Dartmouth College's DANDI project
2 years agoAdded a comment
nobodyinperson [Thu, 30 Nov 2023 06:51:54 +0000 (06:51 +0000)]
Added a comment

2 years ago(no commit message)
unqueued [Thu, 30 Nov 2023 05:06:06 +0000 (05:06 +0000)]

2 years ago(no commit message)
unqueued [Thu, 30 Nov 2023 04:52:51 +0000 (04:52 +0000)]

2 years agoadd manual: true to ParallelBuild flag
Joey Hess [Wed, 29 Nov 2023 20:05:03 +0000 (16:05 -0400)]
add manual: true to ParallelBuild flag

hackage demands that -j be gated behind a build flag with manual: true
set.

2 years agoadd news item for git-annex 10.20231129
Joey Hess [Wed, 29 Nov 2023 20:01:10 +0000 (16:01 -0400)]
add news item for git-annex 10.20231129

2 years agoreleasing package git-annex version 10.20231129
Joey Hess [Wed, 29 Nov 2023 20:01:01 +0000 (16:01 -0400)]
releasing package git-annex version 10.20231129

2 years agoattribution armoring
Joey Hess [Wed, 29 Nov 2023 18:38:50 +0000 (14:38 -0400)]
attribution armoring

Read a fun paper where they got chatgpt to emit large chunks of code
https://not-just-memorization.github.io/extracting-training-data-from-chatgpt.html
"ChatGPT memorized significant fractions of its training dataset"

2 years agocomment
Joey Hess [Wed, 29 Nov 2023 17:42:12 +0000 (13:42 -0400)]
comment

2 years agoclose as fixed
Joey Hess [Wed, 29 Nov 2023 17:32:19 +0000 (13:32 -0400)]
close as fixed

2 years agoresponse
Joey Hess [Wed, 29 Nov 2023 17:26:24 +0000 (13:26 -0400)]
response

2 years agocomment
Joey Hess [Wed, 29 Nov 2023 16:45:32 +0000 (12:45 -0400)]
comment

2 years agoAdded a comment: corrupted bare repo
sng@353ca358075d9aa328f60a5439a3cee10f8301fe [Wed, 29 Nov 2023 15:34:30 +0000 (15:34 +0000)]
Added a comment: corrupted bare repo

2 years agocomment
Joey Hess [Tue, 28 Nov 2023 16:23:35 +0000 (12:23 -0400)]
comment

2 years agodial back addition, but keep it
Joey Hess [Tue, 28 Nov 2023 16:03:55 +0000 (12:03 -0400)]
dial back addition, but keep it

It's a semi-common point of confusion that numcopies is not something
these commands go out and copy files around specifically to satisfy,
without further configuration in preferred content. So this is a good
addition, but it also seemed too long and too specific to the user's
particular situation.

2 years agofix some language
Joey Hess [Tue, 28 Nov 2023 16:03:49 +0000 (12:03 -0400)]
fix some language

2 years agofindkeys: Support --largerthan and --smallerthan
Joey Hess [Tue, 28 Nov 2023 15:51:43 +0000 (11:51 -0400)]
findkeys: Support --largerthan and --smallerthan

Sponsored-by: Brett Eisenberg on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 28 Nov 2023 15:26:02 +0000 (11:26 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years ago(no commit message)
lell [Tue, 28 Nov 2023 10:41:33 +0000 (10:41 +0000)]