Commit graph

41447 commits

Author SHA1 Message Date
Joey Hess
71d5516125
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-21 15:58:50 -04:00
Joey Hess
6079b0c72c
fix reversion
add: Avoid unncessarily converting a newly unlocked file to be stored
in git when it is not modified, even when annex.largefiles does not
match it.

This fixes a reversion in version 10.20220222, where git-annex unlock
followed by git-annex add, followed by git commit file could result in
git thinking the file was modified after the commit.

I do have half a mind to remove the withUnmodifiedUnlockedPointers part
of git-annex add. It seems weird, despite that old bug report arguing
a case of consistency that it ought to behave that way. When git-annex
add surpises me, it seems likely it's wrong.. But for now, this is the
smallest possible fix.

Sponsored-by: Dartmouth College's Datalad project
2022-03-21 15:54:04 -04:00
bz4
1440599676 Added a comment 2022-03-21 19:18:53 +00:00
michael@ff03af62c7fd492c75066bda2fbf02370f5431f4
9926429400 Added a comment 2022-03-21 19:10:35 +00:00
Joey Hess
d7cd8491b0
comment 2022-03-21 13:29:56 -04:00
Joey Hess
37be2c500e
diagnose user error 2022-03-21 13:24:04 -04:00
Joey Hess
c9797318d1
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-21 13:12:40 -04:00
Joey Hess
3e2f1f73cb
add back inode to directory special remote ContentIdentifier
Directory special remotes with importtree=yes have changed to once more
take inodes into account. This will cause extra work when importing from a
directory on a FAT filesystem that changes inodes on every mount.

To avoid that extra work, set ignoreinodes=yes when initializing a new
directory special remote, or change the configuration of your existing
remote: git-annex enableremote foo ignoreinodes=yes

This will mean a one-time re-import of all contents from every directory
special remote due to the changed setting.

73df633a62 thought
it was too unlikely that there would be modifications that the inode number
was needed to notice. That was probably right; it's very unlikely that a
file will get modified and end up with the same size and mtime as before.
But, what was not considered is that a program like NextCloud might write
two files with different content so closely together that they share the
mtime. The inode is necessary to detect that situation.

Sponsored-by: Max Thoursie on Patreon
2022-03-21 13:12:02 -04:00
Lukey
78ff8eb2c3 removed 2022-03-21 17:00:33 +00:00
bz4
d219626794 2022-03-21 12:43:08 +00:00
Jamie
e8b76f1706 Added a comment: Site Migration Issue Faced 2022-03-21 10:34:07 +00:00
michael@ff03af62c7fd492c75066bda2fbf02370f5431f4
b9a2e98f90 Created 2022-03-20 15:30:31 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
3d99eb5d52 Added a comment 2022-03-18 08:37:23 +00:00
rafd
4813bd9ad6 Added a comment 2022-03-17 16:09:38 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
7104a7b43e 2022-03-17 14:13:58 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
75d9368cb2 2022-03-17 14:13:16 +00:00
yarikoptic
a03aee0033 Added a comment 2022-03-16 20:32:57 +00:00
Joey Hess
693942a07a
comment 2022-03-16 15:18:24 -04:00
Joey Hess
ec1c389638
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-16 15:07:38 -04:00
Joey Hess
025c18128b
test: Added --jobs option
Default to the number of CPU cores, which seems about optimal
on my laptop. Using one more saves me 2 seconds actually.

Better packing of workers improves speed significantly.

In 2 tests runs, I saw segfaulting workers despite my attempt
to work around that issue. So detect when a worker does, and re-run it.

Removed installSignalHandlers again, because I was seeing an
error "lost signal due to full pipe", which I guess was somehow caused
by using it.

Sponsored-by: Dartmouth College's Datalad project
2022-03-16 14:42:07 -04:00
Joey Hess
be31a8a3d2
cleaner test dependencies
This improves the display of tests.

tasty-1.2 is in debian stable.

Sponsored-by: Dartmouth College's Datalad project
2022-03-16 12:53:08 -04:00
Joey Hess
d3b7c6705c
clean up concurrent output of tests
Using concurrent-output this is easy. Just have to check if tasty has
color enabled, and propagate it into the worker processes, some of which
will be run without a controlling console.

Also added a call to installSignalHandlers; I noticed that interrupting
the test suite could leave the console in a bad state and this fixes
that.

The ansi-terminal dependency is free, since tasty also depends on it.

Sponsored-by: Dartmouth College's Datalad project
2022-03-16 12:41:28 -04:00
Gus
16ad2cd008 Added a comment: I have seen this 2022-03-16 16:10:52 +00:00
yarikoptic
aedd27d477 Added a comment: FWIW a detail 2022-03-16 14:38:45 +00:00
bpoldrack
068f438a9b 2022-03-16 10:22:34 +00:00
bpoldrack
a9ccec5e59 2022-03-16 10:04:39 +00:00
Joey Hess
ca711f1741
link to issue for tasty segfault 2022-03-15 19:30:57 -04:00
rafd
3ed3fbac97 2022-03-15 16:57:04 +00:00
Joey Hess
57c01b2a63
allow tests to be split for more granularity
Unit tests are the main bulk of runtime, so splitting them into 2 or 3
parts should help.

For now, the number of parts is still 1, because on my 4 core laptop,
2 was a little bit slower, and 3 slower yet. However, this probably does
vary based on the number of cores, so needs to be revisited, and perhaps
made dynamic.

Since each test mode gets split into the specified number of parts,
plus property and remote tests, 2 gives 8 parts, and 3 gives 11 parts.
Load went to maybe 18, so there was probably contention slowing things
down.

So probably it needs to start N workers with some parts, and when a
worker finishes, run it with the next part, until all parts are
processed.

Sponsored-by: Dartmouth College's Datalad project
2022-03-14 17:23:52 -04:00
Joey Hess
8d14ce8f38
parallelize git-annex test for 25% speedup
Note the very weird workaround for what appears to be some kind of tasty
bug, which causes a segfault. This is not new to this modification,
I was seeing a segfault before at least intermittently when limiting
git-annex test -p to only run a single test group.

Also, the path from one test repo to a remote test repo used to be
"../../foo", which somehow broke when moving the test repos from .t to
.t/N. I don't actually quite understand how it used to work, but
"../foo" seems correct and works in the new situation.

Test output from the concurrent processes is not yet serialized.
Should be easy to do using concurrent-output.

More test groups will probably make the speedup larger. It would
probably be best to have a larger number of test groups and divvy them
amoung subprocesses numbered based on the number of CPU cores, perhaps
times 2 or 3.

Sponsored-by: Dartmouth College's Datalad project
2022-03-14 15:24:37 -04:00
Joey Hess
62e6c6afb9
fix accidental change to Test.hs while making comment 2022-03-14 13:10:37 -04:00
Joey Hess
8f05bcc98f
indentation 2022-03-14 12:30:27 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
35e91ecb55 Added a comment 2022-03-11 18:46:40 +00:00
ErrGe
7580d787cc Added a comment 2022-03-11 02:26:56 +00:00
ErrGe
4d593d4461 Added a comment 2022-03-11 02:23:20 +00:00
Joey Hess
afeb9b728e
comment 2022-03-10 16:10:46 -04:00
Joey Hess
feaf16141e
comment 2022-03-10 13:22:32 -04:00
Joey Hess
6f468a8bfc
comment 2022-03-10 13:10:39 -04:00
Atemu
0e39304905 Added a comment 2022-03-09 12:07:45 +00:00
Atemu
d476fc5a75 Added a comment 2022-03-09 11:40:28 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
7365aed80a Added a comment 2022-03-09 06:33:52 +00:00
ErrGe
f706a68c43 2022-03-09 01:08:23 +00:00
Joey Hess
c7f7be0236
comment 2022-03-08 15:50:31 -04:00
Joey Hess
82f1d82286
comment 2022-03-08 15:46:29 -04:00
Joey Hess
4cab0c1b05
comment 2022-03-08 14:51:01 -04:00
Joey Hess
14add55c2b
reopen 2022-03-08 14:08:27 -04:00
Joey Hess
64e9fa3267
comment 2022-03-08 14:07:24 -04:00
Joey Hess
7424ce54f4
comment 2022-03-08 13:54:07 -04:00
Joey Hess
2c5bf952cf
comment 2022-03-08 13:47:06 -04:00
Joey Hess
88d5a61fb7
comment 2022-03-08 13:08:16 -04:00