Commit graph

35,722 commits

Author SHA1 Message Date
Joey Hess
0924a45cc4
info: Added --show option
To pick which parts of the info to calculate and display.

Sponsored-by: Dartmouth College's DANDI project
2025-08-13 16:49:21 -04:00
Joey Hess
bcc86c92e2
comment 2025-08-13 16:04:46 -04:00
Joey Hess
8c51fc5fdf
Merge branch 'master' of ssh://git-annex.branchable.com 2025-08-13 15:33:42 -04:00
Joey Hess
7e3a176f0c
close 2025-08-13 15:33:39 -04:00
Joey Hess
6c2e84f6ec
Bump aws build dependency to 0.24.1
That's the version in Debian stable now. And this removes a lot of ifdefs.

Also I'm pretty sure a recent commit broke building with older versions of
aws, although that could be fixed with sufficent testing.
2025-08-13 15:32:39 -04:00
Joey Hess
3b1702e658
probe AWS datacenter
S3: When initremote is given the name of a bucket that already exists,
automatically set datacenter to the right value, rather than needing it to
be explicitly set.

This needs aws-0.23. But, initremote stores the datacenter value, so
a remote set up this way can be used with git-annex built with an older aws.

This is not done when signature=anonymous, because in that case,
using AWS.defaultRegion works fine for accessing buckets on other
datacenters.

It feels a bit round-about to need to do this probing. But without it,
the problem seems to be that, with a v4 signature, the location constraint
is included in the Authorization header. When that is the wrong location,
AWS S3 rejects it. I do wonder though if there is an easier way that I
am currently missing.

Sponsored-by: Dartmouth College's DANDI project
2025-08-13 15:23:31 -04:00
yarikoptic
ee7e1450b1 wishlist of faster/specific info for a remote 2025-08-13 17:49:20 +00:00
Joey Hess
215640096f
S3: Default to signature=v4 when using an AWS endpoint
* S3: Default to signature=v4 when using an AWS endpoint, since some
  AWS regions need v4 and all support it. When host= is used to specify
  a different S3 host, the default remains signature=v2.
* webapp: Support setting up S3 buckets in regions that need v4
  signatures.

For the webapp, went ahead and added all current S3 regions
(except govcloud, which  is not usable by everyone).

Sponsored-by: Dartmouth College's DANDI project
2025-08-13 13:18:35 -04:00
Joey Hess
ebf0bfe6d8
comment 2025-08-13 12:50:05 -04:00
Joey Hess
0ffd07165f
Merge branch 'master' of ssh://git-annex.branchable.com 2025-08-12 14:26:29 -04:00
Michael
330c0af0de 2025-08-11 03:37:34 +00:00
Joey Hess
0bc278c16d
add https://pypi.org/project/git-annex-remote-internxt/ 2025-08-08 16:10:47 -04:00
evgeni
b286b4f365 Added a comment: repodata is empty again :( 2025-08-08 12:49:42 +00:00
nobodyinperson
f40b4026be Add YouTube link 2025-08-04 08:22:12 +00:00
branchable.git-annex@cd7b2a7420674f7ca1d0ff0a450d466c47cf6684
dab5c679b7 Updated the S3-special-remote example and prose based on recent B2 experience 2025-08-03 11:27:56 +00:00
Joey Hess
786fa037c8
comment 2025-08-01 13:57:50 -04:00
Joey Hess
3b2f09d6a2
link to new page 2025-08-01 13:52:29 -04:00
Joey Hess
a690c02361
add section on security 2025-08-01 13:51:25 -04:00
Joey Hess
398664d160
inline didn't work due to extension 2025-08-01 13:46:53 -04:00
Joey Hess
8d78682387
layout 2025-08-01 13:45:39 -04:00
Joey Hess
3b6b3416d9
add example git-annex-p2p-unix-sockets program and end-user docs 2025-08-01 13:44:00 -04:00
Joey Hess
05e945fdf9
Merge branch 'master' into genericp2p 2025-08-01 12:10:33 -04:00
Joey Hess
4958d74163
Merge branch 'master' of ssh://git-annex.branchable.com 2025-07-31 15:21:22 -04:00
Joey Hess
59bcfc838e
update design doc with changes from genericp2p branch
That branch is basically ready to merge, but needs more testing in a
chicken and egg situation.
2025-07-31 15:20:28 -04:00
yarikoptic
6578d323a1 Added a comment 2025-07-31 19:07:57 +00:00
Joey Hess
7643c716cd
changed design for p2p generic socket
Having the git-annex-p2p-<netname> command output the socket filename
left git-annex scrambling to listen to it in order to not miss incoming
connections. And if the command uses something like socat UNIX-CONNECT,
that expects the socket to be accepting connections and errors out when
it's not, that would be a problem.

Rather than complicating the protocol with git-annex needing to send
back a message when it's listening to the socket, simplified it by
having git-annex provide the socket path to the command.

This does mean that, if a P2P network has its own place it expects to
find a socket file, the git-annex-p2p-<netname> command would need to
somehow arrange for it to use the git-annex socket path. A symlink would
be one way to handle that situation.
2025-07-31 13:18:30 -04:00
Yann Büchau
4c652de8ee
Add yann's TdF talk about life in git annex 2025-07-31 18:25:31 +02:00
Joey Hess
d3fbda13e4
p2p --enable
p2p: Added --enable option, which can be used to enable P2P networks
provided by external commands git-annex-p2p-<netname>

Made git-annex p2p --enable tor behave the same as git-annex enable-tor,
to make tor a bit less of a special case. However, it canot be run as root,
since it cannot take the user id parameter.
2025-07-30 14:08:59 -04:00
Joey Hess
4fb9b7cb67
support P2PAnnex in connectPeer
This is probably enough to support accessing remotes using p2p-annex:: urls.
Not tested yet of course since there is not yet support for serving the
other side of such a connection, or for setting up such a connection.

P2P.Generic has an implementation of the whole interface to the
git-annex-p2p-<netname> commands.
2025-07-30 13:23:23 -04:00
nobodyinperson
b57842addd Added a comment: Use an older version e.g. from archive.org 2025-07-30 16:17:44 +00:00
Joey Hess
f631bc9e56
add P2PAnnex constructor
This is for p2p-annex:: urls that will use the new generic P2P
transport.

In addressCredsFile, threw in an url encoding of any non-alphanumeric
characters that are in the address. This is to avoid any possible path
traversal attacks via a p2p-annex:: url, since the address part of it
could contain any characters. And, went ahead and did the same url
encoding of tor-annex:: urls, even though tor onion addresses are all
alphanumerics, on the off chance that might avoid a similar problem.
(It does not seem likely enough to treat it as a security hole.)
2025-07-30 12:09:17 -04:00
h0b0
3d7951abce Added a comment: Cataline build missing 2025-07-30 15:19:06 +00:00
Joey Hess
2a81b26e8e
document output as a single line 2025-07-29 14:26:10 -04:00
Joey Hess
d70a8de5c5
rename design page 2025-07-29 14:24:05 -04:00
Joey Hess
c4a0ecaad1
documentation for generic P2P transports 2025-07-29 14:22:25 -04:00
Joey Hess
05c016084d
design for p2p socket transport 2025-07-29 14:00:21 -04:00
apoelstra
b691575e14 Added a comment: fsck can do this 2025-07-24 14:44:52 +00:00
Joey Hess
b415d5d1f3
add news item for git-annex 10.20250721 2025-07-22 14:11:53 -04:00
mih
0de42855c5 Added a comment: Works! 2025-07-22 13:31:21 +00:00
Joey Hess
8767771901
Merge branch 'master' of ssh://git-annex.branchable.com 2025-07-21 14:16:35 -04:00
nobodyinperson
5a5332faab Added a comment: Workaround for default wanted content? 2025-07-21 18:12:59 +00:00
Joey Hess
cf449837ea
run reconcileStaged even in smudge clean filter, using alternate code path
Improved workaround for git 2.50 bug, avoding an occasional test suite
failure, as well as some situations where an unlocked file did not get
populated when adding another file to the repository with the same content.

This uses the alternate code path that was already using when there was
a conflict. Since that code path is not able to record its work,
it will redo the same work next time. If the only way reconcileStaged
is getting run is via the smudge clean filter, that could result in
more and more changes getting processed redundantly each time. Once
some other git-annex command runs and calls reconcileStaged, it
will stop redoing that work. I don't think the extra work will be a
problem.
2025-07-21 14:10:49 -04:00
Joey Hess
f4fdab0ffa
fixed build failure 2025-07-21 12:27:39 -04:00
Joey Hess
d9bd90e598
response 2025-07-21 12:20:48 -04:00
Joey Hess
d364e434c8
Add --url option and url= preferred content expression
To match content that is recorded as present in an url.

Note that, this cannot ask remotes to provide an url using whereisKey, like
whereis does. Because preferred content expressions need to match the same
from multiple perspectives, and the remote would not always be available.

That's why the docs say "recorded as present", but still this may be
surprising to some who see an url in whereis output and are surprised they
cannot match on it.

The use of getDownloader is to strip the downloader prefix from urls like
"yt:". Note that, when OtherDownloader is used, this strips the ":" prefix,
and allows matching on those urls too.
2025-07-21 12:13:40 -04:00
Joey Hess
549569533b
Merge branch 'master' of ssh://git-annex.branchable.com 2025-07-21 10:53:08 -04:00
Joey Hess
ac25e5a6e7
todo 2025-07-19 16:45:51 -04:00
jnkl
6b4eabb161 Added a comment 2025-07-19 09:05:46 +00:00
Joey Hess
70da89d5b8
todo 2025-07-18 09:49:21 -04:00
jose1711
24b7f40cac Added a comment: fs type? 2025-07-18 09:10:50 +00:00