Commit graph

3825 commits

Author SHA1 Message Date
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
spwhitton
c6e1a6a3a1 post bug 2021-09-30 21:15:04 +00:00
Joey Hess
a92427c0d3
comment 2021-09-27 14:14:52 -04:00
Joey Hess
69c1c02339
comment 2021-09-27 13:59:54 -04:00
Joey Hess
64cac1a721
avoid potentially very long bwlimit delay at start
I first saw this getting with -J2 over ssh, but later saw it also
without the -J2. It was resuming, and the calulated unboundDelay was
many minutes. The first update of the meter jumped to some large value,
because of the resuming, and so it thought the BW was super fast.

Avoid by waiting until the second meter update.

Might be a good idea to also guard for the delay being many seconds
and avoid waiting. But how many? If BW is legitimately super fast, and a
remote happens to read more than a 32kb or so chunk at a time, it could
in theory download megabytes or gigabytes of data before the first meter
update. It would actually be appropriate then to delay for a long time,
if the desired BW was low. Could make up some numbers that are sane now,
but tech may improve.

(BTW, pleased to see bwlimit does work with -J. I had worried that
it might not, if the meter update happened in a different thread than
the downloading, but it's done in the same thread.)

Sponsored-by: Brett Eisenberg on Patreon
2021-09-22 19:23:30 -04:00
Joey Hess
1033a81d63
mention tiny wart 2021-09-22 15:29:07 -04:00
Joey Hess
fc9abca231
Merge branch 'bwlimit' 2021-09-22 15:27:28 -04:00
Joey Hess
e8496d62e4
improved bwrate limiting implementation
New method is much better. Avoids unrestrained transfer at the beginning
(except for the first block. Keeps right at or a few kb/s below the
configured limit, with very little varation in the actual reported bandwidth.

Removed the /s part of the config as it's not needed.

Ready to merge.

Sponsored-by: Luke Shumaker on Patreon
2021-09-22 15:27:16 -04:00
Joey Hess
00c452f0db
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-22 11:15:51 -04:00
Joey Hess
44d3d50785
note 2021-09-22 11:10:55 -04:00
Atemu
f71cffa401 Added a comment 2021-09-22 14:17:59 +00:00
Joey Hess
b76a4453cb
bwlimit branch 2021-09-22 09:54:14 -04:00
Joey Hess
b8130655cc
comment 2021-09-11 17:01:39 -04:00
Joey Hess
4f42292b13
improve url download failure display
* When downloading urls fail, explain which urls failed for which
  reasons.
* web: Avoid displaying a warning when downloading one url failed
  but another url later succeeded.

Some other uses of downloadUrl use urls that are effectively internal use,
and should not all be displayed to the user on failure. Eg, Remote.Git
tries different urls where content could be located depending on how the
remote repo is set up. Exposing those urls to the user would lead to wild
goose chases. So had to parameterize it to control whether it displays urls
or not.

A side effect of this change is that when there are some youtube urls
and some regular urls, it will try regular urls first, even if the
youtube urls are listed first. This seems like an improvement if
anything, but in any case there's no defined order of urls that it's
supposed to use.

Sponsored-by: Dartmouth College's Datalad project
2021-09-01 15:33:38 -04:00
yarikoptic
07aa981379 initial TODO on improving 'get' errors reporting 2021-08-31 14:40:48 +00:00
Joey Hess
0418d54f28
update 2021-08-30 14:34:25 -04:00
Joey Hess
8208daaf17
idea for making more special remotes support importtree
Sponsored-by: Jack Hill on Patreon
2021-08-30 14:27:22 -04:00
Joey Hess
7b1709105a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-27 12:30:35 -04:00
Joey Hess
3093e8fcc3
thought 2021-08-27 00:59:24 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
3007e3c177 Added a comment: it turns out I had to file this as a bug 2021-08-27 01:38:29 +00:00
Joey Hess
ab7b5a492c
--batch-keys
New --batch-keys option added to these commands:  get, drop, move, copy, whereis

git-annex-matching-options had to be reworded since some of its options
can be used to match on keys, not only files.

Sponsored-by: Luke Shumaker on Patreon
2021-08-25 14:21:12 -04:00
Joey Hess
8944569988
comment 2021-08-24 11:21:12 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
20a252a129 Added a comment: git annex sync --no-commit --content takes double the time of git annex get . 2021-08-20 02:05:53 +00:00
Joey Hess
53744e132d
incremental verification for gitlfs and httpalso
And that should be all the special remotes supporting it on linux now,
except for in the odd edge case here and there.

Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:17:10 -04:00
Joey Hess
f5e09a1dbe
incremental verification for S3
Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:07:00 -04:00
Joey Hess
d154e7022e
incremental verification for web special remote
Except when configuration makes curl be used. It did not seem worth
trying to tail the file when curl is downloading.

But when an interrupted download is resumed, it does not read the whole
existing file to hash it. Same reason discussed in
commit 7eb3742e4b76d1d7a487c2c53bf25cda4ee5df43; that could take a long
time with no progress being displayed. And also there's an open http
request, which needs to be consumed; taking a long time to hash the file
might cause it to time out.

Also in passing implemented it for git and external special remotes when
downloading from the web. Several others like S3 are within striking
distance now as well.

Sponsored-by: Dartmouth College's DANDI project
2021-08-18 15:02:22 -04:00
Joey Hess
1dca3ba26a
status update 2021-08-18 12:58:27 -04:00
Joey Hess
d67da1f4db
idea 2021-08-18 12:39:03 -04:00
Joey Hess
4bbc6a25fa
comment 2021-08-17 10:28:18 -04:00
Joey Hess
ffa1f6ed30
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-16 17:30:04 -04:00
Joey Hess
f8463ad52f
status update 2021-08-16 17:29:39 -04:00
Joey Hess
b1622eb932
incremental verify for directory special remote
Added fileRetriever', which will let the remaining special remotes
eventually also support incremental verify.

Sponsored-by: Dartmouth College's DANDI project
2021-08-16 16:51:33 -04:00
Joey Hess
ec82299730
status update
I was wrong about S3 supporting tailVerify.
2021-08-16 15:15:32 -04:00
https://christian.amsuess.com/chrysn
905fef31b3 Added a comment: Another example 2021-08-15 17:42:54 +00:00
Joey Hess
751242b55e
status update 2021-08-13 16:34:18 -04:00
Joey Hess
51d59fb260
comment 2021-08-12 14:49:48 -04:00
Joey Hess
7eb3742e4b
incremental verify for chunked remotes
Simply feed each chunk in turn to the incremental verifier.

When resuming an interrupted retrieve, it does not do incremental
verification. That would need to read the file, up to the resume point,
and feed it to the incremental verifier. That seems easy to get wrong.
Also it would mean extra work done before the transfer can start. Which
would complicate displaying progress, and would perhaps not appear to the
user as if it was resuming from where it left off. Instead, in that
situation, return UnVerified, and let the verification be done in a
separate pass.

Granted, Annex.CopyFile does manage all that, but it's not complicated
by dealing with chunks too.

Sponsored-by: Dartmouth College's DANDI project
2021-08-11 14:42:49 -04:00
Joey Hess
8886ff1cff
done! 2021-08-04 12:40:25 -04:00
Joey Hess
c67b1e31a6
branch 2021-08-03 17:05:50 -04:00
Joey Hess
629e95fd8e
update 2021-08-03 14:03:25 -04:00
Joey Hess
bb56186daa
new todo.. I seem to have cracked a longstanding problem
Sponsored-by: Jochen Bartl on Patreon
2021-08-03 13:51:23 -04:00
Joey Hess
461035c6ec
close
I'm now reasonably sure I've identified both cases where this can
happen. v8 upgrades and certian filesystems eg NFS. Both are handled as
well as can be, though it may involve some extra checksumming work.
2021-07-30 15:22:22 -04:00
Joey Hess
1fc6e6a65f
close this frustrating todo due to lack of followup and/or being fixed 2021-07-26 11:16:58 -04:00
Joey Hess
2ab19be3f6
comment 2021-07-22 13:34:27 -04:00
Joey Hess
39d7479366
comment 2021-07-21 11:06:03 -04:00
neil.okamoto@6ca5b1b6563bc71ce13ec235852d23e6ac86e331
9da4a7d5b2 Added a comment 2021-07-21 07:13:02 +00:00
neil.okamoto@6ca5b1b6563bc71ce13ec235852d23e6ac86e331
24c88e8167 Added a comment 2021-07-20 23:22:29 +00:00
Joey Hess
c9b9a93509
close 2021-07-16 16:28:22 -04:00
Joey Hess
acbf711e21
comment 2021-07-16 15:16:56 -04:00
Joey Hess
aa33c928cb
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-16 14:02:41 -04:00
Joey Hess
dc4e79c582
I understand this now, marking confirmed 2021-07-16 14:02:12 -04:00
Atemu
a4947c65ec Added a comment 2021-07-16 11:21:43 +00:00
Lukey
3c1f7ee773 Added a comment 2021-07-15 18:40:13 +00:00
Lukey
ca12b01fca Clarify 2021-07-15 18:30:22 +00:00
Joey Hess
b2a7a665b2
comment 2021-07-15 12:19:49 -04:00
Atemu
eb89eeea30 Added a comment 2021-07-14 21:27:42 +00:00
Joey Hess
d6f056eca3
have whereused also check the reflog
Since the stash is part of that, it can also find stashed content.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-07-14 16:05:20 -04:00
Joey Hess
980613ec8c
man page for git-annex whereused
And an implementation strategy.

Sponsored-by: Brett Eisenberg on Patreon
2021-07-14 13:43:45 -04:00
Joey Hess
6db4ee6c34
comment 2021-07-14 12:01:34 -04:00
Atemu
fc5c6c6f11 Added a comment 2021-07-13 21:13:12 +00:00
Joey Hess
011341ff1a
comment 2021-07-13 13:20:14 -04:00
Joey Hess
93d8585faf
comment 2021-07-13 13:17:27 -04:00
Joey Hess
ce6a288412
comment 2021-07-13 12:47:56 -04:00
Ilya_Shlyakhter
e371367cb0 Added a comment: (partial) filenames in keys 2021-07-13 15:13:27 +00:00
Ilya_Shlyakhter
f4a281f712 Added a comment 2021-07-13 03:05:45 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
72b9db6680 Added a comment 2021-07-12 22:48:26 +00:00
Joey Hess
b4c149b05e
comment 2021-07-12 12:05:52 -04:00
Ilya_Shlyakhter
5b45deda15 Added a comment: about maxextensionlength 2021-07-12 15:38:22 +00:00
Ilya_Shlyakhter
ea3fdc43d6 Added a comment 2021-07-12 15:30:25 +00:00
Joey Hess
443f841b78
comment 2021-07-12 11:20:51 -04:00
Joey Hess
bb87ee3375
comment 2021-07-12 11:01:59 -04:00
Joey Hess
0d3da9496f
comment 2021-07-12 10:57:44 -04:00
Ilya_Shlyakhter
e85eed583f Added a comment 2021-07-09 16:04:47 +00:00
https://christian.amsuess.com/chrysn
b4d33f3358 Added a comment: +1 on supportunlocked in git-annex config 2021-07-09 15:26:13 +00:00
https://christian.amsuess.com/chrysn
4a78debbe1 Added a comment: +1 on supportunlocked in git-annex config 2021-07-09 15:25:53 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
a74ea32352 Added a comment 2021-07-06 19:49:07 +00:00
Ilya_Shlyakhter
9dd962aa73 added suggestion: add maxextensionlength to git-annex-config 2021-07-06 15:05:05 +00:00
Ilya_Shlyakhter
92c0080bf4 Added a comment: about keys with extensions 2021-07-06 14:59:24 +00:00
Joey Hess
2a328dca8c
comment 2021-07-06 10:09:03 -04:00
Joey Hess
92ca28c47b
close 2021-07-06 09:46:25 -04:00
Joey Hess
c00a15dde0
close 2021-07-06 09:45:45 -04:00
Ilya_Shlyakhter
97eb79e752 Added a comment: read-only view of repo clone with symlinks as normal files 2021-07-01 17:17:20 +00:00
Joey Hess
5594d00f8c
close 2021-06-28 13:08:57 -04:00
Joey Hess
ef5fb1a853
close 2021-06-28 13:05:26 -04:00
Joey Hess
3a14648142
dropping unused marks as dead
Dropping an object with drop --unused or dropunused will mark it as
dead, preventing fsck --all from complaining about it after it's been
dropped from all repositories.

If another repository still has a copy, it won't be treated as dead
until it's also dropped from there.

The drop has to use --unused, can't be --key or something else, because
this indicates that the user has recently ran git-annex unused. If it
checked the unused log on every drop, bad things would happen when the
unused log was out of date, eg a file used to be unused but then got
re-added. Marking such a file as dead could be confusing. When the user
uses --unused/dropunused, they must consider the unused information to be
up-to-date.

The particular workflow this enables is:

	git annex add foo
	git annex unannex foo
	git annex unused
	git annex drop --unused / dropunused
	git annex fsck --all # no warnings

The docs for git-annex unannex say to use git-annex unused and dropunused,
so the user should be pointed in this direction when they want to undo an
accidental add.

Sponsored-by: Brock Spratlen on Patreon
2021-06-25 15:22:26 -04:00
Joey Hess
0c1df95dd7
comment 2021-06-25 14:15:14 -04:00
Joey Hess
172c7e22e9
comment 2021-06-25 13:52:59 -04:00
Joey Hess
f5595ea063
comment 2021-06-25 12:13:25 -04:00
Joey Hess
e2cc9bf53d
comment 2021-06-25 12:11:05 -04:00
Ilya_Shlyakhter
27df3f8e88 added suggestion re: hardening git-annex against interruptions 2021-06-24 18:16:43 +00:00
Ilya_Shlyakhter
7ad95210d1 Added a comment: resolving merge conflicts 2021-06-24 18:03:40 +00:00
Lukey
fb2e418fa2 Added a comment 2021-06-24 17:43:36 +00:00
Ilya_Shlyakhter
879ac0b713 Added a comment: thanks 2021-06-24 16:40:48 +00:00
Joey Hess
847aa88bcb
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-23 17:31:09 -04:00
Joey Hess
a3a6e64122
comment 2021-06-23 17:30:50 -04:00
Ilya_Shlyakhter
7bff1dc27c Added a comment: recovering from sqlite db corruption 2021-06-23 18:45:47 +00:00
Joey Hess
af64c184f3
comment 2021-06-23 13:19:34 -04:00
Joey Hess
b980d90b05
close 2021-06-23 12:59:00 -04:00
Joey Hess
e701f69ac4
comment and close 2021-06-23 12:53:18 -04:00
Lukey
d2ba1698c9 2021-06-22 18:40:56 +00:00
Joey Hess
4b1b9d7a83
Added annex.freezecontent-command and annex.thawcontent-command configs
Freeze first sets the file perms, and then runs
freezecontent-command. Thaw runs thawcontent-command before
restoring file permissions. This is in case the freeze command
prevents changing file perms, as eg setting a file immutable does.
Also, changing file perms tends to mess up previously set ACLs.

git-annex init's probe for crippled filesystem uses them, so if file perms
don't work, but freezecontent-command manages to prevent write to a file,
it won't treat the filesystem as crippled.

When the the filesystem has been probed as crippled, the hooks are not
used, because there seems to be no point then; git-annex won't be relying
on locking annex objects down. Also, this avoids them being run when the
file perms have not been changed, in case they somehow rely on
git-annex's setting of the file perms in order to work.

Sponsored-by: Dartmouth College's Datalad project
2021-06-21 14:40:52 -04:00
Joey Hess
f23ae9a45b
comment 2021-06-21 13:52:50 -04:00
Joey Hess
ea0835eba6
tag datalad
at yoh's request
2021-06-21 13:23:51 -04:00
Joey Hess
a6a6217322
remove old closed bugs and todo items to speed up wiki updates and reduce size
Remove closed bugs and todos that were last edited or commented before 2020.

Except for ones tagged projects/* since projects like datalad want to keep
around records of old deleted bugs longer.

Command line used:

for f in $(grep -l '|done\]\]' -- ./*.mdwn); do if ! grep -q "projects/" "$f"; then d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2020 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2020 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
for f in $(grep -l '\[\[done\]\]' -- ./*.mdwn); do if ! grep -q "projects/" "$f"; then d="$(echo "$f" | sed 's/.mdwn$//')"; if [ -z "$(git log --since=01-01-2020 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2020 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
2021-06-21 13:10:13 -04:00
Ilya_Shlyakhter
bfa530e962 added suggestion to allow use of synchronous=OFF with Sqlite 2021-06-16 20:06:39 +00:00
Joey Hess
d2be68907c
drop, move, mirror: when two files have the same content, honor the max numcopies and requiredcopies
Eg, before with a .gitattributes like:

*.2 annex.numcopies=2
*.1 annex.numcopies=1

And foo.1 and foo.2 having the same content and key, git-annex drop foo.1 foo.2
would succeed, leaving just 1 copy, despite foo.2 needing 2 copies.
It dropped foo.1 first and then skipped foo.2 since its content was gone.

Now that the keys database includes locked files, this longstanding wart
can be fixed.

Sponsored-by: Noam Kremen on Patreon
2021-06-15 11:38:44 -04:00
Joey Hess
af9fdf5dba
verify associated files when checking numcopies
Most of this is just refactoring. But, handleDropsFrom
did not verify that associated files from the keys db were still
accurate, and has now been fixed to.

A minor improvement to this would be to avoid calling catKeyFile
twice on the same file, when getting the numcopies and mincopies value,
in the common case where the same file has the highest value for both.
But, it avoids checking every associated file, so it will scale well to
lots of dups already.

Sponsored-by: Kevin Mueller on Patreon
2021-06-15 11:14:52 -04:00
Joey Hess
effc9bf5dd
close 2021-06-15 10:11:14 -04:00
Joey Hess
711252331e
comment 2021-06-14 14:34:22 -04:00
Joey Hess
398f9decd4
comment 2021-06-14 14:32:38 -04:00
Joey Hess
78da00c7a6
Future proof activity log parsing
When the log has an activity that is not known, eg added by a future
version of git-annex, it used to be treated as no activity at all,
which would make git-annex expire think it should expire the repository,
despite it having some kind of recent activity.

Hopefully there will be no reason to add a new activity until enough
time has passed that this commit is in use everywhere.

Sponsored-by: Jake Vosloo on Patreon
2021-06-14 14:18:19 -04:00
Joey Hess
3ac9363c03
comment 2021-06-14 12:42:11 -04:00
Joey Hess
014dc63a55
avoid sometimes expensive operations when annex.supportunlocked = false
This will mostly just avoid a DB lookup, so things get marginally
faster. But in cases where there are many files using the same key, it
can be a more significant speedup.

Added overhead is one MVar lookup per call, which should be small
enough, since this happens after transferring or ingesting a file,
which is always a lot more work than that. It would be nice, though,
to move getGitConfig to AnnexRead, which there is an open todo about.
2021-06-14 12:40:41 -04:00
Joey Hess
6cb9113ff5
comments 2021-06-08 17:38:56 -04:00
Joey Hess
7b6deb1109
display scanning message whenever reconcileStaged has enough files to chew on
Clear visible progress bar first.

Removed showSideActionAfter because it can't be used in reconcileStaged
(import loop). Instead, it counts the number of files it
processes and displays it after it's seen a sufficient to know it's
taking a while.

Sponsored-by: Dartmouth College's Datalad project
2021-06-08 12:48:30 -04:00
Joey Hess
13b9a288d3
scanAnnexedFiles in smudge --update
This makes git checkout and git merge hooks do the work to catch up with
changes that they made to the tree. Rather than doing it at some later
point when the user is not thinking about that past operation.

Sponsored-by: Dartmouth College's Datalad project
2021-06-08 11:37:47 -04:00
Joey Hess
2467de4f9b
todo 2021-06-07 16:58:35 -04:00
Joey Hess
0f10f208a7
avoid double work in git-annex init
reconcileStaged was doing a redundant scan to scannAnnexedFiles.

It would probably make sense to move the body of scannAnnexedFiles
into reconcileStaged, the separation does not really serve any purpose.

Sponsored-by: Dartmouth College's Datalad project
2021-06-07 16:50:14 -04:00
Joey Hess
6ceb31a30a
optimise reconcileStaged with git cat-file streaming
Commit 428c91606b made it need to do more
work in situations like switching between very different branches.

Compare with seekFilteredKeys which has a similar optimisation. Might be
possible to factor out the common part from these?

Sponsored-by: Dartmouth College's Datalad project
2021-06-07 15:26:48 -04:00
Joey Hess
570e93abfd
comment 2021-06-07 13:28:36 -04:00
Joey Hess
1c35cacf8e
fix link 2021-06-07 13:06:16 -04:00
Joey Hess
b960ebf1b3
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 12:59:21 -04:00
Ilya_Shlyakhter
4d581ad6b4 Added a comment: deferring the keys-to-files scan 2021-06-07 16:11:01 +00:00