Commit graph

12,772 commits

Author SHA1 Message Date
Joey Hess
eae2e3cbbc
Merge branch 'master' of ssh://git-annex.branchable.com 2025-11-07 16:49:26 -04:00
Joey Hess
8ff95d7714
status update 2025-11-07 16:49:00 -04:00
matrss
b2cfa60c13 Added a comment 2025-11-07 09:12:13 +00:00
Joey Hess
75808f0a7e
comment 2025-11-06 16:28:52 -04:00
Joey Hess
45c63931ca
Merge branch 'master' of ssh://git-annex.branchable.com 2025-11-05 16:41:35 -04:00
Joey Hess
249ed07ea7
comment 2025-11-05 16:41:21 -04:00
Joey Hess
5ce74748ed
analysis 2025-11-05 14:04:20 -04:00
cjmarkie
e0c6656ffd Add openneuro tag 2025-11-04 18:04:59 +00:00
Joey Hess
2820c5a4a6
Merge branch 'master' of ssh://git-annex.branchable.com 2025-11-03 15:29:49 -04:00
Joey Hess
34ffda2c6f
p2p --pair: Fix to work with external P2P networks
When storing a P2P authtoken, it needs to have our local address, not the
address of the peer.
2025-11-03 14:03:57 -04:00
nellh@380042d7938c4cc270905b24e15d4a682e23e15d
50cca2f46b 2025-11-03 00:00:05 +00:00
matrss
c816610229 2025-10-30 15:39:53 +00:00
matrss
51daa979ca 2025-10-29 17:30:57 +00:00
matrss
2a4eef3538 Added a comment 2025-10-26 11:55:55 +00:00
Joey Hess
af653bbf31
bug 2025-10-25 12:42:26 -04:00
yarikoptic
4a2a1318e6 Added a comment 2025-10-24 14:26:08 +00:00
Joey Hess
97b8e4d4c2
Support ssh remotes with '#' and '?' in the path to the repository
The same way git does.

Affected repository types are regular git ssh remotes, and also gcrypt
remotes, and potentially also bup remotes.

repoPath is used for such repositories accessed over ssh. uriPath is used
in some other places, eg the bittorrent special remote, where it would not
be appropriate to mimic git's behavior. The distinction seems to hold up
well from what I can see.

The ordering of uriFragment after uriQuery is to correctly handle cases
where both appear in an url. "ssh://localhost/tmp/foo?baz#bar" has an
uriFragment of "#bar" and an uriQuery of "?baz". On the other hand,
"ssh://localhost/tmp/foo#baz?bar" has an uriFragment of "#baz?bar" and no
uriQuery.

Sponsored-by: Dartmouth College's DANDI project
2025-10-20 15:35:24 -04:00
matrss
0b20ef39f8 2025-10-16 15:51:22 +00:00
JohnMorris
9349a2d0f9 2025-10-13 11:51:37 +00:00
poelzi
a1eeeebce1 2025-10-11 12:56:32 +00:00
caleb@2b0d6f0eabf955cc8fd04c634b09f0ca4aad9233
bbb2f158a9 Added a comment 2025-10-01 22:15:15 +00:00
ewen
2ca5e6109f Added a comment: Fixed in 20050929 2025-09-29 21:54:14 +00:00
Joey Hess
e896e2c0d7
Revert "webapp: Remove support for local pairing"
This reverts commit 8ea6d7acc5.

Temporarily, until builds finish for today's release.
2025-09-29 15:53:38 -04:00
Joey Hess
8ea6d7acc5
webapp: Remove support for local pairing
As a feature only supported by the webapp, and not by git-annex at the
command line, this is by now a very obscure corner of git-annex, and not
one I want to keep maintaining.

It's worth removing it to avoid the security expsure alone. People using
the assistant w/o the webapp probably don't expect it to be listening on
a UDP port for a handrolled protocol, but it was.

The webapp has supported pairing via magic-wormhole since 2016, which
makes a link including between local computers, albeit with the overhead
of tor. That sort of covers the same use case. Of course advanced users
can easily enough add a ssh remote to their repository themselves, using
a hostname on the local network.

Sponsored-by: unqueued
2025-09-29 12:56:54 -04:00
Joey Hess
d76e242716
Fix build with ghc 9.0.2. 2025-09-29 11:27:52 -04:00
Joey Hess
b13b1d48b2
add libghc-unbounded-delays-dev to debian/control deps 2025-09-29 11:11:20 -04:00
Joey Hess
026bab0c49
don't set locale encoding when opening binary file
importfeed: Fix encoding issues parsing feeds when built with OsPath.
2025-09-29 11:06:18 -04:00
ewen
2cb359b672 Added a comment: Cross link to importfeed parsing 2025-09-28 22:49:31 +00:00
ewen
3f6940ab37 Added a comment: Feed seems to now be parsed as UTF-8 characters, not binary mode 2025-09-28 22:42:32 +00:00
ewen
b0ae77a7dd Added a comment: importfeed: utf-8 XML is (now?) parsed into 8-bit characters 2025-09-28 22:24:23 +00:00
ewen
4b84dd3a53 Added a comment: Example still working feed 2025-09-28 22:05:57 +00:00
ewen
3fd99653f4 Added a comment: Debug output 2025-09-28 21:58:18 +00:00
ewen
c7db175180 Added a comment: Previous working build was 20250828 2025-09-28 21:35:08 +00:00
ewen
8ecae11f7c importfeed: Enum.toEnum{Word8}: tag (8217) is outside of bounds (0,255) 2025-09-28 21:32:35 +00:00
yarikoptic
0439c3aae3 missing build dep for debian? 2025-09-27 12:19:14 +00:00
caleb@2b0d6f0eabf955cc8fd04c634b09f0ca4aad9233
699c75f637 2025-09-25 23:04:55 +00:00
Joey Hess
23509bad54
fixed 2025-09-24 12:03:18 -04:00
Joey Hess
2f910640b1
Merge branch 'master' of ssh://git-annex.branchable.com 2025-09-23 12:54:33 -04:00
Joey Hess
ff65cd6954
invalidate recorded content identifier tree when export changes
Fix bug that made changes to a special remote sometimes be missed when
importing a tree from it. The diff import would miss when a change was
exported, then manually undone on the special remote (eg deleting a newly
exported file). A full import is needed to catch such changes.

After upgrading, any such missed changes will be included in the next
tree imported from a special remote. This happens because the previously
recorded content identifier tree does not have export information included,
so it is treated as invalid, and a full import is done.

Fixes reversion introduced in version 10.20230626, commit
40017089f2

Unfortunately, this does mean that after each export, the next import will
be a full import. Which can take significantly longer than the diff import
does, when there are a lot of files in the tree.

It would be better if exporting also update the content identifier tree.
However, I don't know if that can be done inexpensively. It would be future
optimisation work, in any case.

(That could only be done for an export that is run in the same
repository as the import. When an export is run in a different repository,
the export.log gets updated, and that propagates to the repository where
import is later run. At that point, a full import is done.)

Sponsored-by: Luke T. Shumaker
2025-09-23 12:52:55 -04:00
yarikoptic
c552ea8108 2025-09-23 14:26:07 +00:00
yarikoptic
1c38869e32 Windows still FTBFS 2025-09-23 14:24:30 +00:00
Joey Hess
478f42d3f3
thought 2025-09-22 23:57:30 -04:00
Joey Hess
3d1c871b8d
worse 2025-09-22 23:48:46 -04:00
Joey Hess
2323579068
promote forum post to bug, analysis 2025-09-22 19:30:23 -04:00
Joey Hess
16d7432a2f
prevent deadlock when reconcileStaged runs restagePointerFiles
Fix hang that could occur when using git-annex adjust on a branch with a
number of files greater than annex.queuesize. Or potentially other
commands.

When reconcileStaged is running, the database is being opened. But
restagePointerFiles closes the database, and later writes to it. So it will
deadlock if called by reconcileStaged.

The deadlock occurred when the git queue happened to be full, causing
adding a call to restagePointerFiles to it to flush the queue and
restagePointerFiles to run at the wrong time.

Fixed by making reconcileStaged, when it populates or depopulates a pointer
file, arrange for restagePointerFiles to be run as a cleanup action, rather
than from the git queue.

But, what if restagePointerFiles is already in the git queue before
reconcileStaged is run? If it adds anything else to the git queue, causing
the queue to flush, it would still deadlock. To avoid this hypothetical
situation, added a Annex.inreconcilestaged, and made restagePointerFiles
check it and not do anything.

Note that, I did consider the simpler approach of only running
restagePointerFiles as a cleanup action, rather than from the git queue.
But see commit 6a3bd283b8 for why it was made
to use the queue in the first place. I wanted to avoid tying this bug fix
to a behavior change.

Sponsored-by: mycroft
2025-09-22 14:56:50 -04:00
Joey Hess
ada2664b9c
update 2025-09-22 12:07:16 -04:00
Joey Hess
75c7800424
comment 2025-09-22 11:19:13 -04:00
Joey Hess
d99380be85
comment 2025-09-22 11:15:32 -04:00
Joey Hess
dfbf76e2ca
enableremote: Disallow using type= to attempt to change the type of an existing remote
Changing the type out from under an existing special remote exposes the
existing config to something that may interpret it wildly differently. As
seen in the bug report, this can even result in behavior that makes
git-annex say it's buggy. So prevent the user from doing this. --sameas is
the better way.

Sponsored-by: Kevin Mueller
2025-09-22 10:54:16 -04:00
Joey Hess
e1c6a48f96
comment 2025-09-22 10:27:28 -04:00