Commit graph

3747 commits

Author SHA1 Message Date
Joey Hess
9121154a75
new todo 2021-11-09 15:52:17 -04:00
Joey Hess
a0758bdd10
dynamically disable filter-process in restagePointerFile when it would be slower
Based on my earlier benchmark, I have a rough cost model for how
expensive it is for git-annex smudge to be run on a file, vs
how expensive it is for a gigabyte of a file's content to be read and
piped through to filter-process.

So, using that cost model, it can decide if using filter-process will
be more or less expensive than running the smudge filter on the files to
be restaged.

It turned out to be *really* annoying to temporarily disable
filter-process. I did find a way, but urk, this is horrible. Notice
that, if it's interrupted with it disabled, it will remain disabled
until the next time restagePointerFile runs. Which could be some time
later. If the user runs `git add` or `git checkout` on a lot of small
files before that, they will see slower than expected performance.

(This commit also deletes where I wrote down the benchmark results
earlier.)

Sponsored-by: Noam Kremen on Patreon
2021-11-08 16:20:34 -04:00
Joey Hess
054c803f8d
benchmarking of filter-process vs smudge/clean
No firm conclusions yet, but it's doing better than I would have
expected.

Sponsored-by: Graham Spencer on Patreon
2021-11-05 13:37:53 -04:00
Joey Hess
099e8fe061
close 2021-11-05 12:46:56 -04:00
Joey Hess
b25a138e22
update for git-annex filter-process 2021-11-04 15:15:26 -04:00
Joey Hess
8dd91be867
mention filter-process as v9 material 2021-11-04 15:05:24 -04:00
Joey Hess
bf1408f7bf
long-running-smudge branch started 2021-11-03 15:44:05 -04:00
Joey Hess
38ba8cca1b
investigation results
Also, close dup bug.
2021-11-02 15:06:20 -04:00
Joey Hess
669037862a
avoid redundant freezeContent call
This opens the potential for the object file to be in place but
git-annex is interrupted before it can freeze it. git-annex fsck already
fixes that situation, which can also occur when lockContentForRemoval
thaws content.

Also improve comment to not be Windows-specific.
2021-10-27 14:18:10 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
10582d1fe3 Updated patch 2021-10-26 19:55:58 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
d607446043 Added a comment 2021-10-26 19:54:53 +00:00
Joey Hess
3aaf6ade30
review 2021-10-26 14:08:56 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
63313e0b40 2021-10-24 19:12:23 +00:00
jkniiv
4471aae22f still think we should highlight this as new info 2021-10-24 15:10:13 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
42eaa6f8c9 Moved WSL1 guide to a tips page 2021-10-22 22:14:40 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
29dfc0a9bf Added a comment 2021-10-22 15:58:11 +00:00
Joey Hess
53f315db5a
comment 2021-10-20 14:12:08 -04:00
Joey Hess
67a67d740b
comment 2021-10-19 12:43:08 -04:00
Joey Hess
81ec8508df
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-19 12:03:51 -04:00
Joey Hess
3de3f40c11
comment 2021-10-19 10:26:39 -04:00
Atemu
6824a56d09 Added a comment 2021-10-19 13:05:50 +00:00
Atemu
8626f35898 Added a comment 2021-10-19 12:26:33 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
8a20c01775 Added a comment 2021-10-16 15:46:32 +00:00
Lukey
7c40c31210 Added a comment 2021-10-16 15:27:35 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
7ec426734b Note about case sensitivity dirs 2021-10-16 15:25:00 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
8ef65adaca Update WSL1 instructions 2021-10-16 15:16:23 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
4eefcf2c75 2021-10-16 14:45:43 +00:00
Joey Hess
f42679364b
comment 2021-10-15 13:14:19 -04:00
Joey Hess
647fc90b12
comment 2021-10-15 12:43:23 -04:00
Joey Hess
20c375d912
followup 2021-10-14 12:08:54 -04:00
Joey Hess
97dfaabbf0
remove 3 comments that turned out to be about an unrelated problem which got its own bug report 2021-10-14 12:05:07 -04:00
Joey Hess
b117f9338d
open todo 2021-10-12 13:42:08 -04:00
Joey Hess
17a0fa3dbc
negotiate P2P protocol version for tor remotes
This negotiation is not supported by versions of git-annex older
than 6.20180312. Well, maybe really 6.20180227 or so, but using that in
the changelog simplifies things since it was the version for the other
changes as well.

See commit c81768d425 for the back story.

As well as allowing for future protocol improvements, this will result
in negoatiating protocol version 1, which is an improvement over default
version 0.

In fact, it looks like no supported version of git-annex will use
protocol version 0, since version 1 was introduced in 6.20180227.
Still, removing the code for version 0 seems unncessary.
See commit 31e1adc005.

Sponsored-by: Brett Eisenberg on Patreon.
2021-10-11 15:58:51 -04:00
Joey Hess
7bdc7350a5
remove git-annex-shell compat code
* Removed support for accessing git remotes that use versions of
  git-annex older than 6.20180312.
* git-annex-shell: Removed several commands that were only needed to
  support git-annex versions older than 6.20180312.
  (lockcontent, recvkey, sendkey, transferinfo, commit)

The P2P protocol was added in that version, and used ever since, so
this code was only needed for interop with older versions.

"git-annex-shell commit" is used by newer git-annex versions, though
unnecessarily so, because the p2pstdio command makes a single commit at
shutdown. Luckily, it was run with stderr and stdout sent to /dev/null,
and non-zero exit status or other exceptions are caught and ignored. So,
that was able to be removed from git-annex-shell too.

git-annex-shell inannex, recvkey, sendkey, and dropkey are still used by
gcrypt special remotes accessed over ssh, so those had to be kept.
It would probably be possible to convert that to using the P2P protocol,
but it would be another multi-year transition.

Some git-annex-shell fields were able to be removed. I hoped to remove
all of them, and the very concept of them, but unfortunately autoinit
is used by git-annex sync, and gcrypt uses remoteuuid.

The main win here is really in Remote.Git, removing piles of hairy fallback
code.

Sponsored-by: Luke Shumaker
2021-10-11 15:36:51 -04:00
Joey Hess
0c12d01233
update 2021-10-11 10:06:36 -04:00
Joey Hess
1b79f2404d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-08 13:27:23 -04:00
Joey Hess
7ae7820ac0
todo 2021-10-08 13:26:40 -04:00
jkniiv
921e736953 Added a comment 2021-10-07 18:27:19 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
5bbbc87e99 Added a comment 2021-10-07 16:27:39 +00:00
jkniiv
04cb121b16 add footnote about the permissions required and Microsoft blog post 2021-10-07 16:25:37 +00:00
jkniiv
5135730467 remove mention of mount option case=dir (turned out to be unnecessary) 2021-10-07 11:40:25 +00:00
jkniiv
d9c2a632f5 Added a comment 2021-10-07 11:36:49 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
ae00d385fe Added a comment 2021-10-07 06:17:30 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
bcf7bd8505 2021-10-07 05:53:23 +00:00
jkniiv
f36272be0c Added a comment: the WSL1 use case 2021-10-07 04:12:48 +00:00
jkniiv
2b06612ed5 rename WSL1 section to highlight date, add wording about being experimental, reword some awkwardness, add further directions 2021-10-07 03:56:37 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
c3afda1699 Add steps for WSL1 2021-10-06 22:35:27 +00:00
spwhitton
3b4e56c760 Added a comment 2021-10-02 17:04:02 +00:00
Joey Hess
9012fa0187
reinject: Fix crash when reinjecting a file from outside the repository
Commit 4bf7940d6b introduced this
problem, but was otherwise doing a good thing. Problem being
that fileRef "/foo" used to return ":./foo", which was actually wrong,
but as long as there was no foo in the local repository, catKey
could operate on it without crashing. After that fix though, fileRef
would return eg "../../foo", resulting in fileRef returning
":./../../foo", which will make git cat-file crash since that's
not a valid path in the repo.

Fix is simply to make fileRef detect paths outside the repo and return
Nothing. Then catKey can be skipped. This needed several bugfixes to
dirContains as well, in previous commits.

In Command.Smudge, this led to needing to check for Nothing. That case
should actually never happen, because the fileoutsiderepo check will
detect it earlier.

Sponsored-by: Brock Spratlen on Patreon
2021-10-01 14:06:34 -04:00
spwhitton
6fbca0bb5b add sign off 2021-09-30 21:19:39 +00:00