Commit graph

33752 commits

Author SHA1 Message Date
jaharmi
6d499d51c4 2024-01-14 20:27:44 +00:00
jstritch
acca5ab06b 2024-01-14 16:23:13 +00:00
jstritch
629f570288 2024-01-14 16:15:36 +00:00
Joey Hess
3fbc5d9c7e
Merge branch 'master' of ssh://git-annex.branchable.com 2024-01-12 13:52:04 -04:00
Joey Hess
dda4cb372c
update 2024-01-12 13:51:59 -04:00
Joey Hess
7e69063a29
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
2024-01-12 13:31:18 -04:00
nobodyinperson
e8a1ad5253 Added a comment: Try datalad 2024-01-12 09:23:16 +00:00
jstritch
181e14467f 2024-01-11 18:24:52 +00:00
Joey Hess
2fb200a110
clarify that combined hook program is deprecated, not entire hook special remote 2024-01-11 11:04:07 -04:00
TTTTAAAx
9a83b2c64f Added a comment 2024-01-11 14:15:58 +00:00
TTTTAAAx
d6cca10efd Added a comment 2024-01-11 13:58:27 +00:00
Joey Hess
60366e73e0
Merge branch 'master' of ssh://git-annex.branchable.com 2024-01-10 16:42:40 -04:00
Joey Hess
cd28366855
reverted problem commit 2024-01-10 16:37:29 -04:00
Joey Hess
d98f02a5b0
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
2024-01-10 16:30:38 -04:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
36eadec531 Added a comment: Not a special remote 2024-01-10 08:54:57 +00:00
Joey Hess
654f3b7e06
comments 2024-01-09 17:04:17 -04:00
Joey Hess
a496c05995
update 2024-01-09 17:04:10 -04:00
Joey Hess
db5fa267c7
sop 2024-01-09 16:57:11 -04:00
psxvoid
6e4d59c05a Added a comment: Using fuse annexize - works like a charm 2024-01-07 04:11:37 +00:00
yarikoptic
61384f155e 2024-01-06 18:31:18 +00:00
yarikoptic
46ab66d97a reporting about --listen 2024-01-06 16:00:05 +00:00
nobodyinperson
25e2e827f6 Added a comment 2024-01-06 09:22:54 +00:00
yarikoptic
d08804ef9e Added a comment 2024-01-05 21:00:52 +00:00
yarikoptic
077a99bebb new issue about stalling transfers 2024-01-04 20:23:34 +00:00
Joey Hess
d37dbd62b8
Merge branch 'master' of ssh://git-annex.branchable.com 2024-01-03 15:22:03 -04:00
Joey Hess
2c86651180
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
2024-01-03 15:07:49 -04:00
kdm9
d5e1dd195e Added a comment: confirmed fixed 2024-01-03 09:03:44 +00:00
Joey Hess
a6a67f79e7
todo 2024-01-02 17:00:41 -04:00
Joey Hess
bcbad66cf3
comment 2024-01-02 14:08:01 -04:00
lemondata
2957eed1f0 Added a comment 2024-01-02 15:44:21 +00:00
Lukey
7243664b6c Added a comment 2023-12-31 14:41:18 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
74cb99fa4b Added a comment: Scanning for files in ghost repos 2023-12-31 09:46:53 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
a874ffae45 Added a comment: wrong parameter used - repository is not a subcommand 2023-12-31 09:41:13 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
121d68bed3 2023-12-31 09:35:16 +00:00
Lukey
1a3124c000 Added a comment 2023-12-30 11:35:22 +00:00
Lukey
6419936626 2023-12-30 10:51:29 +00:00
Lukey
b4dd62235a 2023-12-30 10:49:32 +00:00
Atemu
86d3e8d31a Added a comment 2023-12-29 17:06:37 +00:00
Joey Hess
a4a5ec6366
info: Added "annex sizes of repositories" table to the overall display
Thanks to previous work in 11cc9f1933,
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
2023-12-29 12:09:30 -04:00
Joey Hess
e7a550a25b
plan 2023-12-29 10:48:12 -04:00
Joey Hess
49b50dd466
todo 2023-12-29 10:36:11 -04:00
psxvoid
92640e0801 Added a comment: Works: Try annex.queuesize and --not --in 2023-12-28 05:33:13 +00:00
Joey Hess
45f5271c7c
add news item for git-annex 10.20231227 2023-12-27 19:28:01 -04:00
nobodyinperson
bdcc2fc93e removed 2023-12-27 07:51:54 +00:00
nobodyinperson
90d967ce05 removed 2023-12-27 07:51:34 +00:00
nobodyinperson
ba85d3e165 Added a comment: Try annex.queuesize and --not --in 2023-12-27 07:51:00 +00:00
nobodyinperson
59b62e13f9 Added a comment: Try anex.queuesize and --not --in 2023-12-27 07:50:49 +00:00
nobodyinperson
10237a7c67 Added a comment: Try anex.queuesize and --not --in 2023-12-27 07:50:38 +00:00
psxvoid
a9a96d3a44 Added a comment: The issue with slow connection and huge repo - no batches 2023-12-27 06:08:59 +00:00
Joey Hess
8a3beabf35
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
2023-12-26 18:31:52 -04:00
Joey Hess
6d789c9c81
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.
2023-12-26 15:56:58 -04:00
Atemu
f58d629b95 Added a comment 2023-12-25 13:37:58 +00:00
Atemu
2fe31d81d3 Added a comment 2023-12-25 13:03:50 +00:00
Atemu
98cfd88eaa Added a comment 2023-12-25 12:21:58 +00:00
Joey Hess
3b888369d3
comment 2023-12-20 15:56:36 -04:00
Joey Hess
d7ca716759
response 2023-12-20 13:12:56 -04:00
jkniiv
6c0259018a close bug as notabug due to user error 2023-12-19 23:12:21 +00:00
jkniiv
191dde2857 Added a comment: my report was actually a User Failure on my part 2023-12-19 23:02:16 +00:00
unqueued
09acfef0b6 Added a comment 2023-12-19 18:50:08 +00:00
lemondata
19edfc69a7 2023-12-19 00:17:00 +00:00
Joey Hess
9a67ed0f10
importtree: support preferred content expressions needing keys
When importing from a special remote, support preferred content expressions
that use terms that match on keys (eg "present", "copies=1"). Such terms
are ignored when importing, since the key is not known yet.

When "standard" or "groupwanted" is used, the terms in those
expressions also get pruned accordingly.

This does allow setting preferred content to "not (copies=1)" to make a
special remote into a "source" type of repository. Importing from it will
import all files. Then exporting to it will drop all files from it.

In the case of setting preferred content to "present", it's pruned on
import, so everything gets imported from it. Then on export, it's applied,
and everything in it is left on it, and no new content is exported to it.

Since the old behavior on these preferred content expressions was for
importtree to error out, there's no backwards compatability to worry about.
Except that sync/pull/etc will now import where before it errored out.
2023-12-18 16:27:59 -04:00
Joey Hess
0e161a7404
comment 2023-12-18 13:56:08 -04:00
Joey Hess
93e0810ad5
comment 2023-12-18 13:49:53 -04:00
Joey Hess
f79685f05e
fix a typo 2023-12-18 13:40:23 -04:00
Atemu
4dbbc45b4d Added a comment 2023-12-18 12:08:08 +00:00
nobodyinperson
526545bf48 Added a comment: numcopies is no the target 2023-12-17 19:04:41 +00:00
Atemu
43262855e2 2023-12-17 16:28:19 +00:00
oadams
7c108335eb Added a comment 2023-12-16 21:37:22 +00:00
aaa
b09c85bf1a Added a comment: Key permissions 2023-12-12 22:29:24 +00:00
jkniiv
986b9caa80 Added a comment 2023-12-12 19:25:17 +00:00
imlew
488ffce640 Added a comment 2023-12-12 13:36:21 +00:00
imlew
261bd2af55 Added a comment 2023-12-12 13:32:17 +00:00
nobodyinperson
7aebfd6068 Added a comment 2023-12-12 12:44:38 +00:00
imlew
bee99dc1a4 Added a comment 2023-12-12 11:56:06 +00:00
Joey Hess
86dbe9a825
migrate: support adding size back to URL keys
migrate: Support adding size to URL keys that were added with --relaxed, by
running eg: git-annex migrate --backend=URL foo

Since url keys cannot be generated, that used to fail. Make it notice that
the backend is not changed, and just get the size of the content.

Sponsored-by: Brock Spratlen on Patreon
2023-12-08 16:22:14 -04:00
Joey Hess
cb9bb2027c
update for distributed migration 2023-12-08 14:39:38 -04:00
Joey Hess
60d00fdd33
Merge branch 'master' of ssh://git-annex.branchable.com 2023-12-08 14:26:26 -04:00
Joey Hess
362a2808a5
split out todo for special remotes and close the main todo 2023-12-08 14:26:08 -04:00
Joey Hess
257f01729c
distributed migration for pull and sync --content
pull, sync: When operating on content, automatically hard link objects
that have been migrated.

Added annex.syncmigrations config that can be set to false to prevent
pull and sync from migrating object content.

I think that true is a good default for this config, because it avoids
users having to re-download migrated content or learning about migration.
But, some users will surely not like it, whether because it does take some
time (especially for the first git-annex branch scan when there is a long
history), or because they want to deal with it manually, or because their
filesystem doesn't support hard links and they don't want it to copy
objects.

Sponsored-by: k0ld on Patreon
2023-12-08 14:18:18 -04:00
Joey Hess
4ed71b34de
migrate --apply
And avoid migrate --update/--aply migrating when the new key was already
present in the repository, and got dropped. Luckily, the location log
allows distinguishing from the new key never having been present!

That is mostly useful for --apply because otherwise dropped files would
keep coming back until the old objects were reaped as unused. But it
seemed to make sense to also do it for --update. for consistency in edge
cases if nothing else. One case where --update can use it is when one
branch got migrated earlier, and we dropped the file, and now another
branch has migrated the same file.

Sponsored-by: Jack Hill on Patreon
2023-12-08 13:23:46 -04:00
jkniiv
9189c41dde report on the 'Production' build flag not producing a binary that passes the test suite 2023-12-08 16:38:12 +00:00
Joey Hess
62ce56c4ea
display filenames in migrate --update
Have to go to a lot of bother to find them, but I think it's worth it
for usability.

Sponsored-by: Luke T. Shumaker on Patreon
2023-12-07 18:00:09 -04:00
kolam
bae20e09cb Added a comment 2023-12-07 20:16:29 +00:00
kolam
5aee7ef234 removed 2023-12-07 20:13:13 +00:00
kolam
319e3b6252 Added a comment 2023-12-07 20:12:31 +00:00
kolam
acd942f6d8 Added a comment 2023-12-07 20:08:52 +00:00
Joey Hess
f1ce15036f
started migrate --update
This is most of the way there, but not quite working.

The layout of migrate.tree/ needs to be changed to follow this approach.
git log will list all the files in tree order, so the new layout needs
to alternate old and new keys. Can that be done? git may not document
tree order, or may not preserve it here.

Alternatively, change to using git log --format=raw and extract
the tree header from that, then use
git diff --raw $tree:migrate.tree/old $tree:migrate.tree/new
That will be a little more expensive, but only when there are lots of
migrations.

Sponsored-by: Joshua Antonishen on Patreon
2023-12-07 15:50:52 -04:00
kolam
625deffec4 2023-12-07 18:30:40 +00:00
kolam
2aa13feb3d 2023-12-07 14:08:54 +00:00
https://esgf-node.llnl.gov/esgf-idp/openid/mvhulten
60e9bb005e Added a comment 2023-12-07 12:30:25 +00:00
nobodyinperson
df62843f64 Added a comment: Similar to initremote type=git 2023-12-07 08:31:09 +00:00
kolam
84d0bd9969 2023-12-06 23:46:49 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
62e9355a4a Added a comment: --includesamecontent same as --not --includesamecontent? 2023-12-06 22:12:47 +00:00
kolam
db805b1954 removed 2023-12-06 21:08:52 +00:00
kolam
f0c14b0e56 Added a comment 2023-12-06 21:08:05 +00:00
Joey Hess
adc95a871d
comment 2023-12-06 15:42:40 -04:00
Joey Hess
0bd8b17b59
log migration trees to git-annex branch
This will allow distributed migration: Start a migration in one clone of
a repo, and then update other clones.

commitMigration is a bit of a bear.. There is some inversion of control
that needs some TMVars. Also streamLogFile's finalizer does not handle
recording the trees, so an interrupt at just the wrong time can cause
migration.log to be emptied but the git-annex branch not updated.

Sponsored-by: Graham Spencer on Patreon
2023-12-06 15:40:03 -04:00
Joey Hess
1f811c340d
kinda a bug 2023-12-05 16:43:14 -04:00
Joey Hess
b4cd985a3e
remove xmpp from special remotes list
It's documentation for something that was removed, so avoid it getting
copied into eg, nice talks about git-annex. ;-)
2023-12-05 16:30:47 -04:00
Joey Hess
10964f91bc
further thoughts 2023-12-05 15:00:22 -04:00