git-annex.git
2 years agoexport tree: avoid confusing output about renaming files
Joey Hess [Sat, 9 Mar 2024 17:37:51 +0000 (13:37 -0400)]
export tree: avoid confusing output about renaming files

When a file in the export is renamed, and the remote's renameExport
returned Nothing, renaming to the temp file would first say it was
renaming, and appear to succeed, but actually what it did was delete the
file. Then renaming from the temp file would not do anything, since the
temp file is not present on the remote. This appeared as if a file got
renamed to a temp file and left there.

Note that exporttree=yes importree=yes remotes have their usual
renameExport replaced with one that returns Nothing. (For reasons
explained in Remote.Helper.ExportImport.) So this happened
even with remotes that support renameExport.

Fix by letting renameExport = Nothing when it's not supported at all.
This avoids displaying the rename.

Sponsored-by: Graham Spencer on Patreon
2 years agofix comment
Joey Hess [Fri, 8 Mar 2024 18:59:54 +0000 (14:59 -0400)]
fix comment

2 years agoupdate
Joey Hess [Fri, 8 Mar 2024 18:32:29 +0000 (14:32 -0400)]
update

2 years agofix comment
Joey Hess [Fri, 8 Mar 2024 18:23:17 +0000 (14:23 -0400)]
fix comment

2 years agoupdate
Joey Hess [Fri, 8 Mar 2024 17:43:31 +0000 (13:43 -0400)]
update

2 years agofix indent for readability
Joey Hess [Fri, 8 Mar 2024 17:38:46 +0000 (13:38 -0400)]
fix indent for readability

2 years agoattribution armoring
Joey Hess [Thu, 7 Mar 2024 23:19:45 +0000 (19:19 -0400)]
attribution armoring

2 years agoadd reregisterurl command
Joey Hess [Tue, 5 Mar 2024 19:04:35 +0000 (15:04 -0400)]
add reregisterurl command

What this can currently be used for is only to change an url from being
used by a special remote to being used by the web remote.

This could have been a --move-from option to registerurl. But, that would
have complicated its option and --batch processing, and also would have
complicated unregisterurl, which is implemented on top of
Command.Registerurl. So, a separate command was actually less complicated
to implement.

The generic description of the command is because I want to make this
command a catch-all for other url updating kind of things, if there are
ever any more. Also because it was hard to come up with a good name for the
specific action. I considered `git-annex moveurl`, but that seems to
indicate data is perhaps actually being moved, and seems to sit at the same
level as addurl and rmurl, and this command is at the plumbing
level of registerurl and unregisterurl.

Sponsored-by: Dartmouth College's DANDI project
2 years agosmall problem
Joey Hess [Tue, 5 Mar 2024 17:45:31 +0000 (13:45 -0400)]
small problem

2 years agocomment
Joey Hess [Tue, 5 Mar 2024 17:29:42 +0000 (13:29 -0400)]
comment

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

2 years agoadd todo for tracking free space in repos via git-annex branch
Joey Hess [Tue, 5 Mar 2024 17:16:42 +0000 (13:16 -0400)]
add todo for tracking free space in repos via git-annex branch

For balanced preferred content perhaps, or just for git-annex info
display.

Sponsored-by: unqueued on Patreon
2 years agoupdate
Joey Hess [Tue, 5 Mar 2024 17:16:06 +0000 (13:16 -0400)]
update

2 years agoAdded a comment
TTTTAAAx [Tue, 5 Mar 2024 05:21:59 +0000 (05:21 +0000)]
Added a comment

2 years agoresponse
Joey Hess [Mon, 4 Mar 2024 21:17:53 +0000 (17:17 -0400)]
response

2 years agocomment
Joey Hess [Mon, 4 Mar 2024 21:16:53 +0000 (17:16 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Mon, 4 Mar 2024 21:07:26 +0000 (17:07 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agothoughts
Joey Hess [Mon, 4 Mar 2024 21:04:59 +0000 (17:04 -0400)]
thoughts

2 years ago(no commit message)
d@403a635aa8eaa8bfa8613acb6a375d9e06ed7001 [Mon, 4 Mar 2024 17:36:22 +0000 (17:36 +0000)]

2 years ago(no commit message)
bbigras [Mon, 4 Mar 2024 17:03:29 +0000 (17:03 +0000)]

2 years agoAdded a comment
Atemu [Sat, 2 Mar 2024 08:32:40 +0000 (08:32 +0000)]
Added a comment

2 years agoclarification
Joey Hess [Fri, 1 Mar 2024 21:03:40 +0000 (17:03 -0400)]
clarification

2 years agoimplement VURL to URL migration
Joey Hess [Fri, 1 Mar 2024 21:01:27 +0000 (17:01 -0400)]
implement VURL to URL migration

Just for completeness, someone might want to downgrade I guess?

2 years agoadd potential list
Joey Hess [Fri, 1 Mar 2024 20:54:43 +0000 (16:54 -0400)]
add potential list

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Fri, 1 Mar 2024 20:53:13 +0000 (16:53 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoimplement URL to VURL migration
Joey Hess [Fri, 1 Mar 2024 20:42:02 +0000 (16:42 -0400)]
implement URL to VURL migration

This needs the content to be present in order to hash it. But it's not
possible for a module used by Backend.URL to call inAnnex because that
would entail a dependency loop. So instead, rely on the fact that
Command.Migrate calls inAnnex before performing a migration.

But, Command.ExamineKey calls fastMigrate and the key may or may not
exist, and it's not wanting to actually perform a migration in any case.
To handle that, had to add an additional value to fastMigrate to
indicate whether the content is inAnnex.

Factored generateEquivilantKey out of Remote.Web.

Note that migrateFromURLToVURL hardcodes use of the SHA256E backend.
It would have been difficult not to, given all the dependency loop
issues. But --backend and annex.backend are used to tell git-annex
migrate to use VURL in any case, so there's no config knob that
the user could expect to configure that.

Sponsored-by: Brock Spratlen on Patreon
2 years agofix typo in example
Joey Hess [Fri, 1 Mar 2024 19:44:46 +0000 (15:44 -0400)]
fix typo in example

2 years agotodo
Joey Hess [Fri, 1 Mar 2024 19:14:45 +0000 (15:14 -0400)]
todo

2 years agocomment
Joey Hess [Fri, 1 Mar 2024 19:07:03 +0000 (15:07 -0400)]
comment

2 years agohandle multiple VURL checksums in one pass
Joey Hess [Fri, 1 Mar 2024 18:41:10 +0000 (14:41 -0400)]
handle multiple VURL checksums in one pass

git-annex fsck and some other commands that verify the content of a key
were using the non-incremental verification interface. But for VURL
urls, that interface is innefficient because when there are multiple
equivilant keys, it has to separately read and checksum for each key in
turn until one matches. It's more efficient for those to use the
incremental interface, since the file can be read a single time.

There's no real downside to using the incremental interface when available.

Note that more speedup could be had for VURL, if it was able to
calculate the checksum a single time and then compare with the
equivilant keys checksums. When the equivilant keys use the same type of
checksum.

Sponsored-by: k0ld on Patreon
2 years agonub the equivilant key list
Joey Hess [Fri, 1 Mar 2024 18:39:01 +0000 (14:39 -0400)]
nub the equivilant key list

If somehow the same key gets listed in the log twice, avoid doing double
checksumming.

2 years agofix comment typo
Joey Hess [Fri, 1 Mar 2024 18:12:21 +0000 (14:12 -0400)]
fix comment typo

2 years agoupdate
Joey Hess [Fri, 1 Mar 2024 17:47:24 +0000 (13:47 -0400)]
update

2 years agoavoid double checksum when downloading VURL from web for 1st time
Joey Hess [Fri, 1 Mar 2024 17:44:40 +0000 (13:44 -0400)]
avoid double checksum when downloading VURL from web for 1st time

Sponsored-by: Jack Hill on Patreon
2 years agoincremental verification for VURL
Joey Hess [Fri, 1 Mar 2024 17:31:43 +0000 (13:31 -0400)]
incremental verification for VURL

Sponsored-by: Brett Eisenberg on Patreon
2 years agohas potential in DANDI project
yarikoptic [Thu, 29 Feb 2024 23:31:05 +0000 (23:31 +0000)]
has potential in DANDI project

2 years agoadd future todo
Joey Hess [Thu, 29 Feb 2024 21:52:58 +0000 (17:52 -0400)]
add future todo

2 years agoverifyKeyContent for VURL
Joey Hess [Thu, 29 Feb 2024 21:41:35 +0000 (17:41 -0400)]
verifyKeyContent for VURL

VURL is now fully working, though needs more testing.

Still need to implement verifyKeyContentIncrementally but it works
without it.

Sponsored-by: Luke T. Shumaker on Patreon
2 years agoimplement isCryptographicallySecureKey for VURL
Joey Hess [Thu, 29 Feb 2024 21:21:29 +0000 (17:21 -0400)]
implement isCryptographicallySecureKey for VURL

Considerable difficulty to work around an import cycle. Had to move the
list of backends (except for VURL) to Backend.Variety to VURL could use
it.

Sponsored-by: Kevin Mueller on Patreon
2 years agolift isCryptographicallySecure to Annex
Joey Hess [Thu, 29 Feb 2024 20:14:13 +0000 (16:14 -0400)]
lift isCryptographicallySecure to Annex

Needed for VURL backend.

Sponsored-by: Nicholas Golder-Manning on Patreon
2 years agoadd equivilant key log for VURL keys
Joey Hess [Thu, 29 Feb 2024 19:41:57 +0000 (15:41 -0400)]
add equivilant key log for VURL keys

When downloading a VURL from the web, make sure that the equivilant key
log is populated.

Unfortunately, this does not hash the content while it's being
downloaded from the web. There is not an interface in Backend currently
for incrementally hash generation, only for incremental verification of an
existing hash. So this might add a noticiable delay, and it has to show
a "(checksum...") message. This could stand to be improved.

But, that separate hashing step only has to happen on the first download
of new content from the web. Once the hash is known, the VURL key can have
its hash verified incrementally while downloading except when the
content in the web has changed. (Doesn't happen yet because
verifyKeyContentIncrementally is not implemented yet for VURL keys.)

Note that the equivilant key log file is formatted as a presence log.
This adds a tiny bit of overhead (eg "1 ") per line over just listing the
urls. The reason I chose to use that format is it seems possible that
there will need to be a way to remove an equivilant key at some point in
the future. I don't know why that would be necessary, but it seemed wise
to allow for the possibility.

Downloads of VURL keys from other special remotes that claim urls,
like bittorrent for example, does not popilate the equivilant key log.
So for now, no checksum verification will be done for those.

Sponsored-by: Nicholas Golder-Manning on Patreon
2 years agosupport VURL backend
Joey Hess [Thu, 29 Feb 2024 17:26:06 +0000 (13:26 -0400)]
support VURL backend

Not yet implemented is recording hashes on download from web and
verifying hashes.

addurl --verifiable option added with -V short option because I
expect a lot of people will want to use this.

It seems likely that --verifiable will become the default eventually,
and possibly rather soon. While old git-annex versions don't support
VURL, that doesn't prevent using them with keys that use VURL. Of
course, they won't verify the content on transfer, and fsck will warn
that it doesn't know about VURL. So there's not much problem with
starting to use VURL even when interoperating with old versions.

Sponsored-by: Joshua Antonishen on Patreon
2 years agocomment
Joey Hess [Tue, 27 Feb 2024 17:36:07 +0000 (13:36 -0400)]
comment

2 years agofix link
Joey Hess [Tue, 27 Feb 2024 17:20:24 +0000 (13:20 -0400)]
fix link

2 years agoAdded dependency on unbounded-delays
Joey Hess [Tue, 27 Feb 2024 17:11:59 +0000 (13:11 -0400)]
Added dependency on unbounded-delays

And stop vendoring part of it.

This is a free dependency because tasty depends on it.

Sponsored-by: Leon Schuermann on Patreon
2 years agoadd news item for git-annex 10.20240227
Joey Hess [Tue, 27 Feb 2024 17:02:23 +0000 (13:02 -0400)]
add news item for git-annex 10.20240227

2 years agoreleasing package git-annex version 10.20240227
Joey Hess [Tue, 27 Feb 2024 17:02:17 +0000 (13:02 -0400)]
releasing package git-annex version 10.20240227

2 years agocomment and todo
Joey Hess [Tue, 27 Feb 2024 16:44:34 +0000 (12:44 -0400)]
comment and todo

2 years ago(no commit message)
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Tue, 27 Feb 2024 02:23:34 +0000 (02:23 +0000)]

2 years agocomment
Joey Hess [Mon, 26 Feb 2024 19:40:37 +0000 (15:40 -0400)]
comment

2 years agoAdded a comment: ignore, upgrading to v10.20231227 solved this issue
tchen_annex [Sun, 25 Feb 2024 17:34:31 +0000 (17:34 +0000)]
Added a comment: ignore, upgrading to v10.20231227 solved this issue

2 years ago(no commit message)
rmtheis@e3b72add4375d3e9c1b088a2136a3d3822a0d4e8 [Sun, 25 Feb 2024 14:24:50 +0000 (14:24 +0000)]

2 years ago(no commit message)
rmtheis@e3b72add4375d3e9c1b088a2136a3d3822a0d4e8 [Sun, 25 Feb 2024 14:21:41 +0000 (14:21 +0000)]

2 years agoAdded a comment: this also fails with encryption=none
tchen_annex [Sun, 25 Feb 2024 01:08:43 +0000 (01:08 +0000)]
Added a comment: this also fails with encryption=none

2 years ago(no commit message)
tchen_annex [Sun, 25 Feb 2024 00:55:21 +0000 (00:55 +0000)]

2 years agocomment
Joey Hess [Thu, 22 Feb 2024 16:54:16 +0000 (12:54 -0400)]
comment

2 years agoclose
Joey Hess [Thu, 22 Feb 2024 16:50:12 +0000 (12:50 -0400)]
close

2 years agocomment
Joey Hess [Thu, 22 Feb 2024 16:45:57 +0000 (12:45 -0400)]
comment

2 years agomove misplaced bug or todo to a better place
Joey Hess [Thu, 22 Feb 2024 15:21:39 +0000 (11:21 -0400)]
move misplaced bug or todo to a better place

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Thu, 22 Feb 2024 15:19:02 +0000 (11:19 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agoAdd logo version with '> git annex' text below
Yann Büchau [Mon, 19 Feb 2024 16:57:27 +0000 (17:57 +0100)]
Add logo version with '> git annex' text below

2 years agoAdded a comment: Datalad cannot detect submodule path changed on disk
TTTTAAAx [Thu, 22 Feb 2024 08:34:47 +0000 (08:34 +0000)]
Added a comment: Datalad cannot detect submodule path changed on disk

2 years agohttp://git-annex.branchable.com/submodules/#comment-2f017a0f1a13329f4f738568b3eb82ae
TTTTAAAx [Thu, 22 Feb 2024 08:28:05 +0000 (08:28 +0000)]
git-annex.branchable.com/submodules/#comment-2f017a0f1a13329f4f738568b3eb82ae

2 years agoAdded a comment
lell [Thu, 22 Feb 2024 07:49:59 +0000 (07:49 +0000)]
Added a comment

2 years agoAdded a comment: Using fsck is an option?
lell [Thu, 22 Feb 2024 07:47:37 +0000 (07:47 +0000)]
Added a comment: Using fsck is an option?

2 years agoAdded a comment: Colocating git-annex and git-lfs
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec [Thu, 22 Feb 2024 02:55:26 +0000 (02:55 +0000)]
Added a comment: Colocating git-annex and git-lfs

2 years agoAdded a comment: Multi-line string in WHEREIS-SUCCESS?
matrss [Wed, 21 Feb 2024 12:29:14 +0000 (12:29 +0000)]
Added a comment: Multi-line string in WHEREIS-SUCCESS?

2 years ago(no commit message)
tomdhunt [Tue, 20 Feb 2024 20:51:03 +0000 (20:51 +0000)]

2 years agoPass --no-warnings to yt-dlp
Joey Hess [Mon, 19 Feb 2024 22:35:57 +0000 (18:35 -0400)]
Pass --no-warnings to yt-dlp

Notice a warning with -J2 causing git-annex progress output to get slightly
messed up.

Error output would also probably do that, so perhaps it should capture
stderr and only display it when yt-dlp exited nonzero?

This option might also make sense for youtube-dl, I don't have an
installation handy anymore to check.

2 years agoexpand on what i feel a tweak could help
anarcat [Mon, 19 Feb 2024 14:21:36 +0000 (14:21 +0000)]
expand on what i feel a tweak could help

2 years ago(no commit message)
anarcat [Mon, 19 Feb 2024 04:07:06 +0000 (04:07 +0000)]

2 years agoAdd annextimelog project
nobodyinperson [Sat, 17 Feb 2024 07:40:07 +0000 (07:40 +0000)]
Add annextimelog project

2 years agoadd openneuro project
yarikoptic [Fri, 16 Feb 2024 18:39:01 +0000 (18:39 +0000)]
add openneuro project

2 years agocomment
Joey Hess [Fri, 16 Feb 2024 18:12:06 +0000 (14:12 -0400)]
comment

2 years agoAdded a comment
jstritch [Fri, 16 Feb 2024 17:48:55 +0000 (17:48 +0000)]
Added a comment

2 years agoremoved
jstritch [Fri, 16 Feb 2024 17:26:44 +0000 (17:26 +0000)]
removed

2 years agoFix typo
lell [Fri, 16 Feb 2024 09:25:50 +0000 (09:25 +0000)]
Fix typo

2 years ago(no commit message)
lell [Fri, 16 Feb 2024 09:25:03 +0000 (09:25 +0000)]

2 years agoAdded a comment: a script to hide history
yarikoptic [Thu, 15 Feb 2024 22:05:12 +0000 (22:05 +0000)]
Added a comment: a script to hide history

2 years agoExplicitly specify 1.0 Debian source format
Joey Hess [Thu, 15 Feb 2024 17:51:46 +0000 (13:51 -0400)]
Explicitly specify 1.0 Debian source format

This is what has always been used, avoids a build warning.

Using 3.0 (native) would be better, but risks breaking builds that
modify this debian directory. Eg, if someone adds -1 to the version
number, they would also have to change away from native source format.

2 years agoupdate thanks and separate out 2023 name list
Joey Hess [Thu, 15 Feb 2024 17:24:32 +0000 (13:24 -0400)]
update thanks and separate out 2023 name list

2 years agoSuggest cooperating with hellotux.com for git-annex-branded shirts
nobodyinperson [Tue, 13 Feb 2024 19:36:11 +0000 (19:36 +0000)]
Suggest cooperating with hellotux.com for git-annex-branded shirts

2 years agopre-commit: Avoid committing the git-annex branch
Joey Hess [Mon, 12 Feb 2024 18:41:21 +0000 (14:41 -0400)]
pre-commit: Avoid committing the git-annex branch

Except when a commit is made in a view, which changes metadata.

Make the assistant commit the git-annex branch after git commit of working
tree changes.

This allows using the annex.commitmessage-command in the assistant to
generate a commit message for the git-annex branch that relies on state
gathered during the commit of the working tree. Eg, it might reuse the
commit message.

Note that, when not using the assistant, a git-annex add still commits
the git-annex branch, so such a annex.commitmessage-command set up would
not work then. But if someone is using the assistant and wants
programmatic control over commit messages, this is useful. Someone not
using the assistant can get the same result by using annex.alwayscommit=false
during the git-annex add, and git-annex merge after they git commit.

pre-commit was never really intended to commit the git-annex branch
(except after recording changed metadata), but the assistant did sort of
rely on it. It does later commit the git-annex branch before pushing to
remotes, but I didn't want to risk building up lots of uncommitted changes
to it if that didn't happen frequently.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2 years agoadded annex.commitmessage-command config
Joey Hess [Mon, 12 Feb 2024 18:34:50 +0000 (14:34 -0400)]
added annex.commitmessage-command config

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2 years agocomment
Joey Hess [Mon, 12 Feb 2024 17:04:56 +0000 (13:04 -0400)]
comment

2 years agoAdded a comment
yarikoptic [Sun, 11 Feb 2024 18:54:45 +0000 (18:54 +0000)]
Added a comment

2 years agoremoved
yarikoptic [Sun, 11 Feb 2024 18:54:10 +0000 (18:54 +0000)]
removed

2 years agoAdded a comment
yarikoptic [Sun, 11 Feb 2024 18:50:18 +0000 (18:50 +0000)]
Added a comment

2 years agotop
Joey Hess [Sat, 10 Feb 2024 16:50:00 +0000 (12:50 -0400)]
top

2 years agoimproved approach
Joey Hess [Sat, 10 Feb 2024 16:24:06 +0000 (12:24 -0400)]
improved approach

2 years agoremove comment that doesn't actually work
Joey Hess [Sat, 10 Feb 2024 16:05:19 +0000 (12:05 -0400)]
remove comment that doesn't actually work

2 years agoupdate
Joey Hess [Sat, 10 Feb 2024 15:24:32 +0000 (11:24 -0400)]
update

2 years agocomment
Joey Hess [Sat, 10 Feb 2024 15:19:47 +0000 (11:19 -0400)]
comment

2 years agoMerge branch 'master' of ssh://git-annex.branchable.com
Joey Hess [Sat, 10 Feb 2024 14:48:52 +0000 (10:48 -0400)]
Merge branch 'master' of ssh://git-annex.branchable.com

2 years agodesign document for verified relaxed urls
Joey Hess [Sat, 10 Feb 2024 14:48:20 +0000 (10:48 -0400)]
design document for verified relaxed urls

Sponsored-by: Graham Spencer on Patreon
2 years agoclose as distributed migration meets this use case
Joey Hess [Sat, 10 Feb 2024 14:24:58 +0000 (10:24 -0400)]
close as distributed migration meets this use case

2 years agoAdded a comment: Update: workaround with branches
psxvoid [Sat, 10 Feb 2024 10:53:56 +0000 (10:53 +0000)]
Added a comment: Update: workaround with branches

2 years agoAdded a comment: This behavior should be the default one
psxvoid [Sat, 10 Feb 2024 08:11:30 +0000 (08:11 +0000)]
Added a comment: This behavior should be the default one

2 years agoAdded a comment
yarikoptic [Fri, 9 Feb 2024 21:58:56 +0000 (21:58 +0000)]
Added a comment

2 years agocomment
Joey Hess [Fri, 9 Feb 2024 21:04:04 +0000 (17:04 -0400)]
comment