Commit graph

10978 commits

Author SHA1 Message Date
jkniiv
f34bc033a1 commit 9595a247a doesn't compile on Windows without reverting a small previous change 2021-09-02 04:29:16 +00:00
yarikoptic
89ace6f1da Added a comment 2021-09-01 18:05:26 +00:00
yarikoptic
61432f97cd Added a comment 2021-09-01 16:22:22 +00:00
Joey Hess
9cd1430fd6
comment 2021-09-01 11:43:51 -04:00
yarikoptic
5f78f96d2b Added a comment: clarification 2021-09-01 15:39:06 +00:00
Joey Hess
9595a247ae
fix test suite failure on windows
This was maybe a real bug too, although I don't know what circumstances
it would be a problem. See comment for analysis of this windows drive
letter wackyness issue.

Sponsored-by: Brock Spratlen on Patreon
2021-09-01 11:32:25 -04:00
Joey Hess
6db7079cb0
close 2021-09-01 10:47:33 -04:00
Joey Hess
6329997ac4
init: check for filesystem where write bit cannot be removed
This fixes a reversion caused by a99a84f342,
when git-annex init is run as root on a FAT filesystem mounted with
hdiutil on OSX. Such a mount point has file mode 777 for everything and
it cannot be changed. The existing crippled filesystem test tried to
write to a file after removing write bit, but that test does not run as
root (since root can write to unwritable files). So added a check of the
write permissions of the file, after attempting to remove them.

Sponsored-by: Dartmouth College's Datalad project
2021-09-01 10:27:28 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
9a0eab9b0e prop_relPathDirToFileAbs_basics fails on occasion 2021-08-31 21:44:25 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
8ebba0dc31 Added a comment 2021-08-31 20:47:24 +00:00
yarikoptic
e2b52cb8af report on 2 tests fail on crippled FS on mac 2021-08-31 14:20:15 +00:00
yarikoptic
5ce0990017 initial report 2021-08-31 14:13:11 +00:00
yarikoptic
608593feca Added a comment: just an update on my testing 2021-08-30 22:17:53 +00:00
Joey Hess
249d424b8a
comment 2021-08-30 14:42:09 -04:00
yarikoptic
953baa0abd Added a comment: reproducer 2021-08-30 18:07:05 +00:00
yarikoptic
4a6915000e Added a comment 2021-08-30 17:24:25 +00:00
Joey Hess
e853ef3095
decorate openTempFile errors with the template name
This is to track down what file in .git/annex/ is being written to via a
temp file when the repository is read-only.

Sponsored-by: Dartmouth College's Datalad project
2021-08-30 13:05:02 -04:00
Joey Hess
837116ef1e
Fix support for readonly git remotes
Boolean blindness oops.

(Reversion in version 8.20210621)

Sponsored-by: Dartmouth College's Datalad project
2021-08-30 12:34:19 -04:00
Joey Hess
b083f9ec2f
comment 2021-08-30 12:08:01 -04:00
Joey Hess
e92434ce72
comment 2021-08-30 12:06:28 -04:00
Joey Hess
50bb5f9c47
comment 2021-08-30 12:02:52 -04:00
yarikoptic
eb9abbd392 Added a comment 2021-08-27 18:46:39 +00:00
Joey Hess
a99a84f342
add: Detect when xattrs or perhaps ACLs prevent locking down a file's content
And fail with an informative message.

I don't think ACLs can prevent removing the write bit, but I'm not sure,
so kept it mentioning them as a possibility.

Should git-annex lock also check if the write bits are able to be removed?
Maybe, but the case I know about with xattrs involves cp -a copying NFS
xattrs, and it's the copy of the file that is the problem. So when locking
a file, I guess it will not be the copy.

Sponsored-by: Dartmouth College's Datalad project
2021-08-27 14:33:01 -04:00
Joey Hess
e17342b2a0
Run cp -a with --no-preserve=xattr, to avoid problems with copied xattrs
Including them breaking permissions setting on some NFS servers.

Sponsored-by: Dartmouth College's Datalad project
2021-08-27 13:09:34 -04:00
yarikoptic
16d35e04bf Added a comment 2021-08-27 01:38:54 +00:00
yarikoptic
fd1c823bd6 Added a comment 2021-08-27 01:34:18 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
1ab70f60d6 sometimes sync --content really does take longer to get a file than get 2021-08-27 00:58:18 +00:00
Joey Hess
097eab365a
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-26 17:26:49 -04:00
Joey Hess
ea5e58e3e3
comment 2021-08-26 17:25:33 -04:00
nothingmuch@486b0e001f63ad0513f9fc6921a31f08832ba22d
99dc41c121 Added a comment 2021-08-26 21:19:43 +00:00
yarikoptic
5a2818f9cf Added a comment 2021-08-26 16:49:56 +00:00
Joey Hess
891020f2fa
comment 2021-08-26 12:01:15 -04:00
yarikoptic
a7cf5abf3b Added a comment 2021-08-25 22:05:06 +00:00
yarikoptic
d54a25ed9e initial report on inability to get data of others via ssh 2021-08-25 20:30:52 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
5ba124a00a Added a comment: will do 2021-08-24 21:45:28 +00:00
Joey Hess
c64e80b357
comment 2021-08-24 15:02:53 -04:00
yarikoptic
1f3d295cb3 Added a comment 2021-08-24 18:06:10 +00:00
Joey Hess
7f7a1a43f0
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-24 14:04:03 -04:00
Joey Hess
4ed36b2634
Fix test suite failure on Windows
It would be better if the Arbitrary instance avoided generating impossible
filenames like "foo/c:bar", but proably this is the only place that splits
the file from the directory and then uses the file without the directory..
At least on the quickcheck properties.

Sponsored-by: Svenne Krap on Patreon
2021-08-24 14:03:29 -04:00
Joey Hess
0c3c49e003
comment 2021-08-24 12:38:08 -04:00
yarikoptic
7852c427d2 Added a comment: more info 2021-08-24 16:35:26 +00:00
Joey Hess
f2474e4850
comment 2021-08-24 12:25:55 -04:00
Joey Hess
736e85058b
retitle 2021-08-24 12:00:06 -04:00
Joey Hess
5b15b38b03
comment 2021-08-24 11:57:51 -04:00
Joey Hess
645967b9ce
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-24 11:07:39 -04:00
Joey Hess
3686ce15b9
comment 2021-08-24 11:07:19 -04:00
login+git-annex@12145486ec1e9f0d1587cdb0c6ef7538abab1c31
0e0322f0e7 2021-08-21 00:37:20 +00:00
anarcat
8898286b81 2021-08-19 14:44:56 +00:00
Joey Hess
7c2476e862
close 2021-08-18 17:37:17 -04:00
Joey Hess
6cf81dfa2e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-08-18 17:36:35 -04:00
Joey Hess
d3d5d2b4ec
fix test suite failure when run with LANG=C 2021-08-18 17:36:00 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
c6edf470b6 Added a comment: commit 492036622a fixes this 2021-08-18 21:10:51 +00:00
yarikoptic
9b05a9acf8 2021-08-18 20:19:36 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
ead94daca4 commit f0754a61f doesn't compile on Windows without a small patch 2021-08-17 21:15:04 +00:00
yarikoptic
b80dd29d6a initial report about needing newer gpg to get tests pass 2021-08-16 21:58:07 +00:00
yarikoptic
08ca0d8961 Added a comment: note on sec= on the mount 2021-08-16 21:38:13 +00:00
yarikoptic
b66308a214 update description that it is isilon under 2021-08-16 17:44:01 +00:00
Joey Hess
e46a7dff6f
fix windows build 2021-08-13 16:36:33 -04:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
41ef5da4e0 the fact that I needed a modification/patch to build mentioned 2021-08-13 03:42:10 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
3dc6c7a9a0 prop_view_roundtrips fails (occasionally) 2021-08-13 03:31:45 +00:00
jkniiv@b330fc3a602d36a37a67b2a2d99d4bed3bb653cb
57884e5442 windows build fails as of 7550ef9a2 2021-08-13 02:17:50 +00:00
yarikoptic
6318c0f27f a report on the flood of failing tests on discovery 2021-08-11 20:25:51 +00:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
285026eb91 Added a comment: I have this behavior consistently on the 2 repos I use 2021-08-11 18:49:41 +00:00
Joey Hess
885bbed2d4
sheeeeeeeeesh 2021-08-09 15:33:59 -04:00
yarikoptic
8ede4b606d Added a comment 2021-08-09 17:58:55 +00:00
yarikoptic
c7e4af1652 Added a comment 2021-08-09 17:34:39 +00:00
Ilya_Shlyakhter
c4b166aa17 Added a comment: standalone build version vs standard release version 2021-08-09 17:28:31 +00:00
Joey Hess
f54b9f2389
comment 2021-08-09 13:03:19 -04:00
Joey Hess
9d684e4dfa
response 2021-08-09 12:46:10 -04:00
Joey Hess
5990942b6c
don't use changelog version in commit message
changelog may have a new unreleased version open already
2021-08-09 12:31:48 -04:00
Joey Hess
c9b1b7d067
close 2021-08-09 12:31:36 -04:00
alex
1801400bbb 2021-08-09 04:21:11 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
251c24b388 Added a comment: Automatic watch for the heuristic 2021-08-07 12:25:02 +00:00
yarikoptic
4bebc46ce5 get failing to get if with --debug 2021-08-06 22:11:46 +00:00
yarikoptic
29fad2ec55 reporting on odds in downloads. 2021-08-06 21:53:42 +00:00
Joey Hess
899983058f
add: When adding a dotfile, avoid treating its name as an extension. 2021-08-03 12:22:58 -04:00
yarikoptic
20ffa01087 initial observation of .dot filename to consider having .dot extension 2021-08-02 16:56:19 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
70fe0862b4 Added a comment: Also seeing this behaviour 2021-08-02 06:14:41 +00:00
Joey Hess
b3c4579c79
work around strange auto-init bug
git-annex get when run as the first git-annex command in a new repo did not
populate unlocked files. (Reversion in version 8.20210621)

I am not entirely happy with this, because I don't understand how
428c91606b caused the problem in the first
place, and I don't fully understand how skipping calling scanAnnexedFiles
during autoinit avoids the problem.

Kept the explicit call to scanAnnexedFiles during git-annex init,
so that when reconcileStaged is expensive, it can be made to run then,
rather than at some later point when the information is needed.

Sponsored-by: Brock Spratlen on Patreon
2021-07-30 18:36:03 -04:00
Joey Hess
c912e7c4fd
bug 2021-07-30 17:13:15 -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
66089e97de
Fix a rounding bug in display of data sizes
Eg, showImprecise 1 1.99 returned "1.1" rather than "2". The 9 rounded
upward to 10, and that was wrongly used as the decimal, rather than
carrying the 1.

Sponsored-by: Jack Hill on Patreon
2021-07-30 09:56:04 -04:00
uli@8484a70fbfd489faef5f72c230d340b01e2676ca
1c4d6dee90 bugreport: git-annex info . formats 2 TB as 1.1 TB 2021-07-30 07:24:53 +00:00
Joey Hess
d2aead67bd
fsck: Detect and correct stale or missing inode caches for object files
An easy way to see this in action is to have an unlocked file, and touch the
object file.

While all code that compares inode caches for object files needs to be
prepared for this kind of problem and fall back to verification, having
fsck notice it and correct it is cheap (as long as fsck is being run
anyway) and ensures that if it happens for some unusual reason, there's a
way for the user to notice that it's happening.

Not that, when annex.thin is in use, the earlier call to isUnmodified
(and also potentially earlier calls to inAnnex in eg, verifyLocationLog)
will fix up the same problem silently. That might prevent the warning
being displayed, although probably it still will be, because the
Database.Keys write of the InodeCache will be queued but will not have
happened yet. I can't see a way to improve this, but it's not great.

Sponsored-by: Dartmouth College's Datalad project
2021-07-29 14:06:42 -04:00
Joey Hess
d4fc506f27
comment 2021-07-29 13:33:11 -04:00
mih
1e5c60132a Added a comment: Cause cannot (only) be a v7->v8 upgrade 2021-07-29 05:40:36 +00:00
Joey Hess
0ec5919bbe
comment 2021-07-27 13:45:33 -04:00
mih
c3e74710f9 Added a comment: Fixed in 8.20210715-g3b5a3e168 2021-07-27 12:00:35 +00:00
Joey Hess
3b5a3e168d
check if object is modified before starting to send it
Fix bug that caused some transfers to incorrectly fail with "content
changed while it was being sent", when the content was not changed.

While I don't know how to reproduce the problem that several people
reported, it is presumably due to the inode cache somehow being stale.
So check isUnmodified', and if it's not modified, include the file's
current inode cache in the set to accept, when checking for modification
after the transfer.

That seems like the right thing to do for another reason: The failure
says the file changed while it was being sent, but if the object file was
changed before the transfer started, that's wrong. So it needs to check
before allowing the transfer at all if the file is modified.

(Other calls to sameInodeCache or elemInodeCaches, when operating on inode
caches from the database, could also be problimatic if the inode cache is
somehow getting stale. This does not address such problems.)

Sponsored-by: Dartmouth College's Datalad project
2021-07-26 17:33:49 -04:00
Joey Hess
ae015c2ab9
comment 2021-07-26 17:09:14 -04:00
Joey Hess
6bbd606390
comment 2021-07-26 13:59:07 -04:00
Joey Hess
f195f3b541
more inode cache debugging 2021-07-26 12:57:35 -04:00
Joey Hess
5a7e76d5c1
comment 2021-07-26 11:13:12 -04:00
mih
9490ca5a26 Added a comment: strace logs 2021-07-26 07:10:22 +00:00
Joey Hess
645b045e02
comment 2021-07-22 14:14:25 -04:00
Joey Hess
801a5ddb9b
comment 2021-07-22 14:01:12 -04:00
Joey Hess
f8376821c7
comment 2021-07-22 13:28:23 -04:00
mih
f4a35892cf Added a comment: Carification 2021-07-22 14:59:23 +00:00
mih
5a7ca6f72c Added a comment: Reproducible with 8.20210715-g39d747936 2021-07-22 14:54:40 +00:00
Joey Hess
f84bd8e921
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-19 11:24:45 -04:00
Joey Hess
fccb51ac09
comment 2021-07-19 10:29:12 -04:00
anarcat
6d4baa4943 Added a comment: same problem on debian bullseye 2021-07-18 02:02:43 +00:00
Atemu
cf708a8871 Added a comment 2021-07-16 22:47:44 +00:00
alt
a4f31f583c Added a comment 2021-07-16 12:37:47 +00:00
jgsuess@732b8c62c50d8595d7b1d58eea11e5019c2308b1
cc36d6e538 2021-07-16 00:32:49 +00:00
Joey Hess
019b91f2a9
fix name 2021-07-15 12:56:44 -04:00
Joey Hess
c63fca74e9
fix syntax 2021-07-15 12:53:03 -04:00
Joey Hess
fd9ea6e1da
forum posts tagged bugreport get moved to the bug list and can be closed 2021-07-15 12:50:08 -04:00
Joey Hess
c952c485c8
Fix retrieval of content from borg repos accessed over ssh
It was making the borgrepo path absolute.. even when it was a ssh
repository.

Made BorgRepo a newtype, to guard against accidentially treating it like a
FilePath.

Sponsored-by: Graham Spencer on Patreon
2021-07-15 12:39:24 -04:00
alt
24041617a4 2021-07-15 07:19:33 +00:00
Joey Hess
274d2380c7
better key matching with a regexp
Handles keys that are substrings of other keys, as well as pointer files
that contain a newline after the key.

Note that -S does not match regexp, while -G does by default. Docs are
not clear, determined experimentally. The only other difference in
changing to -G is that if a file used to contain the key and changed
in some way, while still containing the key, -G will match and -S would
not. So eg, annex links that git annex fix rewrites will match, and
files that change lock status will match. Which is an improvement anyway.

Sponsored-by: Jochen Bartl on Patreon
2021-07-14 16:31:17 -04:00
Joey Hess
8c0ac094ed
minor bug in new whereused 2021-07-14 16:04:54 -04:00
Joey Hess
ca8f39295f
close not a bug 2021-07-13 14:00:19 -04:00
Joey Hess
facf7d1d2e
followup 2021-07-13 13:04:56 -04:00
Joey Hess
8885bd3c5b
addistant: honor annex.delayadd for non-large files
assistant: When adding non-large files to git, honor annex.delayadd
configuration.

Also, don't add non-large files to git when they are still
being written to. This came for free, since the changes to non-large
files get queued up with the ones to large files, and run through the lsof
check.

Sponsored-by: Luke Shumaker on Patreon
2021-07-13 12:17:00 -04:00
Joey Hess
2018cb4a97
comment 2021-07-12 16:00:59 -04:00
yarikoptic
d26c28c5f3 Added a comment 2021-07-12 17:44:58 +00:00
Joey Hess
a6767ca81f
close bug
and mention another aspect of the reversion in changelog
2021-07-12 10:45:57 -04:00
Joey Hess
5faf84c3a7
close as dup 2021-07-12 10:32:19 -04:00
Joey Hess
b2ba8c8aa4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-07-12 10:24:59 -04:00
Joey Hess
0ea263a036
update 2021-07-12 10:24:42 -04:00
yarikoptic
0bb668dcbe Added a comment 2021-07-12 14:17:52 +00:00
Joey Hess
6a581f8b8b
fix init reversion when core.sharedRepository = group
init: Fix misbehavior when core.sharedRepository = group that caused it to
enter an adjusted branch. (Reversion in version 8.20210630)

Commit 4b1b9d7a83 made init call
freezeContent in case there was a hook that could prevent writing in
situations where perms don't. But with the above git config, freezeContent
does not prevent write at all. So init needs to do what freezeContent does
with a non-shared git config.

Or init could check for that config, and skip the probing, since it
won't actually be preventing write to any files. But that would make init
too aware if details of Annex.Perms, and also would break if the git config
were changed after init.

Sponsored-by: Dartmouth College's Datalad project
2021-07-12 10:15:49 -04:00
Joey Hess
215aee105d
commet 2021-07-12 09:57:48 -04:00
Joey Hess
cd37ecb319
followup 2021-07-12 09:45:37 -04:00
Joey Hess
b885007f0e
--debug output goes to stderr again, not stdout
Reversion in version 8.20210428

Sponsored-by: Dartmouth College's Datalad project
2021-07-12 09:40:38 -04:00
yarikoptic
ff5a2e815c initial coarse report on the change in behavior in recent release 2021-07-08 01:42:32 +00:00
yarikoptic
fe1faa17d3 2021-07-07 22:32:08 +00:00
yarikoptic
abe08e3e49 initial report on stdout 2021-07-07 21:57:11 +00:00
Joey Hess
ec809de4b0
comment 2021-07-05 13:19:53 -04:00
Joey Hess
b9db859221
addurl: Avoid crashing when used on beegfs.
Sponsored-by: Dartmouth College's DANDI project
2021-07-05 13:02:40 -04:00
yarikoptic
4c191b2f0f Added a comment 2021-07-04 03:27:20 +00:00
yarikoptic
c381d60f64 allocate to dandi project 2021-07-03 13:44:53 +00:00
Joey Hess
5f0cc72303
comment 2021-07-02 10:42:54 -04:00
yarikoptic
f8f6d692b7 beegfs tests fails 2021-07-01 23:44:25 +00:00
Joey Hess
898a677bce
fix build on windows
Sponsored-by: Dartmouth College's Datalad project
2021-07-01 12:52:33 -04:00
Joey Hess
d9124bb8ce
tag because this is affecting datalad
https://github.com/datalad/datalad/issues/5750
2021-07-01 12:49:32 -04:00
Joey Hess
51335e9aad
comments 2021-07-01 12:45:03 -04:00
Joey Hess
d2c48404a8
assistant: Avoid unncessary git repository repair
In a situation where git fsck gets confused about a commit that is made
while it's running.

Sponsored-by: Graham Spencer on Patreon
2021-06-30 18:00:16 -04:00
Joey Hess
ee2e7c28a6
update 2021-06-30 17:20:15 -04:00
Joey Hess
0ffcfbdca6
bug 2021-06-30 16:44:30 -04:00
Joey Hess
73ccf34763
closing 2021-06-30 11:47:39 -04:00
jwodder
d296fb9693 2021-06-30 13:16:19 +00:00
falsifian
0a9a9c44e7 Added a comment 2021-06-30 00:09:23 +00:00
Atemu
99266d7875 Added a comment 2021-06-29 22:57:39 +00:00
yarikoptic
fe32661cf5 Added a comment 2021-06-29 17:27:35 +00:00
Joey Hess
199391befe
make repair interruption safe
Fixed bug that interrupting git-annex repair (or assistant) while it was
fixing repository corruption would lose objects that were contained in pack
files.

Unpack all pack files and move objects into place *before* deleting the
pack files. The old approach moved the pack files to a temp directory
before unpacking them, which was not interruption safe.

Sponsored-By: Jochen Bartl on Patreon
2021-06-29 13:14:28 -04:00
Joey Hess
a492553eca
some analysis 2021-06-28 15:00:21 -04:00
Joey Hess
26b0895187
close 2021-06-28 13:14:19 -04:00
Joey Hess
34b958144d
close 2021-06-28 13:11:13 -04:00
Joey Hess
d7d9363677
comment 2021-06-28 12:54:41 -04:00
Joey Hess
9cb5ed2446
avoid using cp --reflink=auto on windows
Sponsored-by: Dartmouth College's Datalad project
2021-06-28 12:51:40 -04:00
Joey Hess
0966bd2de4
comment 2021-06-25 13:33:27 -04:00
Joey Hess
df2001aa88
Improve display of errors when transfers fail
Transfers from or to a local git repo could fail without a reason being
given, if the content failed to verify, or if the object file's stat
changed while it was being copied. Now display messages in these cases.

Sponsored-by: Jack Hill on Patreon
2021-06-25 13:17:04 -04:00
Joey Hess
0fe550af75
fix windows build 2021-06-22 09:46:06 -04:00
jwodder
4b93e933db 2021-06-22 13:21:17 +00: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
falsifian
95f685f2ca Added a comment 2021-06-19 23:48:21 +00:00
falsifian
a73624b161 Added a comment 2021-06-19 23:41:25 +00:00
yarikoptic
538780ebaf Added a comment 2021-06-16 21:32:58 +00:00
Ilya_Shlyakhter
afb8c5f078 Added a comment: thanks 2021-06-16 19:54:02 +00:00
yarikoptic
9dfda0899a removed 2021-06-15 15:38:47 +00:00
yarikoptic
35371af3da Added a comment 2021-06-15 15:38:28 +00:00
yarikoptic
5ac6583621 Added a comment 2021-06-15 15:38:16 +00:00
Joey Hess
3af4c9a29a
fix exponential blowup when adding lots of identical files
This was an old problem when the files were being added unlocked,
so the changelog mentions that being fixed. However, recently it's also
affected locked files.

The fix for locked files is kind of stupidly simple. moveAnnex already
handles populating unlocked files, and only does it when the object file
was not already present. So remove the redundant populateUnlockedFiles
call. (That call was added all the way back in
cfaac52b88, and has always been
unncessary.)

Sponsored-by: Dartmouth College's Datalad project
2021-06-15 09:45:55 -04:00
Joey Hess
e147ae07f4
remove supportUnlocked check that is not worth its overhead
moveAnnex only gets to that check if the object file was not present
before. So in the case where dup files are being added repeatedly,
it will only run the first time, and so there's no significant speedup
from doing it; all it avoids is a single sqlite lookup. Since MVar
accesses do have overhead, it's better to optimise for the common case,
where unlocked files are supported.

removeAnnex is less clear cut, but I think mostly is skipped running on
keys when the object has already been dropped, so similar reasoning
applies.
2021-06-15 09:28:56 -04:00
Joey Hess
6099edbf1c
bloom doesn't work, but this should I hope 2021-06-14 17:53:01 -04:00
Joey Hess
2df4c1cf91
plan 2021-06-14 17:13:37 -04:00
Joey Hess
643dc36e37
going round and round, boredly 2021-06-14 14:37:06 -04:00
yarikoptic
6043a2c7a0 Added a comment 2021-06-14 17:36:16 +00:00
Joey Hess
372ace599a
comment 2021-06-14 13:13:46 -04:00
Joey Hess
dcd2c95249
fix windows build 2021-06-14 12:43:26 -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
a02b5c2904
response 2021-06-14 12:36:42 -04:00
yarikoptic
51fede57a2 Added a comment 2021-06-14 16:23:41 +00:00
Ilya_Shlyakhter
35afd58a76 Added a comment: git-annex-add slowdown 2021-06-14 16:00:44 +00:00
Joey Hess
c4f1465a81
check symlink before reading file
This is faster because when multiple files are in a directory, it gets
cached.
2021-06-14 11:53:51 -04:00
Joey Hess
4163344ed6
retitle 2021-06-14 11:44:55 -04:00
Joey Hess
0eff5a3f71
reproduced 2021-06-14 11:37:21 -04:00
yarikoptic
8f66f73fea Added a comment 2021-06-09 22:28:06 +00:00
yarikoptic
e30f973323 Added a comment: more "mystery resolved" -- identical (empty) keys 2021-06-09 21:00:34 +00:00
Joey Hess
4b09b93a18
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-09 15:38:58 -04:00
Joey Hess
fad281767a
comment 2021-06-09 15:38:55 -04:00
yarikoptic
714d9f1315 Added a comment 2021-06-08 22:02:34 +00:00
yarikoptic
a8fb61329d Added a comment 2021-06-08 21:58:20 +00:00
yarikoptic
3985ae3224 Added a comment: OSX mystery resolved. add --batch is effective mitigation 2021-06-08 21:56:53 +00:00
Joey Hess
6cb9113ff5
comments 2021-06-08 17:38:56 -04:00
yarikoptic
c3993a2655 Added a comment 2021-06-08 20:23:09 +00:00
yarikoptic
437d9366b7 Added a comment: getting closer... 2021-06-08 19:21:59 +00:00
Ilya_Shlyakhter
be4a029e1b Added a comment 2021-06-08 19:08:01 +00:00
yarikoptic
697921ecd8 Added a comment: all recent builds/logs are fetched to smaug 2021-06-08 16:50:12 +00:00
Joey Hess
ecbaa52571
clarification 2021-06-08 12:00:01 -04:00
Joey Hess
1a6fa5abc8
add debugging for reconcileStaged calls for benchmarking 2021-06-08 11:57:23 -04:00
yarikoptic
62758ffb9f Added a comment: slow down is OSX specific 2021-06-08 14:28:18 +00:00
Joey Hess
d12120739d
comment 2021-06-08 10:19:04 -04:00
yarikoptic
57b567ac87 Added a comment 2021-06-07 21:39:05 +00:00
yarikoptic
2ffb9cc01b Added a comment: clarification 2021-06-07 21:20:35 +00:00
Joey Hess
e9a8b48a52
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 17:02:15 -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
Ilya_Shlyakhter
bdf3c06401 Added a comment: deferring the scan 2021-06-07 17:41:45 +00:00
Joey Hess
0101363eb8
correctly update keys db in merge conflict
This is quite a subtle edge case, see the bug report for full details.

The second git diff is needed only when there's a merge conflict.
It would be possible to speed it up marginally by using
--diff-filter=Unmerged, but probably not enough to bother with.

Sponsored-by: Graham Spencer on Patreon
2021-06-07 12:52:36 -04:00
Joey Hess
da24034331
comment 2021-06-07 11:53:25 -04:00
Joey Hess
3aabaa1a2b
Merge branch 'master' of ssh://git-annex.branchable.com 2021-06-07 11:47:13 -04:00
Joey Hess
254199edc9
comment 2021-06-07 11:46:47 -04:00
jwodder
8822bf0803 2021-06-07 14:32:25 +00:00
Atemu
234d235a03 rename bugs/delayadd_doesn__39__t_work.mdwn to bugs/delayadd_doesn__39__t_work_with_smallfiles.mdwn 2021-06-06 16:50:40 +00:00
falsifian
f58d686ccf Add bug report 2021-06-05 20:31:39 +00:00
yarikoptic
717000f4f8 Added a comment 2021-06-05 13:50:43 +00:00
yarikoptic
c5e62c1968 Initial report on performance regression 2021-06-05 13:23:13 +00:00
Joey Hess
5b7429e73a
avoid removing old associated file when there is a merge conflict
It makes sense to keep the key used by the old version of an
associated file, until the merge conflict is resolved.

Note that, since in this case git diff is being run with --index, it's
not possible to use -1 or -3, which would let the keys
associated with the new versions of the file also be added. That would
be better, because it's possible that the local modification to the file
that caused the merge conflict has not yet gotten its new key recorded
in the db.

Opened a bug about a case this is thus not able to address.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-06-01 11:43:00 -04:00
Joey Hess
f00e365f41
comments 2021-05-31 17:54:17 -04:00
Atemu
1b6715b4ca Added a comment 2021-05-31 19:07:31 +00:00
Ilya_Shlyakhter
9dbf93b9c5 Added a comment: clarifying preferred content expressions 2021-05-30 19:40:51 +00:00
Joey Hess
cd73fcc92c
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-25 11:45:02 -04:00
Joey Hess
483fc4dc6b
Merge branch 'trackassociated' 2021-05-25 11:43:52 -04:00
Joey Hess
01331f0b8f
required content update 2021-05-25 10:04:29 -04:00
Joey Hess
45c0fb29f0
update 2021-05-25 09:58:46 -04:00
Atemu
82ee0f053b Added a comment 2021-05-25 11:00:39 +00:00
Joey Hess
9a5981a153
comment 2021-05-24 16:43:06 -04:00
Joey Hess
125a28c58e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-24 16:31:58 -04:00
Joey Hess
07c98a4ce2
update 2021-05-24 16:31:14 -04:00
Joey Hess
63de81b52a
Merge branch 'master' into trackassociated 2021-05-24 16:27:24 -04:00
Joey Hess
2de49c186f
update 2021-05-24 16:27:07 -04:00
Joey Hess
44a0d21e57
Merge branch 'master' into trackassociated 2021-05-24 16:24:53 -04:00
Joey Hess
a56b151f90
fix longstanding indeterminite preferred content for duplicated file problem
* drop: When two files have the same content, and a preferred content
  expression matches one but not the other, do not drop the file.
* sync --content, assistant: Fix an edge case where a file that is not
  preferred content did not get dropped.

The sync --content edge case is that handleDropsFrom loaded associated files
and used them without verifying that the information from the database was
not stale.

It seemed best to avoid changing --want-drop's behavior, this way when
debugging a preferred content expression with it, the files matched will
still reflect the expression. So added a note to the --want-drop documentation,
to make clear it may not behave identically to git-annex drop --auto.

While it would be possible to introspect the preferred content
expression to see if it matches on filenames, and only look up the
associated files when it does, it's generally fairly rare for 2 files to
have the same content, and the database lookup is already avoided when
there's only 1 file, so I did not implement that further optimisation.

Note that there are still some situations where the associated files
database does not get locked files recorded in it, which will prevent
this fix from working.

Sponsored-by: Dartmouth College's Datalad project
2021-05-24 14:07:05 -04:00
Joey Hess
c1b5028211
update 2021-05-24 11:59:01 -04:00
Ilya_Shlyakhter
bcedcef97f Added a comment: defining preferred content state 2021-05-23 20:39:23 +00:00
Atemu
3eb6a3b05f Added a comment 2021-05-22 17:31:01 +00:00
Lukey
be6bf5ba35 Added a comment 2021-05-22 17:19:19 +00:00
Atemu
8daca82623 Added a comment 2021-05-22 17:02:07 +00:00
Atemu
21fba1cdb8 Added a comment 2021-05-22 10:20:35 +00:00
Atemu
0b89436b47 Added a comment 2021-05-22 09:55:31 +00:00
Joey Hess
b81f5532c6
comment 2021-05-21 16:44:44 -04:00
Joey Hess
df0b75cdc4
complications 2021-05-21 14:18:38 -04:00
Joey Hess
1d9bad51d2
plan for these 2021-05-21 13:50:26 -04:00
Joey Hess
f39b7c3663
comment 2021-05-21 12:39:35 -04:00
Joey Hess
414dc39a12
comment 2021-05-21 11:31:38 -04:00
Joey Hess
9dbbecc8f4
Merge branch 'master' of ssh://git-annex.branchable.com 2021-05-21 11:28:17 -04:00
Joey Hess
5393c0ae58
reopen per comment 2021-05-21 11:27:13 -04:00
Atemu
e9e3cc015e Added a comment 2021-05-19 16:54:19 +00:00
Joey Hess
84366fa2d0
fix by improving docs 2021-05-19 11:13:53 -04:00
Atemu
48314f625f Added a comment 2021-05-18 16:23:09 +00:00
Atemu
4a76ba8761 Forgot the assistant needed for repro 2021-05-18 16:16:56 +00:00
Atemu
828a5922df Added a comment 2021-05-18 09:13:32 +00:00
Atemu
b4b6977cab Added a comment 2021-05-16 11:37:25 +00:00
Atemu
944b132103 2021-05-16 11:05:15 +00:00
Atemu
54db5df937 Added a comment 2021-05-16 10:27:47 +00:00
Joey Hess
947d2a10bc
assistant: Fix a crash on startup by avoiding using forkProcess
ghc 8.8.4 seems to have changed something that broke code that has been
successfully using forkProcess since 2012. Likely a change to GC internals.

Since forkProcess has never had clear documentation about how to
use it safely, avoid using it at all. Instead, when git-annex needs to
daemonize itself, re-run the git-annex command, in a new process group
and session.

This commit was sponsored by Luke Shumaker on Patreon.
2021-05-12 15:08:03 -04:00
Joey Hess
ba7598dbab
comment 2021-05-12 13:39:15 -04:00
Joey Hess
7e2fda5307
comment 2021-05-12 11:37:36 -04:00