git-annex.git
2 years ago(no commit message)
imlew [Thu, 18 Jan 2024 18:25:48 +0000 (18:25 +0000)]

2 years agoopen todo
Joey Hess [Thu, 18 Jan 2024 17:11:28 +0000 (13:11 -0400)]
open todo

2 years agocomment
Joey Hess [Thu, 18 Jan 2024 17:01:04 +0000 (13:01 -0400)]
comment

2 years agodocument that --listen specifies an IP address
Joey Hess [Thu, 18 Jan 2024 16:58:00 +0000 (12:58 -0400)]
document that --listen specifies an IP address

Avoid users getting confused and thinking this allows specifying the
port.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2 years agocleanup
Joey Hess [Thu, 18 Jan 2024 16:42:26 +0000 (12:42 -0400)]
cleanup

2 years agoimport: --message/-m option
Joey Hess [Thu, 18 Jan 2024 16:41:44 +0000 (12:41 -0400)]
import: --message/-m option

2 years agocomment
Joey Hess [Thu, 18 Jan 2024 16:16:48 +0000 (12:16 -0400)]
comment

2 years agonot a bug
Joey Hess [Thu, 18 Jan 2024 16:11:10 +0000 (12:11 -0400)]
not a bug

2 years agofixed
Joey Hess [Thu, 18 Jan 2024 15:56:03 +0000 (11:56 -0400)]
fixed

2 years agofix windows build
Joey Hess [Thu, 18 Jan 2024 15:54:59 +0000 (11:54 -0400)]
fix windows build

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 18 Jan 2024 15:53:20 +0000 (11:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years ago(no commit message)
imlew [Wed, 17 Jan 2024 14:32:12 +0000 (14:32 +0000)]

2 years agoMention annextimelog
nobodyinperson [Tue, 16 Jan 2024 23:54:27 +0000 (23:54 +0000)]
Mention annextimelog

2 years agoAdded a comment
jkniiv [Tue, 16 Jan 2024 23:23:27 +0000 (23:23 +0000)]
Added a comment

2 years agoAdded a comment: I can confirm
jkniiv [Tue, 16 Jan 2024 22:28:22 +0000 (22:28 +0000)]
Added a comment: I can confirm

2 years agoclose
Joey Hess [Tue, 16 Jan 2024 18:38:49 +0000 (14:38 -0400)]
close

2 years agodisk free checking for unsized keys
Joey Hess [Tue, 16 Jan 2024 18:29:10 +0000 (14:29 -0400)]
disk free checking for unsized keys

Improve disk free space checking when transferring unsized keys to
local git remotes. Since the size of the object file is known, can
check that instead.

Getting unsized keys from local git remotes does not check the actual
object size. It would be harder to handle that direction because the size
check is run locally, before anything involving the remote is done. So it
doesn't know the size of the file on the remote.

Also, transferring unsized keys to other remotes, including ssh remotes and
p2p remotes don't do disk size checking for unsized keys. This would need a
change in protocol.

(It does seem like it would be possible to implement the same thing for
directory special remotes though.)

In some sense, it might be better to not ever do disk free checking for
unsized keys, than to do it only sometimes. A user might notice this
direction working and consider it a bug that the other direction does not.
On the other hand, disk reserve checking is not implemented for most
special remotes at all, and yet it is implemented for a few, which is also
inconsistent, but best effort. And so doing this best effort seems to make
some sense. Fundamentally, if the user wants the size to always be checked,
they should not use unsized keys.

Sponsored-by: Brock Spratlen on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 16 Jan 2024 15:56:16 +0000 (11:56 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agooptimise adjustTree when adding many TreeItems (take 2)
Joey Hess [Tue, 16 Jan 2024 15:52:45 +0000 (11:52 -0400)]
optimise adjustTree when adding many TreeItems (take 2)

The old code traversed the list of addtreeitems once per subdirectory in
the tree, so could get quite slow. Converting to Map lookups sped it up
significantly.

In my test case, git-annex import used to take about 2 minutes, when
calling adjustTree to add back excluded files to the imported tree. This
dropped it down to 6 seconds. Of which 4 seconds are the actual
enumeration of the contents of the remote, so really only 2 seconds for
this.

The path prefix map is a bit suboptimal memory-wise, since items get
stored in the map once per subdirectory on the path to the item. It
would perhaps be better to use a tree data structure.

Also it's suboptimal memory-wise that it builds two maps, as well
as retaining a reference to addtreeitems. I could not see a way around
that though.

This is a fixed version of commit 2c86651180d5c8648b8244be894c26bc98a6c334.
It fixes a test suite reversion.

Sponsored-by: Jack Hill on Patreon
2 years agotypo fix (renote -> remote)
kdm9 [Tue, 16 Jan 2024 14:36:56 +0000 (14:36 +0000)]
typo fix (renote -> remote)

2 years agowindows build is broken
yarikoptic [Mon, 15 Jan 2024 15:38:43 +0000 (15:38 +0000)]
windows build is broken

2 years agoAdded a comment
TTTTAAAx [Mon, 15 Jan 2024 01:43:28 +0000 (01:43 +0000)]
Added a comment

2 years agoAdded a comment
aurelien@f0d0a0c7da69eff6badf0464898f0a859f69114d [Sun, 14 Jan 2024 23:18:43 +0000 (23:18 +0000)]
Added a comment

2 years agorename forum/Initial_macOS_setup_between_two_Macs.mdwn to forum/Initial_macOS_setup_b...
jaharmi [Sun, 14 Jan 2024 20:28:54 +0000 (20:28 +0000)]
rename forum/Initial_macOS_setup_between_two_Macs.mdwn to forum/Initial_macOS_setup_between_two_local_Macs.mdwn

2 years ago(no commit message)
jaharmi [Sun, 14 Jan 2024 20:28:24 +0000 (20:28 +0000)]

2 years ago(no commit message)
jaharmi [Sun, 14 Jan 2024 20:27:44 +0000 (20:27 +0000)]

2 years ago(no commit message)
jstritch [Sun, 14 Jan 2024 16:23:13 +0000 (16:23 +0000)]

2 years ago(no commit message)
jstritch [Sun, 14 Jan 2024 16:15:36 +0000 (16:15 +0000)]

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 12 Jan 2024 17:52:04 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoupdate
Joey Hess [Fri, 12 Jan 2024 17:51:59 +0000 (13:51 -0400)]
update

2 years agosupport annex.shared-sop-command for encryption=shared
Joey Hess [Fri, 12 Jan 2024 17:29:34 +0000 (13:29 -0400)]
support annex.shared-sop-command for encryption=shared

This works well, and it interoperates with gpg in my testing (although some
SOP commands might choose to use a profile that does not so caveat emptor).

Note that for creating the Cipher, gpg --gen-random is still used. SOP
does not have an eqivilant, and as long as the user has gpg around,
which seems likely, it doesn't matter that it uses gpg here, it's not being
used for encryption. That seemed better than implementing a second way
to get high quality entropy, at least for now.

The need for the sop command to run in an empty directory has each call
to encrypt and decrypt creating a new temporary directory. That is some
unncessary overhead, though probably swamped by the overhead of running
the sop command. This could be improved in the future by passing an
already empty directory to them, or a sufficiently empty directory
(.git/annex/tmp would probably suffice).

Sponsored-by: Brett Eisenberg on Patreon
2 years agomore groundwork for StatelessOpenPGP
Joey Hess [Fri, 12 Jan 2024 16:27:58 +0000 (12:27 -0400)]
more groundwork for StatelessOpenPGP

no behavior changes

2 years agoAdded a comment: Try datalad
nobodyinperson [Fri, 12 Jan 2024 09:23:16 +0000 (09:23 +0000)]
Added a comment: Try datalad

2 years ago(no commit message)
jstritch [Thu, 11 Jan 2024 18:24:52 +0000 (18:24 +0000)]

2 years agoclarify that combined hook program is deprecated, not entire hook special remote
Joey Hess [Thu, 11 Jan 2024 15:04:07 +0000 (11:04 -0400)]
clarify that combined hook program is deprecated, not entire hook special remote

2 years agoAdded a comment
TTTTAAAx [Thu, 11 Jan 2024 14:15:58 +0000 (14:15 +0000)]
Added a comment

2 years agoAdded a comment
TTTTAAAx [Thu, 11 Jan 2024 13:58:27 +0000 (13:58 +0000)]
Added a comment

2 years agoclose send side of password pipe on exec
Joey Hess [Wed, 10 Jan 2024 21:31:58 +0000 (17:31 -0400)]
close send side of password pipe on exec

This avoids a hang approximately 1% of the time when running the test
suite on StatelessOpenPGP.

Since I've not seen git-annex hang when running git like that, I guess
git probably does something that avoids hanging similarly. Still, fixed
the same problem in Utility.Gpg too.

Sponsored-by: Kevin Mueller on Patreon
2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 10 Jan 2024 20:42:40 +0000 (16:42 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoreverted problem commit
Joey Hess [Wed, 10 Jan 2024 20:37:29 +0000 (16:37 -0400)]
reverted problem commit

2 years agoRevert "optimise adjustTree when adding many TreeItems"
Joey Hess [Wed, 10 Jan 2024 20:36:44 +0000 (16:36 -0400)]
Revert "optimise adjustTree when adding many TreeItems"

This reverts commit 2c86651180d5c8648b8244be894c26bc98a6c334.

That commit caused a test failure and problably wrong trees to be
imported, so revert until that is fixed.

2 years agotest annex.shared-sop-command
Joey Hess [Wed, 10 Jan 2024 20:30:38 +0000 (16:30 -0400)]
test annex.shared-sop-command

Test a specified Stateless OpenPGP command with eg:
git-annex test --test-git-config annex.shared-sop-command=sqop

Also documented that config and another one, but so far only the test suite
uses the configs, have not yet implemented using it for actual symmetric
encryption.

Sponsored-by: Joshua Antonishen on Patreon
2 years agoStateless OpenPGP interface
Joey Hess [Wed, 10 Jan 2024 19:59:35 +0000 (15:59 -0400)]
Stateless OpenPGP interface

Implemented according to
https://www.ietf.org/archive/id/draft-dkg-openpgp-stateless-cli-09.html#name-encrypt-encrypt-a-message

Not yet used by git-annex.

Sponsored-by: Leon Schuermann on Patreon
2 years agocorrect comment
Joey Hess [Wed, 10 Jan 2024 19:59:16 +0000 (15:59 -0400)]
correct comment

2 years agoupdate comment
Joey Hess [Wed, 10 Jan 2024 17:24:09 +0000 (13:24 -0400)]
update comment

2 years agoAdded a comment: Not a special remote
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1 [Wed, 10 Jan 2024 08:54:57 +0000 (08:54 +0000)]
Added a comment: Not a special remote

2 years agocomments
Joey Hess [Tue, 9 Jan 2024 21:04:17 +0000 (17:04 -0400)]
comments

2 years agoupdate
Joey Hess [Tue, 9 Jan 2024 21:04:10 +0000 (17:04 -0400)]
update

2 years agosop
Joey Hess [Tue, 9 Jan 2024 20:57:11 +0000 (16:57 -0400)]
sop

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 9 Jan 2024 19:32:26 +0000 (15:32 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoassistant: When generating a gpg secret key, avoid hardcoding the key algorithm and...
Joey Hess [Tue, 9 Jan 2024 19:31:53 +0000 (15:31 -0400)]
assistant: When generating a gpg secret key, avoid hardcoding the key algorithm and size

This aims to future-proof gpg key generation. OpenPGP is in flux with a
conflict over standards ongoing. It seems not unlikely that different
systems will have different gpg commands that support different algorithms.

This also simplifies the code by using the --quick-gen-key interface rather
than the experimental batch interface. It seems less likely that
--quick-gen-key will break than an experimental interface (whose
documentation I can no longer find).

--quick-gen-key is supported since gpg 2.1.0 (2014).

Sponsored-by: Graham Spencer on Patreon
2 years agoAdded a comment: Using fuse annexize - works like a charm
psxvoid [Sun, 7 Jan 2024 04:11:37 +0000 (04:11 +0000)]
Added a comment: Using fuse annexize - works like a charm

2 years ago(no commit message)
yarikoptic [Sat, 6 Jan 2024 18:31:18 +0000 (18:31 +0000)]

2 years agoreporting about --listen
yarikoptic [Sat, 6 Jan 2024 16:00:05 +0000 (16:00 +0000)]
reporting about --listen

2 years agoAdded a comment
nobodyinperson [Sat, 6 Jan 2024 09:22:54 +0000 (09:22 +0000)]
Added a comment

2 years agoAdded a comment
yarikoptic [Fri, 5 Jan 2024 21:00:52 +0000 (21:00 +0000)]
Added a comment

2 years agonew issue about stalling transfers
yarikoptic [Thu, 4 Jan 2024 20:23:34 +0000 (20:23 +0000)]
new issue about stalling transfers

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Wed, 3 Jan 2024 19:22:03 +0000 (15:22 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agooptimise adjustTree when adding many TreeItems
Joey Hess [Wed, 3 Jan 2024 19:07:49 +0000 (15:07 -0400)]
optimise adjustTree when adding many TreeItems

The old code traversed the list of addtreeitems once per subdirectory in
the tree, so could get quite slow. Converting to Map lookups sped it up
significantly.

In my test case, git-annex import used to take about 2 minutes, when
calling adjustTree to add back excluded files to the imported tree. This
dropped it down to 6 seconds. Of which 4 seconds are the actual
enumeration of the contents of the remote, so really only 2 seconds for
this.

The path prefix map is a bit suboptimal memory-wise, since items get
stored in the map once per subdirectory on the path to the item. It
would perhaps be better to use a tree data structure.

Also it's suboptimal memory-wise that it builds two maps, as well
as retaining a reference to addtreeitems. I could not see a way around
that though.

Sponsored-by: Luke T. Shumaker on Patreon
2 years agoAdded a comment: confirmed fixed
kdm9 [Wed, 3 Jan 2024 09:03:44 +0000 (09:03 +0000)]
Added a comment: confirmed fixed

2 years agotodo
Joey Hess [Tue, 2 Jan 2024 20:32:52 +0000 (16:32 -0400)]
todo

2 years agobump copyright year
Joey Hess [Tue, 2 Jan 2024 18:10:52 +0000 (14:10 -0400)]
bump copyright year

after my first commit of 2024

2 years agocomment
Joey Hess [Tue, 2 Jan 2024 18:08:01 +0000 (14:08 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 2 Jan 2024 17:59:55 +0000 (13:59 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimport: Sped up import from special remote when the imported tree is unchanged
Joey Hess [Tue, 2 Jan 2024 17:56:50 +0000 (13:56 -0400)]
import: Sped up import from special remote when the imported tree is unchanged

I saw a nearly 2 minute speed up from this, in a repo with 56000 files some
of which are preferred content of the special remote and others not. In
such a case, addBackExportExcluded has to do a lot of work, which is
unncessary when the tree is unchanged.

When using sync --content, preferred content checking of that many files
takes about 1 minute. So this speeds up sync --content by 3x.
When using git-annex import, the speed up is much larger.

Sponsored-by: Nicholas Golder-Manning on Patreon
2 years agoAdded a comment
lemondata [Tue, 2 Jan 2024 15:44:21 +0000 (15:44 +0000)]
Added a comment

2 years agoAdded a comment
Lukey [Sun, 31 Dec 2023 14:41:18 +0000 (14:41 +0000)]
Added a comment

2 years agoAdded a comment: Scanning for files in ghost repos
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1 [Sun, 31 Dec 2023 09:46:53 +0000 (09:46 +0000)]
Added a comment: Scanning for files in ghost repos

2 years agoAdded a comment: wrong parameter used - `repository` is not a subcommand
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1 [Sun, 31 Dec 2023 09:41:13 +0000 (09:41 +0000)]
Added a comment: wrong parameter used - `repository` is not a subcommand

2 years ago(no commit message)
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1 [Sun, 31 Dec 2023 09:35:16 +0000 (09:35 +0000)]

2 years agoAdded a comment
Lukey [Sat, 30 Dec 2023 11:35:22 +0000 (11:35 +0000)]
Added a comment

2 years ago(no commit message)
Lukey [Sat, 30 Dec 2023 10:51:29 +0000 (10:51 +0000)]

2 years ago(no commit message)
Lukey [Sat, 30 Dec 2023 10:49:32 +0000 (10:49 +0000)]

2 years agoremove slightly incorrect comments
Joey Hess [Fri, 29 Dec 2023 17:23:27 +0000 (13:23 -0400)]
remove slightly incorrect comments

2 years agoAdded a comment
Atemu [Fri, 29 Dec 2023 17:06:37 +0000 (17:06 +0000)]
Added a comment

2 years agoinfo: Added "annex sizes of repositories" table to the overall display
Joey Hess [Fri, 29 Dec 2023 16:09:30 +0000 (12:09 -0400)]
info: Added "annex sizes of repositories" table to the overall display

Thanks to previous work in 11cc9f19339b5fa80f238e42407eb9ed87cf8855,
this is almost entirely free, it only needs to do some additional map
lookups and math.

The strictness annotations keep the memory use from blowing up.

Sponsored-by: unqueued on Patreon
2 years agooptimisation
Joey Hess [Fri, 29 Dec 2023 14:51:05 +0000 (10:51 -0400)]
optimisation

2 years agoplan
Joey Hess [Fri, 29 Dec 2023 14:48:12 +0000 (10:48 -0400)]
plan

2 years agotodo
Joey Hess [Fri, 29 Dec 2023 14:36:11 +0000 (10:36 -0400)]
todo

2 years agoAdded a comment: Works: Try annex.queuesize and --not --in
psxvoid [Thu, 28 Dec 2023 05:33:13 +0000 (05:33 +0000)]
Added a comment: Works: Try annex.queuesize and --not --in

2 years agoadd news item for git-annex 10.20231227
Joey Hess [Wed, 27 Dec 2023 23:28:01 +0000 (19:28 -0400)]
add news item for git-annex 10.20231227

2 years agoreleasing package git-annex version 10.20231227
Joey Hess [Wed, 27 Dec 2023 23:27:55 +0000 (19:27 -0400)]
releasing package git-annex version 10.20231227

2 years agoRevert "import Data.Time.Clock to build with time-1.9.1"
Joey Hess [Wed, 27 Dec 2023 23:11:15 +0000 (19:11 -0400)]
Revert "import Data.Time.Clock to build with time-1.9.1"

This reverts commit 7484191284304e2581e8ef2496bf7d4f1825f12e.

Not necessary after all.

2 years agoimport Data.Time.Clock to build with time-1.9.1
Joey Hess [Wed, 27 Dec 2023 20:58:40 +0000 (16:58 -0400)]
import Data.Time.Clock to build with time-1.9.1

In more recent versions Data.Time exports secondsToNominalDiffTime etc,
but originally it did not.

2 years agofix build with old version of time package
Joey Hess [Wed, 27 Dec 2023 19:33:46 +0000 (15:33 -0400)]
fix build with old version of time package

Can't truncate timestamp resolution with that version.

2 years agoremoved
nobodyinperson [Wed, 27 Dec 2023 07:51:54 +0000 (07:51 +0000)]
removed

2 years agoremoved
nobodyinperson [Wed, 27 Dec 2023 07:51:34 +0000 (07:51 +0000)]
removed

2 years agoAdded a comment: Try annex.queuesize and --not --in
nobodyinperson [Wed, 27 Dec 2023 07:51:00 +0000 (07:51 +0000)]
Added a comment: Try annex.queuesize and --not --in

2 years agoAdded a comment: Try anex.queuesize and --not --in
nobodyinperson [Wed, 27 Dec 2023 07:50:49 +0000 (07:50 +0000)]
Added a comment: Try anex.queuesize and --not --in

2 years agoAdded a comment: Try anex.queuesize and --not --in
nobodyinperson [Wed, 27 Dec 2023 07:50:38 +0000 (07:50 +0000)]
Added a comment: Try anex.queuesize and --not --in

2 years agoAdded a comment: The issue with slow connection and huge repo - no batches
psxvoid [Wed, 27 Dec 2023 06:08:59 +0000 (06:08 +0000)]
Added a comment: The issue with slow connection and huge repo - no batches

2 years agoavoid build warnings
Joey Hess [Tue, 26 Dec 2023 23:39:01 +0000 (19:39 -0400)]
avoid build warnings

2 years agouse RawFilePath for opening sqlite databases
Joey Hess [Tue, 26 Dec 2023 22:31:52 +0000 (18:31 -0400)]
use RawFilePath for opening sqlite databases

Fix a crash opening sqlite databases when run in a non-unicode locale,
with a remote that uses a non-unicode filepath. In that situation
converting to Text fails.

The fix needs git-annex to be built with persistent-sqlite 2.13.3.
Building against older versions still works, but that version is used when
building with stack.

Database.RawFilePath is a lot of code copied from persistent-sqlite and
lightly modified, since only 1 function in persistent-sqlite was made to
support RawFilePath. This is a bit of a pain, and I hope that
persistent-sqlite will eventually switch to using OsPath, allowing this
module to be removed from git-annex.

Sponsored-by: k0ld on Patreon
2 years agosync, push: Avoid trying to send individual files to special remotes configured with...
Joey Hess [Tue, 26 Dec 2023 19:56:39 +0000 (15:56 -0400)]
sync, push: Avoid trying to send individual files to special remotes configured with importtree=yes exporttree=no

That will always fail. It already skipped doing this when exporttree=yes.

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Tue, 26 Dec 2023 19:41:03 +0000 (15:41 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoprepping for release
Joey Hess [Tue, 26 Dec 2023 19:40:55 +0000 (15:40 -0400)]
prepping for release

2 years agoupdate to lts-22.3
Joey Hess [Tue, 26 Dec 2023 16:56:59 +0000 (12:56 -0400)]
update to lts-22.3

2 years agoAdded a comment
Atemu [Mon, 25 Dec 2023 13:37:58 +0000 (13:37 +0000)]
Added a comment

2 years agoAdded a comment
Atemu [Mon, 25 Dec 2023 13:03:50 +0000 (13:03 +0000)]
Added a comment

2 years agoAdded a comment
Atemu [Mon, 25 Dec 2023 12:21:58 +0000 (12:21 +0000)]
Added a comment