git-annex.git
8 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 9 Apr 2025 15:10:30 +0000 (11:10 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

8 months agoSpoke with mih and he said this could be useful in the project context
matrss [Tue, 8 Apr 2025 11:26:29 +0000 (11:26 +0000)]
Spoke with mih and he said this could be useful in the project context

8 months agoAdded a comment
msz [Mon, 7 Apr 2025 17:06:15 +0000 (17:06 +0000)]
Added a comment

8 months agoAdded a comment: you're cool
yannick [Mon, 7 Apr 2025 11:13:44 +0000 (11:13 +0000)]
Added a comment: you're cool

8 months agoupdate to nightly-2025-04-04
Joey Hess [Sat, 5 Apr 2025 00:16:43 +0000 (20:16 -0400)]
update to nightly-2025-04-04

8 months agoAdded a comment
cjmarkie [Fri, 4 Apr 2025 01:14:55 +0000 (01:14 +0000)]
Added a comment

8 months agoimprove changelog
Joey Hess [Wed, 2 Apr 2025 19:31:10 +0000 (15:31 -0400)]
improve changelog

That was a fix for git remotes that use an url with a user name that is URL encoded

For example, "ssh://%6Aoey@localhost/path"

Of course, this is more likely to occur if the username is not all ASCII
like mine is.

And it could also happen when a scp-style url's username contains a non-ASCII
character, which gets URL encoded when git-annex internally converts that
to a ssh:// url.

8 months agoURL decoding for username and path
Joey Hess [Wed, 2 Apr 2025 19:29:46 +0000 (15:29 -0400)]
URL decoding for username and path

* Support git remotes that use an url with a user name that is URL encoded.
* Fix git-lfs special remote ssh endpoint discovery when the repository
  path is URL encoded.

In the previous commit, Git.Url.host was made to do URL decoding. That made
me wonder, what about URL encoded username and path? And so to these two
additional fixes. Note that Git.Url.authority remains URL encoded. That
seems ok given how it's used.

8 months agoSupport git remotes that use a IPV6 link-local address with a zone ID
Joey Hess [Wed, 2 Apr 2025 19:11:54 +0000 (15:11 -0400)]
Support git remotes that use a IPV6 link-local address with a zone ID

Fixed 3 problems, and it seems to work now for both forms:

ssh://[fe80::7697:xxx:xxxx:xxxx%wlp3s0]/foo
fe80::7697:xxx:xxxx:xxxx%wlp3s0:foo

8 months agocomment
Joey Hess [Tue, 1 Apr 2025 14:54:03 +0000 (10:54 -0400)]
comment

8 months agomigrate: Fix --remove-size to work when a file is not present
Joey Hess [Tue, 1 Apr 2025 14:47:31 +0000 (10:47 -0400)]
migrate: Fix --remove-size to work when a file is not present

5f74a45861357be2a3233ddbbdbe7f7b0cf1814e added this bug

8 months agocomment
Joey Hess [Tue, 1 Apr 2025 14:36:50 +0000 (10:36 -0400)]
comment

8 months agoAdded remote.name.annex-web-options config
Joey Hess [Tue, 1 Apr 2025 14:17:38 +0000 (10:17 -0400)]
Added remote.name.annex-web-options config

Which is a per-remote version of the annex.web-options config.

Had to plumb RemoteGitConfig through to getUrlOptions. In cases where a
special remote does not use curl, there was no need to do that and I used
Nothing instead.

In the case of the addurl and importfeed commands, it seemed best to say
that running these commands is not using the web special remote per se,
so the config is not used for those commands.

8 months agoresponse
Joey Hess [Tue, 1 Apr 2025 13:36:09 +0000 (09:36 -0400)]
response

8 months agofix name of config
Joey Hess [Tue, 1 Apr 2025 13:35:54 +0000 (09:35 -0400)]
fix name of config

8 months ago(no commit message)
tomdhunt [Sat, 29 Mar 2025 19:10:16 +0000 (19:10 +0000)]

8 months agoAdded a comment
cjmarkie [Fri, 28 Mar 2025 13:49:12 +0000 (13:49 +0000)]
Added a comment

8 months agoAdded a comment
cjmarkie [Fri, 28 Mar 2025 13:44:13 +0000 (13:44 +0000)]
Added a comment

8 months agomigrate --remove-size does not work
yarikoptic [Fri, 28 Mar 2025 12:13:46 +0000 (12:13 +0000)]
migrate --remove-size does not work

8 months agoissue about annexing while under git-annex branch
yarikoptic [Fri, 28 Mar 2025 11:26:31 +0000 (11:26 +0000)]
issue about annexing while under git-annex branch

8 months agoAdded a comment
jnkl [Fri, 28 Mar 2025 10:27:25 +0000 (10:27 +0000)]
Added a comment

8 months agoremoved
Basile.Pinsard [Thu, 27 Mar 2025 20:38:37 +0000 (20:38 +0000)]
removed

8 months agoAdded a comment: Ignore .crdownload?
cjmarkie [Thu, 27 Mar 2025 20:18:04 +0000 (20:18 +0000)]
Added a comment: Ignore .crdownload?

8 months agoPropose skipping checksums in git-annex get --fast
cjmarkie [Thu, 27 Mar 2025 20:09:28 +0000 (20:09 +0000)]
Propose skipping checksums in git-annex get --fast

8 months agoremoved
Basile.Pinsard [Thu, 27 Mar 2025 18:40:25 +0000 (18:40 +0000)]
removed

8 months agoAdded a comment: thanks
Basile.Pinsard [Thu, 27 Mar 2025 18:39:58 +0000 (18:39 +0000)]
Added a comment: thanks

8 months agoAdded a comment
Basile.Pinsard [Thu, 27 Mar 2025 18:39:44 +0000 (18:39 +0000)]
Added a comment

8 months agoAdded a comment
Basile.Pinsard [Thu, 27 Mar 2025 18:39:31 +0000 (18:39 +0000)]
Added a comment

8 months ago(no commit message)
jnkl [Thu, 27 Mar 2025 07:58:11 +0000 (07:58 +0000)]

8 months agoAdded a comment
Atemu [Wed, 26 Mar 2025 17:04:23 +0000 (17:04 +0000)]
Added a comment

8 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 26 Mar 2025 15:43:06 +0000 (11:43 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

8 months agohttpalso: Windows url fix
Joey Hess [Wed, 26 Mar 2025 15:42:58 +0000 (11:42 -0400)]
httpalso: Windows url fix

8 months agotag as datalad
Joey Hess [Wed, 26 Mar 2025 15:35:33 +0000 (11:35 -0400)]
tag as datalad

this is a datalad user

8 months agoAdded a comment
yarikoptic [Wed, 26 Mar 2025 15:31:45 +0000 (15:31 +0000)]
Added a comment

8 months agodrop: Avoid redundant object directory thawing.
Joey Hess [Wed, 26 Mar 2025 15:25:35 +0000 (11:25 -0400)]
drop: Avoid redundant object directory thawing.

Sponsored-by: Dartmouth College's DANDI project
8 months agotypo
Joey Hess [Wed, 26 Mar 2025 15:15:58 +0000 (11:15 -0400)]
typo

8 months agocomment
Joey Hess [Wed, 26 Mar 2025 14:42:34 +0000 (10:42 -0400)]
comment

8 months agofsck: Avoid complaining about required content of dead repositories
Joey Hess [Wed, 26 Mar 2025 14:30:33 +0000 (10:30 -0400)]
fsck: Avoid complaining about required content of dead repositories

requiredContentMap does not exclude dead repos. Usually this is not a
problem because it is used when we are operating on a repository, and in
that case, the repository is not dead (or if it is, the required content
configurations should still be used). But in the case of fsck, this made a
old required content config for a dead repository be warned about in a
situation where it is not a problem.

8 months agocomment
Joey Hess [Wed, 26 Mar 2025 14:20:42 +0000 (10:20 -0400)]
comment

8 months agoFix build without the assistant.
Joey Hess [Wed, 26 Mar 2025 14:17:03 +0000 (10:17 -0400)]
Fix build without the assistant.

8 months agointerlink 2 related bugs
Joey Hess [Wed, 26 Mar 2025 14:16:21 +0000 (10:16 -0400)]
interlink 2 related bugs

8 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 26 Mar 2025 14:03:03 +0000 (10:03 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

8 months agoAdded a comment
jnkl [Tue, 25 Mar 2025 07:44:00 +0000 (07:44 +0000)]
Added a comment

8 months ago10.20250320 build error when assistant is disabled
kyle [Tue, 25 Mar 2025 01:56:20 +0000 (01:56 +0000)]
10.20250320 build error when assistant is disabled

8 months agoAdded a comment: only for unlocked files?
nobodyinperson [Mon, 24 Mar 2025 18:37:31 +0000 (18:37 +0000)]
Added a comment: only for unlocked files?

8 months agoremoved
octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9 [Mon, 24 Mar 2025 17:56:57 +0000 (17:56 +0000)]
removed

8 months agoAdded a comment: failing with `Operation not petmitted`
octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9 [Mon, 24 Mar 2025 17:56:46 +0000 (17:56 +0000)]
Added a comment: failing with `Operation not petmitted`

8 months agoAdded a comment: failing with `Operation not petmitted`
octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9 [Mon, 24 Mar 2025 17:56:39 +0000 (17:56 +0000)]
Added a comment: failing with `Operation not petmitted`

8 months agoAdded a comment
jnkl [Sun, 23 Mar 2025 11:20:31 +0000 (11:20 +0000)]
Added a comment

8 months ago(no commit message)
jnkl [Sat, 22 Mar 2025 21:29:19 +0000 (21:29 +0000)]

8 months agotodo
Joey Hess [Sat, 22 Mar 2025 13:23:00 +0000 (09:23 -0400)]
todo

8 months agodeal with NoUUID in checkCanProxy
Joey Hess [Fri, 21 Mar 2025 16:29:44 +0000 (12:29 -0400)]
deal with NoUUID in checkCanProxy

updatecluster, updateproxy: When a remote that has no annex-uuid is
configured as annex-cluster-node, warn and avoid writing bad data to the
git-annex branch.

The proxy.log and cluster.log end up unparseable when a NoUUID gets written
to them.

8 months agoadd news item for git-annex 10.20250320
Joey Hess [Thu, 20 Mar 2025 17:11:10 +0000 (13:11 -0400)]
add news item for git-annex 10.20250320

8 months agoreleasing package git-annex version 10.20250320
Joey Hess [Thu, 20 Mar 2025 17:11:03 +0000 (13:11 -0400)]
releasing package git-annex version 10.20250320

9 months agofindcompute --inputs
Joey Hess [Wed, 19 Mar 2025 19:39:05 +0000 (15:39 -0400)]
findcompute --inputs

Useful for eg, generating dependency graphs.

9 months agopreparing for release tomorrow
Joey Hess [Wed, 19 Mar 2025 18:47:00 +0000 (14:47 -0400)]
preparing for release tomorrow

9 months agoavoid shadowing warning
Joey Hess [Wed, 19 Mar 2025 18:46:24 +0000 (14:46 -0400)]
avoid shadowing warning

9 months agoavoid reloading trust log
Joey Hess [Wed, 19 Mar 2025 13:35:29 +0000 (09:35 -0400)]
avoid reloading trust log

9 months agocheckPresent of compute remote checks inputs are available
Joey Hess [Tue, 18 Mar 2025 17:55:33 +0000 (13:55 -0400)]
checkPresent of compute remote checks inputs are available

If an input file has been lost from all repositories, it is no longer
possible to compute the output. This will avoid dropping content that
was computed in such a situation, as well as making git-annex fsck --from
the compute remote do its usual thing when content has gone missing.

This implementation avoids recursing forever if there is a cycle,
which should not be possible anyway.

Note the use of RemoteStateHandle as a constructor here suggests that
this may not handle sameas remotes right, since usually a
RemoteStateHandle is constructed using the sameas uuid for a sameas
remote. That assumes a compute remote can even have or be a sameas remote.
Which doesn't seem to make sense, so I have not thought through what might
happen here in detail.

9 months agoupdate
Joey Hess [Tue, 18 Mar 2025 17:00:54 +0000 (13:00 -0400)]
update

9 months agofindcomputed: New command, displays information about computed files.
Joey Hess [Tue, 18 Mar 2025 16:55:48 +0000 (12:55 -0400)]
findcomputed: New command, displays information about computed files.

9 months agoupdate
Joey Hess [Mon, 17 Mar 2025 20:02:02 +0000 (16:02 -0400)]
update

9 months ago--json for addcomputed and recompute
Joey Hess [Mon, 17 Mar 2025 19:51:43 +0000 (15:51 -0400)]
--json for addcomputed and recompute

Not very useful, but it does work.

9 months agorecord fscked files in fsck db by default
Joey Hess [Mon, 17 Mar 2025 19:34:08 +0000 (15:34 -0400)]
record fscked files in fsck db by default

Remember the files that are checked, so a later run with --more will
skip them, without needing to use --incremental.

9 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 17 Mar 2025 18:33:11 +0000 (14:33 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

9 months agodecided to leave message as-is
Joey Hess [Mon, 17 Mar 2025 18:31:43 +0000 (14:31 -0400)]
decided to leave message as-is

"getting input <file> from <remote>"  is talking about the original
input filename. I think that's ok.

9 months agodecided addcomputed will not support annex.smallfiles
Joey Hess [Mon, 17 Mar 2025 18:27:56 +0000 (14:27 -0400)]
decided addcomputed will not support annex.smallfiles

If it did, recompute would need to somehow support recomputing
non-annexed files.

And, annex.smallfiles is typically used for configuration files or
source code kind of things, where the user doesn't want it to be an
annexed file. Computed artifacts are not likely that kind of thing.

Also, git-annex importfeed is an example of something that does support
annex.addunlocked, but does not support annex.smallfiles.

9 months agoannex.addunlocked support for git-annex compute
Joey Hess [Mon, 17 Mar 2025 18:26:09 +0000 (14:26 -0400)]
annex.addunlocked support for git-annex compute

And for git-annex recompute, add the file unlocked when the original is
unlocked.

9 months agosupport building with old version of bytestring
Joey Hess [Fri, 14 Mar 2025 18:44:22 +0000 (14:44 -0400)]
support building with old version of bytestring

9 months agofix comment typo
Joey Hess [Fri, 14 Mar 2025 15:36:40 +0000 (11:36 -0400)]
fix comment typo

9 months ago(no commit message)
Atemu [Fri, 14 Mar 2025 12:32:04 +0000 (12:32 +0000)]

9 months ago(no commit message)
Atemu [Fri, 14 Mar 2025 12:14:03 +0000 (12:14 +0000)]

9 months ago(no commit message)
Atemu [Fri, 14 Mar 2025 12:11:19 +0000 (12:11 +0000)]

9 months ago(no commit message)
msz [Wed, 12 Mar 2025 19:50:01 +0000 (19:50 +0000)]

9 months agoAdded a comment
msz [Wed, 12 Mar 2025 19:44:23 +0000 (19:44 +0000)]
Added a comment

9 months agoadd compute tip
Joey Hess [Wed, 12 Mar 2025 17:43:50 +0000 (13:43 -0400)]
add compute tip

9 months agorecompute: stage new version of file in git
Joey Hess [Wed, 12 Mar 2025 17:36:16 +0000 (13:36 -0400)]
recompute: stage new version of file in git

When writing doc/tips/computing_annexed_files.mdwn, I noticed
that a recompute --reproducible followed by a drop and a re-get did not
actually test if the file could be reproducible computed again.

Turns out that get and drop both operate on staged files. If there is an
unstaged modification in the work tree, that's ignored. Somewhat
surprisingly, other commands like info do operate on staged files. So
behavior is inconsistent, and fairly surprising really, when there are
unstaged modifications to files.

Probably this is rarely noticed because `git-annex add` is used to add a
new version of a file, and then it's staged. Or `git mv` is used to move
a file, rather than `mv` of a file over top of an existing file. So it's
uncommon to have an unstaged annexed file in a worktree.

It might be worth making things more consistent, but that's out of scope
for what I'm working on currently.

Also, I anticipate that supporting unlocked files with recompute will
require it to stage changes anyway.

So, make recompute stage the new version of the file.

I considered having recompute refuse to overwrite an existing staged
file. After all, whatever version was staged before will get lost when
the new version is staged over top of it. But, that's no different than
`git-annex addcomputed` being run with the name of an existing staged
file. Or `git-annex add` being run with a new file content when there is
an existing staged file. Or, for that matter, `git add` being ran with a
new content when there is an existing staged file.

9 months agotodo
Joey Hess [Wed, 12 Mar 2025 16:11:39 +0000 (12:11 -0400)]
todo

9 months agofix recompute --reproducible run on a VURL key
Joey Hess [Wed, 12 Mar 2025 15:48:29 +0000 (11:48 -0400)]
fix recompute --reproducible run on a VURL key

This avoids "Cannot generate a key for backend VURL", and makes it use
the usual hashing backend.

9 months agoimprove
Joey Hess [Tue, 11 Mar 2025 16:54:34 +0000 (12:54 -0400)]
improve

9 months agocomment
Joey Hess [Tue, 11 Mar 2025 16:53:32 +0000 (12:53 -0400)]
comment

9 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 11 Mar 2025 16:42:10 +0000 (12:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

9 months agobuffer responses to compute programs in a TQueue
Joey Hess [Tue, 11 Mar 2025 16:40:21 +0000 (12:40 -0400)]
buffer responses to compute programs in a TQueue

This avoids a potential problem where the program sends several INPUT
before reading responses, so flushing the respose to the pipe could
block. It's unlikely, but seemed worth making sure it can't happen.

9 months agoclose off newline injection attacks against compute special remote protocol
Joey Hess [Tue, 11 Mar 2025 16:04:58 +0000 (12:04 -0400)]
close off newline injection attacks against compute special remote protocol

9 months agoupdate
Joey Hess [Tue, 11 Mar 2025 15:53:14 +0000 (11:53 -0400)]
update

9 months agoavoid error on missing compute state in checkKey
Joey Hess [Tue, 11 Mar 2025 15:49:47 +0000 (11:49 -0400)]
avoid error on missing compute state in checkKey

This improves eg `git-annex move --to` a compute remote that does not
contain the key. Rather than erroring with "Missing compute state" when
it checks if the key is in the remote, it proceeds to trying to store to
it, which has a nice error message.

9 months agoadd INPUT-REQUIRED
Joey Hess [Tue, 11 Mar 2025 15:46:31 +0000 (11:46 -0400)]
add INPUT-REQUIRED

Used by git-annex-compute-singularity to make addcomputed --fast work.

Also, simplified git-annex-compute-singularity; there is no need to hard
link the container into place. singularity does not care about the
extension of the container, so can just pass it the annex object file.

9 months agoAdded a comment: just thinking out loud
yarikoptic [Tue, 11 Mar 2025 15:15:15 +0000 (15:15 +0000)]
Added a comment: just thinking out loud

9 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 11 Mar 2025 15:13:21 +0000 (11:13 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

9 months agoreorg and expand security section
Joey Hess [Tue, 11 Mar 2025 15:12:59 +0000 (11:12 -0400)]
reorg and expand security section

9 months agoAdded a comment
yarikoptic [Tue, 11 Mar 2025 15:09:20 +0000 (15:09 +0000)]
Added a comment

9 months agoexpand
Joey Hess [Mon, 10 Mar 2025 21:35:34 +0000 (17:35 -0400)]
expand

9 months agoresponse
Joey Hess [Mon, 10 Mar 2025 20:46:55 +0000 (16:46 -0400)]
response

9 months agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 10 Mar 2025 20:42:24 +0000 (16:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

9 months agoadded git-annex-compute-singularity
Joey Hess [Mon, 10 Mar 2025 20:41:26 +0000 (16:41 -0400)]
added git-annex-compute-singularity

And implemented SANDBOX, which it needs.

9 months agocompute protocol debugging
Joey Hess [Mon, 10 Mar 2025 19:14:59 +0000 (15:14 -0400)]
compute protocol debugging

9 months agodocument output files must be regular files
Joey Hess [Mon, 10 Mar 2025 18:15:07 +0000 (14:15 -0400)]
document output files must be regular files

9 months agomake usage an error
Joey Hess [Mon, 10 Mar 2025 17:47:23 +0000 (13:47 -0400)]
make usage an error

9 months agocompute: disallow output files that are not regular files
Joey Hess [Mon, 10 Mar 2025 16:52:10 +0000 (12:52 -0400)]
compute: disallow output files that are not regular files

Use case where this came up is a compute program using singularity,
where the process inside the container will be allowed to write to the temp
directory, so could make eg a /etc/shadow symlink, which could then be
used to exfiltrate that from the system to wherever the annex object
might be pushed to.

It seemed better to fix this once in git-annex rather than in any such
compute program.

9 months agoAdded a comment
yarikoptic [Sun, 9 Mar 2025 01:02:55 +0000 (01:02 +0000)]
Added a comment