Commit graph

4383 commits

Author SHA1 Message Date
Joey Hess
3475b09c3e
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
2024-02-12 14:42:11 -04:00
Joey Hess
68e99513f0
added annex.commitmessage-command config
Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2024-02-12 14:35:22 -04:00
Joey Hess
dd0e45c86e
update 2024-02-10 11:24:32 -04:00
Joey Hess
6c5aaa2b0f
design document for verified relaxed urls
Sponsored-by: Graham Spencer on Patreon
2024-02-10 10:48:20 -04:00
Joey Hess
aba87a6e92
close as distributed migration meets this use case 2024-02-10 10:24:58 -04:00
Joey Hess
bca66acfd8
comment 2024-02-09 14:09:49 -04:00
yarikoptic
2a4d7d894b Added a comment 2024-02-09 13:50:21 +00:00
yarikoptic
517914c0f6 Added a comment 2024-02-08 22:08:41 +00:00
Joey Hess
c4943ae277
close 2024-02-07 16:24:39 -04:00
Joey Hess
644317e86f
Merge branch 'master' of ssh://git-annex.branchable.com 2024-02-07 16:21:31 -04:00
Joey Hess
21123ba368
assistant, undo: When committing, let the usual git commit hooks run
Was doing a Git.Branch.commit for historical reasons to do with direct
mode, which no longer apply.

Note that the preCommitAnnexHook is no longer called in commitStaged
because git-annex installs a pre-commit hook that runs the pre-commit-annex
hook. And git commit will run the pre-commit hook.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2024-02-07 16:15:35 -04:00
jstritch
d8df420b18 Added a comment 2024-02-07 15:52:18 +00:00
jstritch
e0488d74ff Added a comment 2024-02-06 16:10:56 +00:00
Joey Hess
48fe8ba23c
forgot to add this comment earlier 2024-02-05 15:49:32 -04:00
Joey Hess
792106abc3
improve special remote docs
Sponsored-by: Dartmouth College's DANDI project
2024-02-05 15:48:15 -04:00
Joey Hess
083c471ee9
really close 2024-02-05 15:20:40 -04:00
Joey Hess
6b38d0c427
addurl, importfeed: Added --raw-except option
--raw-except=web allows using yt-dlp but not any other special remotes.

Currently this option can only be used once, trying to use it repeatedly
will make option parsing fail. Perhaps it ought to support being used more
than once, but it seemed like an unlikely use case to need that.

Note that getParsed is called repeatedly when the option is used with
several urls. While implementing DeferredParseClass would avoid that
innefficiency, it didn't seem worth the added boilerplate since
getParsed only calls byNameWithUUID which does minimal work.

Sponsored-by: Dartmouth College's DANDI project
2024-02-05 15:16:25 -04:00
Joey Hess
d7419d6e65
comment 2024-02-05 14:06:03 -04:00
jstritch
593186d461 2024-02-03 18:48:36 +00:00
Joey Hess
fc32632774
followup 2024-02-02 14:32:12 -04:00
yarikoptic
5621922e08 the plea to respect prepare-commit-msg hook 2024-02-02 17:07:52 +00:00
yarikoptic
f36ba992ea todo for support of pushinsteadof 2024-02-02 16:27:20 +00:00
yarikoptic
0fd17ceeb5 Initial desire for addurl --raw-except 2024-01-31 20:35:03 +00:00
Joey Hess
3b22e61007
followup and close 2024-01-30 15:51:33 -04:00
yarikoptic
0621711c6f ask for better documentation. 2024-01-30 16:20:45 +00:00
yarikoptic
58b57ab999 error out if yt-dlp sees that video is/was there but not available 2024-01-29 22:03:47 +00:00
Joey Hess
8e9ee31621
webapp: Added --port option, and annex.port config
The getSocket comment that mentioned using ":port"
in the hostname seems to have been incorrect or be out of date.
After all, the bug report came when the user first tried doing that,
and it didn't work.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
2024-01-25 14:08:36 -04:00
Joey Hess
d54f2ccae1
close 2024-01-25 13:28:23 -04:00
Joey Hess
3a20208ce1
confirm this todo 2024-01-25 13:25:15 -04:00
Joey Hess
2a56476ca5
close 2024-01-25 13:16:25 -04:00
Joey Hess
1120ac8272
update 2024-01-25 13:15:13 -04:00
Joey Hess
7aee4ca7c1
nack 2024-01-25 13:10:45 -04:00
Joey Hess
8646183e38
nack 2024-01-25 13:05:52 -04:00
Joey Hess
991dfcb9b8
nack 2024-01-25 13:04:35 -04:00
Joey Hess
3109447120
close 2024-01-25 12:58:16 -04:00
Joey Hess
b9e147d282
Added --expected-present file matching option 2024-01-25 12:56:41 -04:00
Joey Hess
72d2dbde5e
comment 2024-01-23 12:55:44 -04:00
Joey Hess
3ca1e036ed
open todo 2024-01-18 13:11:28 -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
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
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
Joey Hess
a6a67f79e7
todo 2024-01-02 17:00:41 -04: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
Atemu
f58d629b95 Added a comment 2023-12-25 13:37:58 +00:00