commit 7ef9b271b822dbc7a2cda4e286e4c3771c5c8291
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Sun Feb 15 11:55:08 2026 +0000
Commit Debian 3.0 (quilt) metadata
[dgit (14.7) quilt-fixup]
commit 227f23a5ea8649499536a3dc22171446e99df2fe
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Sun Feb 15 11:54:54 2026 +0000
changelog
commit a7636039ed86fd4aa554bd0d0e68fb540600d3d4
Merge: b104034d b648cd27
Author: Sean Whitton <spwhitton@spwhitton.name>
Date: Sun Feb 15 11:54:42 2026 +0000
Merge tag '10.20260213'
tagging package git-annex version 10.20260213
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEKKUAw1IH6rcvbA8l2xLbD/BfjzgFAmmPWaMACgkQ2xLbD/Bf
# jziN6w//U+qRCgJXSFrOtScHKiMJ6j3eG6WnjE3tosGGEI0qAlnUY60czBzJ4D86
# Um7LWYgPc9NLDShSF76mKDXQEVKENZoxr9t5jzc/5o0Vbh9SPShZR4lumYNC1gyJ
# htrLjJEY0dCH3kMAoCJ45uKym7tPO/m18aM7XYIXwaXbF/LXSrB1C7M43W2X/fH1
# 7cJoefJiJT2M4tmOpQmy5DOwsSCGz8ohtO0RrG+cRCtUQ9Kz3/JvYYIWAMpract3
# kqGyxk7F3V56GSd+kejy5x3Ez3cprG+ygs3/hS53MhNSLESbFynfRdqcTAcYlJ0S
# usiyrGb+zAgDEzqLROdHtV8hPoL+K95qYtxske1PXSHvli1CfNMFxzDZviYY9dCh
# lDFN+mJNq60tuylXmiAL3eW+0kN9OTcXfYseLWFL/dO2qzUQwi2RtmIogTDVUI8l
# wyB8ohRXPAWwFJut5S0zioXOuppnwwGhtOu1N69t8gKdVU5IgRcwv4uCaF8td0u2
# oliEkhvhLXT7mX9P7mlvfYHJiEQWSqNIrETK8E3H6GVyDQjmjwr5iEJglDOqZub8
# T3Pv72dCgd3v+eGz0iUTd2BEm0G1j/9TVF2c9CjrBp5O7L4q9x87j2nl8LIKt58l
# lvVxGbim+Ew/19hB+K+ZWkmKPFrj73kPegWHXnA0wOdLNgW9Zlg=
# =KNrE
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 13 Feb 2026 17:04:35 GMT
# gpg: using RSA key 28A500C35207EAB72F6C0F25DB12DB0FF05F8F38
# gpg: Good signature from "Joey Hess <joeyh@joeyh.name>" [full]
# Primary key fingerprint: E85A 5F63 B31D 24C1 EBF0 D81C C910 D922 2512 E3C7
# Subkey fingerprint: 28A5 00C3 5207 EAB7 2F6C 0F25 DB12 DB0F F05F 8F38
commit b648cd27653d7256e56b073e2dc42cf1f7b2aa25
Author: Joey Hess <id@joeyh.name>
Date: Fri Feb 13 13:04:32 2026 -0400
releasing package git-annex version 10.20260213
commit 3c7f9cecce2144bf6c34b19b62b1b98f5e06c0a0
Author: calmofthestorm <calmofthestorm@web>
Date: Fri Feb 13 06:01:44 2026 +0000
Added a comment: Ensuring only one process
commit c98e7554b3428f8f0e1260ea18d5cd7ef7731320
Author: Yaroslav Halchenko <debian@onerussian.com>
Date: Fri Feb 13 01:43:15 2026 +0000
Added a comment: the fix
commit 43a3f3aaf2b97001b311994ac062e49dec3cc1be
Author: Yaroslav Halchenko <debian@onerussian.com>
Date: Thu Feb 12 23:01:19 2026 +0000
report on inability to get video!
commit 971904eb05d6cb7cc580ec9ec1ea66a693d0e238
Author: Basile.Pinsard <Basile.Pinsard@web>
Date: Thu Feb 12 20:41:47 2026 +0000
removed
commit 339917127378d128979b617a2eef1c99b28cbfc6
Author: Basile.Pinsard <Basile.Pinsard@web>
Date: Thu Feb 12 20:41:19 2026 +0000
Added a comment: git-annex: potential data loss with initremote and push with S3 special remotes.
commit 1605cf1da6f6b788acbd8bbaed1ee4dfabd6f292
Author: Basile.Pinsard <Basile.Pinsard@web>
Date: Thu Feb 12 20:40:46 2026 +0000
Added a comment: git-annex: potential data loss with initremote and push with S3 special remotes.
commit 8f7ea3297ab00d47715c775afec3d127ac79b870
Author: calmofthestorm <calmofthestorm@web>
Date: Thu Feb 12 19:10:12 2026 +0000
Added a comment: Ensuring only one process
commit d02986c88dfa46438f3024a7009bb6c3755ca3ec
Author: Joey Hess <id@joeyh.name>
Date: Thu Feb 12 12:44:03 2026 -0400
credit
commit a2b2373729b4d1f4e1a105e2e6a42c5c7b66af97
Author: Greg Steuck <greg@nest.cx>
Date: Sun Feb 8 10:58:27 2026 -0800
Kqueue: update to OsPath
Finish the OsPath migration for Utility/DirWatcher/Kqueue.hs that was
incomplete in 033e4b086ffdac81072dd7d2cb0d2cc2c13e81a8.
commit 59de4ada4c5d4cd774e4ff454c578efe2021a566
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 11 12:26:37 2026 -0400
reorder changelog
commit 8d302dd72671ed91ed74c414215d41de60433201
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 11 12:21:15 2026 -0400
update
commit 9dc491a39d3f04c5da5546cccf428b07fcbe7e7f
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 11 12:19:24 2026 -0400
fix link
commit f03035f4c12d318cce8260d94f459f738a7d6c93
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 11 12:18:01 2026 -0400
rename bug report for windows
Windows is unable to handle a directory name ending with ".."
commit d2f3aa5eb53b62f13c36517f563c7accc980db0c
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 14:14:05 2026 -0400
todo
commit 371775f8d392564e7387b3abc13ecb883e6e5b72
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 13:43:03 2026 -0400
comment
commit 889ed949bce1806a849631dd4678f9cda2c85ea5
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 12:58:31 2026 -0400
comment
commit fc28e5d81e0fc300865c44ad7688e3a60f25e858
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 12:55:22 2026 -0400
use alwaysRunTransfer for local remote Upload
Fix bug that prevented 2 clones of a local git remote from concurrently
downloading the same file.
Here the Upload is running from the perspective of the local remote,
so it should not prevent 2 from running at the same time.
It seems this was missed when making the equivilant change to
git-annex-shell sendkey back in 2014, in commit
852185c2428fdaaafb240b74d99663bc5f6627e1
Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
commit b5ef6ec202c971510d59d1c8f98c8da439d632dc
Merge: 6b2ea4d9 dbd68832
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 12:50:25 2026 -0400
Merge branch 'master' of ssh://git-annex.branchable.com
commit 6b2ea4d9e02ab18d18f14e672fbf7a52939b4e85
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 9 12:41:45 2026 -0400
Fix incorrect transfer direction in remote transfer log when downloading from a local git remote
From the perspective of the remote, the transfer is an Upload, not a
Download.
This caused git-annex info to show the wrong thing when run in the remote.
commit dbd68832715c5d8d539121912ff17be026063d7b
Author: nadir <nadir@web>
Date: Sat Feb 7 10:42:11 2026 +0000
Added a comment: Same issue
commit 07f686b3ed12f3aa9406ff998a33b1e4982848fe
Author: Yaroslav Halchenko <debian@onerussian.com>
Date: Fri Feb 6 21:58:37 2026 +0000
Added a comment
commit baeb0a0e7fd4019b7d55c226f4d78a750636145f
Author: Joey Hess <id@joeyh.name>
Date: Fri Feb 6 14:23:59 2026 -0400
Deprecate undo command.
* Deprecate undo command.
* Remove undo action from kde and nautilus integrations.
git-annex undo is not git-annex specific in any way. So it does not make
sense for it to be part of git-annex. And the same thing can of course be
done by other git commands.
commit fb5b76cf3492e64c1a0cc05f4008bf205611a35b
Author: Joey Hess <id@joeyh.name>
Date: Fri Feb 6 13:46:37 2026 -0400
Remove deprecated command proxy
Was only useful in direct mode repos, and it's been long enough since
moving away from those that the change this breaks someone's script or
workflow is worth finishing the removal.
Especially since git-annex has since gotten support for proxying to
remotes, which is entirely different from this. So removing this avoids
some confusing name spacing.
commit 45e19cc2fa6bd9bc66b4b719a82c484ebe0b96ce
Author: Joey Hess <id@joeyh.name>
Date: Fri Feb 6 13:43:40 2026 -0400
Remove deprecated commands direct and indirect
The conversion from direct mode was in 7.20190912, which is far enough ago
that people should not be trying to use these old deprecated commands any
longer.
commit 93bc8c4aefb3e0623124381a3ae308f3003ddf3e
Author: Joey Hess <id@joeyh.name>
Date: Fri Feb 6 13:39:59 2026 -0400
Remove deprecated git-annex transferkeys
commit e125a2dcfcfb3e7c93540173cf11d697fd269aea
Author: Yaroslav Halchenko <debian@onerussian.com>
Date: Thu Feb 5 16:39:00 2026 +0000
commit 238090eb14c7f9e9a07bb02af3f6da3bb4c8e891
Author: asmacdo <asmacdo@web>
Date: Thu Feb 5 16:23:30 2026 +0000
commit 7fd2e5fa82b0889547623fa1d490b46ddf46846d
Author: asmacdo <asmacdo@web>
Date: Thu Feb 5 16:21:39 2026 +0000
Added a comment: Have you had any luck using git-annex before?
commit 7380344133e0fd7b60a61a63478b7084d322ec4a
Author: asmacdo <asmacdo@web>
Date: Thu Feb 5 16:18:49 2026 +0000
commit 8ee3737a47496f9ce8be054f06c1f72dce314dc3
Author: matrss <matrss@web>
Date: Thu Feb 5 14:42:49 2026 +0000
Added a comment
commit b456740fefb5d0603005d1719707f784ed664d91
Author: nadir <nadir@web>
Date: Thu Feb 5 14:12:26 2026 +0000
Added a comment
commit e1ce4a530bbcd7ded1bd67613c15f9f75005336d
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 4 15:53:34 2026 -0400
rsync: Avoid deleting contents of a non-empty directory when removing the last exported file to the directory
If a third party has put files in the directory and git-annex doesn't know
about them, this prevents removing them.
Of course, an export can always overwrite third-party added files (unless
importtree=yes when it takes care to avoid that).
But it's more surprising that unexporting the last file in a directory also
removes any other third-party added files in that directory.
Since it's possible for the rsync remote to avoid that scenario, pursue
least surprise, even though it's not perfectly attainable.
The method is just rsync with --include=subdir/ and --exclude=*,
which excludes subdir/*. So only removing subdir when it's empty.
(Note that the includes = function always yielded [], which makes me think
I didn't think very hard when implementing this originally.)
commit c4edaf0b202cd2da6372b8029b1738b80a129b97
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 4 13:37:37 2026 -0400
comment
commit 74d3c2a6b184b9ebf8307ad8ae37fa81b99d9ad0
Author: Joey Hess <id@joeyh.name>
Date: Wed Feb 4 12:32:00 2026 -0400
comment
commit 8713fe39a2d65f485a8d37d31b5ac1a70e37073c
Author: matrss <matrss@web>
Date: Tue Feb 3 13:22:11 2026 +0000
Added a comment
commit 9e70031931dd1c14ee69017719a771d4503e7a2b
Author: matrss <matrss@web>
Date: Tue Feb 3 12:58:33 2026 +0000
Added a comment
commit 777950ae5468f4be9ea58602f8d2cffc23802cef
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 14:49:18 2026 -0400
comment and close
commit 48ca59c0f609a29f520da737dc3ac0c6de49a159
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 14:47:07 2026 -0400
p2phttp: Added --cpus option
This allows bumping -J up to a high value to handle a lot of concurrent
requests without blocking, without the p2phttp server scaling up to use
all CPUs.
It would be easy to add --cpus to other commands too, but I don't know of a use
case for it. What would be the point of running git-annex get -J100 --cpus=10?
Usually, running more threads per CPU will slow them down due to contention
and caching. The only possible benefit might be if a lot of jobs were slow
and some fast, to avoid bottlenecking running only slow jobs, but without
using up all cores on fast jobs. So perhaps.. But that seems difficult for
the user to understand and unlikely to be something they will want to use.
commit f55534c8217e9e79ceaad4d3c89ecd97b12dce3c
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 14:10:26 2026 -0400
avoid ever starting more capabilities than the number of cpus
There is no benefit to doing so since the point of a capability is that
each runs on a separate cpu. And each capability has some overhead
particularly several FDs, so hundreds of capabilities can use more FDs than
are sometimes available.
Also, ghc has a hardcoded maximum number of capabilities, currently 256,
and this avoids setting -J higher clamping to that with an ugly message.
commit a08ffe1855879585e39be63d991e7f412e2ac631
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 13:54:35 2026 -0400
comment
commit 1a052239e25f375a26e978c2b199988086ff49d0
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 13:34:00 2026 -0400
response
commit d3567cdc47cc77befb132bb17273ada103efea96
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 11:12:42 2026 -0400
fix conversions to withFile
33bb14339ac76db8f9e6ae0454eb449303637c1b accidentially used withFile',
which is for lazy IO and does not close the handle. That broke the test
suite.
Sponsored-by: Kevin Mueller
commit 0613130468c888e4ea84e9870b4e5ae95064be01
Merge: 2b34900b 42530350
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 10:07:45 2026 -0400
Merge branch 'master' of ssh://git-annex.branchable.com
commit 2b34900bb29a582d55eb22899f140f316b758040
Author: Joey Hess <id@joeyh.name>
Date: Mon Feb 2 10:07:31 2026 -0400
add back missing include on windows
commit 4253035083a70fadb7bf58927e2db03503da86c6
Author: matrss <matrss@web>
Date: Mon Feb 2 11:20:14 2026 +0000
Added a comment
commit cb6eb0da5ae5ce2019faf6df918e4cf5b2cb60c3
Author: matrss <matrss@web>
Date: Mon Feb 2 11:15:46 2026 +0000
commit a2a126fc065a9298bbc4830ebb219102a6bcbc53
Author: Yaroslav Halchenko <debian@onerussian.com>
Date: Sat Jan 31 18:25:28 2026 +0000
assistant does not add or commit
commit 202e1416c53117a4cd2bd695dfed6744b3d71a10
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 12:44:47 2026 -0400
improve -J docs, suggesting higher value
commit 0f92599705d63fe72d7019ffb64e45b64f81052e
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 12:31:18 2026 -0400
comment
commit 684688302088b8e3429e169e2b7fd69317f4385a
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 12:30:00 2026 -0400
response
commit aab5d077d1e1446f4ad3bc7635e049d8bcc9dae7
Merge: 33bb1433 a01bdc08
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 12:20:00 2026 -0400
Merge branch 'master' of ssh://git-annex.branchable.com
commit 33bb14339ac76db8f9e6ae0454eb449303637c1b
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 12:15:17 2026 -0400
remove file-io locale encoding bug workaround
https://github.com/haskell/file-io/issues/45
Fixed in file-io 0.2.0. Went ahead and made that version be required for
the OsPath build flag to avoid ifdefs. Since it's behind that build flag,
builds with older versions of file-io will keep working, by auto-disabling
the build flag.
Note that this loses the withFileNoEncoding optimisation when opening a
file only to perform ByteString IO on it. That is probably too minor an
optimisation to worry about, since it only involves avoiding an IORef
read/write or such.
Sponsored-by: Nicholas Golder-Manning
commit d02a217c48338444c1cfd0e066e7cd633d795a51
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 11:48:58 2026 -0400
file-io 0.2.0 openTempFile' supports setting close-on-exec
This makes for a cleaner implementation, which is also better because it
does not stall process creation while creating temp files.
Left an ifdef, since on unix, older versions of file-io are still
supported, for now.
Sponsored-by: Nicholas Golder-Manning
commit 15f55024695ea497d97bf42ec52d5a05da4e323c
Author: Joey Hess <id@joeyh.name>
Date: Fri Jan 30 11:37:38 2026 -0400
Windows: Depend on file-io 0.2.0, to simplify support for long filenames
https://github.com/haskell/file-io/issues/39 is resolved.
Except, it seems that openTempFile was omitted from that fix.
I followed up pointing that out, so hopefully that can be fixed
eventually. Unfortunately, even then convertToWindowsNativeNamespace
will still need to be in git-annex as it's used in one other place,
which is not part of file-io.
Depending on the new file-io, for windows only for now.
Didn't want to add even more #ifdefs, the point of getting this fixed in
file-io is to reduce complexity, not to increase it.
The stack.yaml flag addition seemed to be needed to get this
version of file-io to be used. I'm not sure why.
Sponsored-by: Joshua Antonishen
commit a01bdc080847a23ca9a861887b9e10883bb3da0a
Author: matrss <matrss@web>
Date: Thu Jan 29 19:25:14 2026 +0000
Added a comment
commit 48ed955a54f97961a3bf857113be45641d929499
Author: Joey Hess <id@joeyh.name>
Date: Thu Jan 29 14:12:19 2026 -0400
response
commit 7e1890cf838ccf192ddc0f53771f0eb61b433edf
Author: matrss <matrss@web>
Date: Thu Jan 29 09:04:04 2026 +0000
Added a comment
commit 8094aba752a61c0bdc6f750d65c18c97f6aed55e
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 17:42:30 2026 -0400
p2phttp: Fix a server stall by disabling warp's slowloris attack prevention
Not great, but better than the alternative.
Hopeing this is temporary and the warp bug will be fixed and I can deal
with the problem better then.
commit da8978d2b125b437c01b613cf1b25a978372a7a5
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 17:07:16 2026 -0400
remove unused import
commit bb94e1920e4cae1e9e418e50f87cd68ef09719ef
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 16:59:50 2026 -0400
oops
commit 786360cdcf7f784847715ec79ef9837ada9fa649
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 16:37:13 2026 -0400
p2phttp: close P2P connection when streamer is canceled
Slowloris attack prevention in warp can cancel the streamer.
In that case, waitfinal never gets called. So make an exception handler
that sets finalv. This lets the P2P connection get shut down properly,
releasing the annex worker back to the pool.
Unfortunatly, this does not solve the whole problem. It does prevent a
p2phttp with -J from locking up after the second time slowloris
protection triggers. But, later it does still lock up.
There must be some other resource that is leaking when slowloris attack
prevention triggers.
Note that the STM exception catching when reading finalv may not be
needed any longer? I'm not sure and it seemed like perhaps it took
longer to hang when I left it in.
commit 1b7fe547dc6e192fced76b56687cb22bf0d70fc0
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 14:59:43 2026 -0400
comments
commit d9fb8869d5951478fbcc05170bf7f1998600fdae
Author: Joey Hess <id@joeyh.name>
Date: Wed Jan 28 13:07:15 2026 -0400
analysis
Among the 1 debian patch available in version 10.20251029-1 of the package, we noticed the following issues: