Commit graph

11961 commits

Author SHA1 Message Date
Joey Hess
f2914ab6a0
idea 2023-03-31 13:11:35 -04:00
Joey Hess
2b40fa51d3
git-annex.cabal: Prevent building with unix-compat 0.7
Which removed System.PosixCompat.User.
See https://github.com/haskell-pkg-janitors/unix-compat/issues/3

Sponsored-by: Noam Kremen on Patreon
2023-03-31 12:52:23 -04:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
eb51b385a0 Added a comment 2023-03-30 17:33:58 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
43878157d3 Added a comment 2023-03-30 17:33:10 +00:00
zhongruoyu@80ae9772857666624009364c29f07c70beed46ac
51643bba3e 2023-03-29 22:44:08 +00:00
sawmke
30d7f9ad78 2023-03-29 11:47:13 +00:00
Joey Hess
be65476fd4
close 2023-03-28 17:01:25 -04:00
Joey Hess
18d326cb6f
external protocol VERSION 2
Support VERSION 2 in the external special remote protocol, which is
identical to VERSION 1, but avoids external remote programs neededing to
work around the above bug. External remote program that support
exporttree=yes are recommended to be updated to send VERSION 2.

Sponsored-by: Kevin Mueller on Patreon
2023-03-28 17:00:08 -04:00
Joey Hess
82c65b7951
comment 2023-03-28 16:08:46 -04:00
Joey Hess
e987725282
fixed 2023-03-28 15:26:26 -04:00
Joey Hess
c1d698f1f2
comment 2023-03-28 14:31:00 -04:00
Joey Hess
75ac65435a
comment 2023-03-28 14:26:19 -04:00
jonahmail1@a6afaf85da848e3a3cf7fcec09326a982d4c1819
63c690ddc0 2023-03-28 17:27:46 +00:00
jonahmail1@a6afaf85da848e3a3cf7fcec09326a982d4c1819
668785f182 2023-03-28 17:27:33 +00:00
Joey Hess
4461223c8f
comment 2023-03-28 13:13:34 -04:00
Joey Hess
a5709dcc22
Copy with a reflink when exporting a tree to a directory special remote
Remote.Directory makes a temp file, then calls this, and since the temp
file exists, it prevented probing if CoW works.

Note that deleting the empty file does mean there's a small window for a
race. If another process is also exporting to the remote, that could let it
make the same temp file. However, the temp filename actually has the
processes's pid in it, which avoids that being a problem.

This may have been a reversion caused by commits around
63d508e885, but I haven't gone back and
tested to be sure. The directory special remote had supposedly supported
CoW for this going back to about half a year before that.

Sponsored-by: Graham Spencer on Patreon
2023-03-28 13:09:14 -04:00
Joey Hess
24ae4b291c
addurl, importfeed: Fix failure when annex.securehashesonly is set
The temporary URL key used for the download, before the real key is
generated, was blocked by annex.securehashesonly.

Fixed by passing the Backend that will be used for the final key into
runTransfer. When a Backend is provided, have preCheckSecureHashes
check that, rather than the key being transferred.

Sponsored-by: unqueued on Patreon
2023-03-27 15:10:46 -04:00
Joey Hess
f4a390b2a6
promote comment to bug 2023-03-27 14:10:32 -04:00
Joey Hess
c1d0f90081
verified fixed 2023-03-27 13:58:16 -04:00
Joey Hess
5fdc074fa7
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-27 13:38:13 -04:00
Joey Hess
3badde71ae
comment 2023-03-27 12:36:21 -04:00
jonas
b9965126a1 2023-03-26 20:04:22 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
af24798abd 2023-03-26 19:00:42 +00:00
wolf480@8ad1ccdd08efc303a88f7e88c4e629be6637a44e
140edd65ac 2023-03-26 18:39:20 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
4d198a6665 Added a comment 2023-03-25 08:47:01 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
70a9e995b8 Added a comment 2023-03-24 08:13:00 +00:00
Joey Hess
038a2600f4
Avoid leaving repo with a detached head when there is a failure checking out an updated adjusted branch
I don't know of scenarios where that can happen (besides the bug
fixed by the parent commit), but there probably are some.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2023-03-23 16:36:43 -04:00
Joey Hess
cb4d9f7b1f
run restagePointerFiles in adjustedBranchRefreshFull
Avoid failure to update adjusted branch --unlock-present after git-annex
drop when annex.adjustedbranchrefresh=1

At higher values, it did flush the queue, which ran restagePointerFiles.
But at 1, adjustedBranchRefreshFull gets added to the queue, and while
restagePointerFiles is also in the queue, it runs after that.

Sponsored-by: Brock Spratlen on Patreon
2023-03-23 16:25:45 -04:00
Joey Hess
d580ea2120
add comment 2023-03-23 15:29:53 -04:00
Joey Hess
3c5f4b89ca
update 2023-03-23 15:29:42 -04:00
Joey Hess
5b4ceda32e
comment 2023-03-23 15:28:27 -04:00
Joey Hess
ec14d95999
comment 2023-03-23 15:27:02 -04:00
Joey Hess
c77f2731e9
Merge branch 'master' of ssh://git-annex.branchable.com 2023-03-23 15:22:13 -04:00
Joey Hess
a0badc5069
sync: Fix parsing of gcrypt::rsync:// urls that use a relative path
Such an url is not valid; parseURI will fail on it. But git-annex doesn't
actually need to parse the url, because all it needs to do to support
syncing with it is know that it's not a local path, and use git pull and
push.

(Note that there is no good reason for the user to use such an url. An
absolute url is valid and I patched git-remote-gcrypt to support them
years ago. Still, users gonna do anything that tools allow, and
git-remote-gcrypt still supports them.)

Sponsored-by: Jack Hill on Patreon
2023-03-23 15:20:00 -04:00
Joey Hess
0e18bf029e
comment 2023-03-23 14:21:36 -04:00
john
2a0a209908 Added a comment 2023-03-23 11:37:53 +00:00
gioele@678b7c03f524f2669b179b603f65352fcc16774e
4a2dfc4893 2023-03-22 10:06:26 +00:00
hurlebouc
a40a36495f Added a comment 2023-03-22 05:47:16 +00:00
tastabirta@e5349d873c7906025d7db2cc5b86e2529798b640
806c5dc937 2023-03-21 21:28:21 +00:00
Yaroslav Halchenko
0ae5ff797f
Typo: sansative -> sensitive 2023-03-17 15:14:50 -04:00
Joey Hess
1f124103dc
reproduced 2023-03-14 13:36:40 -04:00
Joey Hess
c76d44d7e1
comment 2023-03-13 15:40:18 -04:00
Joey Hess
f1b678face
copy --from --to location tracking update
copy: When --from and --to are combined and the content is already present
on the destination remote, update location tracking as necessary.

Sponsored-by: Dartmouth College's DANDI project
2023-03-13 14:51:09 -04:00
Joey Hess
38e9ea8497
one-way escaping of newlines in uuid.log
A repository can have a newline in its description due to being in a
directory containing a newline, or due to git-annex describe being
passed a string with a newline in it for some reason. Putting that
newline in uuid.log breaks its format.

So, escape the newline when it enters uuid.log, to \n

This is a one-way escaping, it is not converted back to a newline
when reading the log. If it were, commands like git-annex info and
whereis would display a multi-line description, which could be confusing
to read.

And, implementing roundtripping would necessarily cause problems if an
old version of git-annex were used to set a description that contained
whatever special character is used to escape the \n. Eg, a \ or if
it used the ! prefix before base64 data that is used in some other logs,
the ! character. Then the description set by the old git-annex would not
roundtrip.

There just doesn't seem to be any benefit of roundtripping newlines through,
so why bother? And, git often displays \n for newline when a filename
contains a newline, so git-annex doing it in this case seems sorta ok
by analogy to git.

(Some other git-annex logs can also have newlines put into them if the
user really wants to break git-annex. For example:
git-annex config annex.largefiles "foo
bar"
The full list is probably config.log, remote.log, group.log,
preferred-content.log, required-content.log,
group-preferred-content.log, schedule.log. Probably there is no
good reason to use a newline in any of these, and the breakage is
probably limited to the bad data the user put in not coming back out.
And users can write any garbage to log files themselves manually in any
case. So, I am not going to address all of those at this time. If a
problem such as this one with the newline in the repository path comes
up, it can be dealt with on a case by case basis.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 14:19:32 -04:00
Joey Hess
0784c3e72a
tag datalad
It links to a datalad issue, so I suppose this is right?
2023-03-13 13:51:10 -04:00
Joey Hess
a6bebe3c0f
make hashFile support paths with newlines
git hash-object --stdin-paths is a newline protocol so it cannot
support them. It would help to not use absPath, when the problem
is that the repository itself is in a path with a newline. But,
there's a reason it used absPath, which is that
git hash-object --stdin-paths actually chdirs to the top of the
repository on startup! That is not documented, and I think is a bug
in git.

I considered making the path relative to the top of the repo, but
then what if this is a git bug and gets fixed? git-annex would break
horribly.

So instead, keep the absPath, but when the path contains a newline,
fall back to running git hash-object once per file, which avoids
the problem with newlines and --stdin-paths. It will be slower,
but this is an edge case. (Similar slow code paths are already used
elsewhere when dealing with filenames with newlines and other parts
of git that use line-based protocols.)

Sponsored-by: Dartmouth College's Datalad project
2023-03-13 13:43:40 -04:00
Joey Hess
f1672fe171
fixed 2023-03-10 12:13:30 -04:00
Joey Hess
89c68f9a60
close 2023-03-10 10:33:20 -04:00
Joey Hess
91129f508f
comment 2023-03-08 12:18:55 -04:00
hurlebouc
9f280d506d Added a comment 2023-03-08 15:16:29 +00:00
hurlebouc
7ca1bd2c70 Added a comment 2023-03-08 15:11:26 +00:00
yarikoptic
3babe84e46 initial report on newlines fiasco 2023-03-08 14:41:56 +00:00
yarikoptic
68632e6f22 initial report on deficiency of copy --from --to 2023-03-08 04:16:15 +00:00
yarikoptic
2aa54cff2a FTBFS bug report 2023-03-07 21:17:04 +00:00
Joey Hess
f1f2588b72
open bug 2023-03-06 13:05:02 -04:00
Joey Hess
175091da90
comment 2023-03-06 12:27:39 -04:00
Joey Hess
efd5bfa72d
re-close with comment 2023-03-06 12:25:39 -04:00
jkniiv
f9deee36c7 Added a comment 2023-03-05 20:18:02 +00:00
jkniiv
04b70c093d retitle bug report now that it's reopened 2023-03-04 19:36:13 +00:00
jkniiv
19c09af793 reopen bug, 2nd try -- now with backslashes :) 2023-03-04 19:33:13 +00:00
jkniiv
a8437ebe13 reopen bug -- the fix Joey committed didn't build 2023-03-04 19:29:21 +00:00
jkniiv
771fb186cc Added a comment: ok, that didn't quite resolve it 2023-03-04 19:15:32 +00:00
Joey Hess
398633c12b
fix build on windows 2023-03-03 12:58:39 -04:00
jkniiv
1ad48b1938 report on windows build failure (commit 54ad1b4cf) 2023-03-02 20:03:18 +00:00
Joey Hess
83a3786851
comment 2023-03-01 15:58:47 -04:00
Joey Hess
9417bdab14
comment 2023-03-01 13:04:18 -04:00
mih
3bf2d98e9c Added a comment: Update for git-annex 10.20230227-ga206cdddb4 2023-02-28 15:35:50 +00:00
Joey Hess
338f28f3a6
comment 2023-02-23 15:14:32 -04:00
hurlebouc
5b6202c973 Added a comment 2023-02-21 06:49:27 +00:00
Joey Hess
8f2829e646
Revert "stack.yaml: Update to lts-19.33 and aws-0.24"
This reverts commit 648e59cac2.

Failed to build on windows, because

       In the dependencies for haskeline-0.8.2:
           Win32-2.11.1.0 from Stack configuration does not match >=2.1 && <2.10 || >=2.12 (latest
                          matching version is 2.13.4.0)

jkniiv did find a solution that builds:

-- Win32-2.11.1.0
+- Win32-2.9.0.0
+- Cabal-3.6.3.0
+- directory-1.3.7.1
+- process-1.6.17.0
+- time-1.11.1.2

But that is a quite old version of Win32 and risks bugs from it, and bumping
Cabal and directory to newer than lts-19.33 has seems also likely to be risky.

So, I've given up. aws-0.24 won't be able to be in the stack build until
there's a stackage lts (or nightly) that has filepath (>=1.4.100.0),
which will not happen until sometime after the next ghc release.
2023-02-20 15:15:06 -04:00
Joey Hess
75a2fb9441
comment and close 2023-02-20 14:46:47 -04:00
Joey Hess
16d3097a08
fix reversion in info, and add test case
info: Fix reversion in last release involving handling of unsupported input
by continuing to handle any other inputs, before exiting nonzero at the
end.

Sponsored-by: Dartmouth College's Datalad project
2023-02-20 14:31:37 -04:00
yarikoptic
349f8afecb Added a comment 2023-02-17 21:50:19 +00:00
yarikoptic
36c76040e2 duplicating report here to possibly expedite resolution 2023-02-17 18:15:48 +00:00
jkniiv
221aa59bfb report on resolver LTS 19 still (!) causing trouble with Win32 for stack builds 2023-02-16 21:44:30 +00:00
Joey Hess
1c2e5b4519
close bug as dup and update todo item with implementation plan 2023-02-16 14:51:00 -04:00
Joey Hess
cb2f071377
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-15 14:51:51 -04:00
Joey Hess
3048d2f3d7
close bug as submitter cannot reproduce it 2023-02-15 13:53:19 -04:00
jkniiv
33ac9eb02c report on sync not working properly with view branches on top of adjusted branches 2023-02-15 15:23:29 +00:00
anarcat
22fe15c8ce Added a comment 2023-02-14 19:03:24 +00:00
Joey Hess
672258c8f4
Revert "revert recent bug fix temporarily for release"
This reverts commit 16f1e24665.
2023-02-14 14:11:23 -04:00
Joey Hess
16f1e24665
revert recent bug fix temporarily for release
Decided this bug is not severe enough to delay the release until
tomorrow, so this will be re-applied after the release.
2023-02-14 14:06:29 -04:00
Joey Hess
c1ef4a7481
Avoid Git.Config.updateLocation adding "/.git" to the end of the repo
path to a bare repo when git config is not allowed to list the configs
due to the CVE-2022-24765 fix.

That resulted in a confusing error message, and prevented the nice
message that explains how to mark the repo as safe to use.

Made isBare a tristate so that the case where core.bare is not returned can
be handled.

The handling in updateLocation is to check if the directory
contains config and objects and if so assume it's bare.
Note that if that heuristic is somehow wrong, it would construct a repo
that thinks it's bare but is not. That could cause follow-on problems,
but since git-annex then checks checkRepoConfigInaccessible, and skips
using the repo anyway, a wrong guess should not be a problem.

Sponsored-by: Luke Shumaker on Patreon
2023-02-14 14:00:36 -04:00
Joey Hess
8077fc9ce7
analysis 2023-02-14 13:31:26 -04:00
Joey Hess
4ed539dd40
bug report from forum 2023-02-14 12:30:58 -04:00
Joey Hess
452b080dba
better handling of multiple repositories with the same name
Used to fail with a bad error message, indicating there was no
repository with the specified name, or something like that. Now, suggest
they use the uuid to disambiguate.

* info, enableremotemote, renameremote: Avoid a confusing message when more
  than one repository matches the user provided name.
* info: Exit nonzero when the input is not supported.

Sponsored-by: Kevin Mueller on Patreon
2023-02-13 14:31:09 -04:00
Atemu
401e000a0d 2023-02-10 23:05:04 +00:00
Joey Hess
e9b6efac5a
fix buggy sync to exporttree remote when annex-tracking-branch is not checked out
sync: Fix a bug that caused files to be removed from an importtree=yes
exporttree=yes special remote when the remote's annex-tracking-branch was
not the currently checked out branch.

Sponsored-by: Max Thoursie on Patreon
2023-02-10 15:49:15 -04:00
Joey Hess
5c6e1f5178
bug report 2023-02-10 15:32:09 -04:00
Joey Hess
bb4550c7c1
sync: Warn when the adjusted basis ref cannot be found
As happens eg when the user has renamed branches.

Sponsored-by: Graham Spencer on Patreon
2023-02-10 14:33:21 -04:00
Joey Hess
fb93fbc564
comment 2023-02-10 14:16:23 -04:00
Joey Hess
b6466ffaca
comment 2023-02-10 14:06:34 -04:00
Joey Hess
7473dc6d3a
Merge branch 'master' of ssh://git-annex.branchable.com 2023-02-10 13:34:59 -04:00
Joey Hess
96d46db2d5
Support http urls that contain ":" that is not followed by a port number
The same as git does.

Sponsored-by: Dartmouth College's DANDI project
2023-02-10 13:34:47 -04:00
a@92214b2eae95307f511e06845d2cb5b5931b00a3
a497d73b93 2023-02-10 17:08:32 +00:00
jpds
8fa3264f3a 2023-02-10 15:10:17 +00:00
jpds
d696dc5bf5 2023-02-10 14:53:11 +00:00
yarikoptic
8847adacb2 initial report on http urls without port number 2023-02-10 14:16:53 +00:00
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4
e2c5820017 Added a comment 2023-02-09 14:22:19 +00:00
rshalaev@3e2130a1e3cb0aaff7dd80aba7548ad9be0ea2d4
98cd2e0c49 2023-02-09 10:23:12 +00:00
jpds
95c1e0e805 Added a comment 2023-02-09 09:51:21 +00:00
Joey Hess
6f59d2e8eb
comment 2023-02-08 12:24:35 -04:00
anarcat
277ad51876 Added a comment 2023-02-08 15:38:03 +00:00
Joey Hess
4b330203fc
comment 2023-02-07 12:35:01 -04:00
anarcat
a7ece3af99 2023-02-06 21:15:40 +00:00
Joey Hess
04ec726d3b
S3 region=
S3: Support a region= configuration useful for some non-Amazon S3
implementations. This feature needs git-annex to be built with aws-0.24.

datacenter= sets both the AWS hostname and region in one setting, which is
easy when using AWS, but not useful for other hosts. So kept datacenter
as-is, but added this additional config.

Sponsored-By: Brett Eisenberg on Patreon
2023-02-06 14:08:45 -04:00
Joey Hess
5aacc8eb59
comment 2023-02-06 13:05:27 -04:00
Joey Hess
29f4ec248f
comment 2023-02-06 12:50:34 -04:00
jpds
209dd1f6c9 Added a comment 2023-02-02 15:53:34 +00:00
jwodder
16fab4676b 2023-02-01 19:55:29 +00:00
hurlebouc
35083c490a Added a comment 2023-02-01 12:26:05 +00:00
markus.l2ll@17cbf3ea36ca05f481e573fd58be50dce9bf8ef9
6aab372119 Added a comment: same error, same fix 2023-02-01 06:44:22 +00:00
jpds
048e77a04c Added a comment 2023-01-31 22:28:16 +00:00
Joey Hess
bc6e606014
analysis 2023-01-31 15:58:21 -04:00
Joey Hess
afd3cf4433
comment 2023-01-31 13:29:57 -04:00
hurlebouc
582dd16e63 2023-01-29 06:54:07 +00:00
mih
363412f691 Added a comment: file:/// must be forced to file:// on windows 2023-01-27 09:19:10 +00:00
jpds
50af8467e3 Added a comment 2023-01-24 15:55:36 +00:00
jpds
73cc3fcd12 Added a comment 2023-01-19 16:28:19 +00:00
jpds
dce215e11a Added a comment 2023-01-19 15:09:01 +00:00
jpds
c071ea267d Added a comment 2023-01-18 22:57:58 +00:00
jpds
da6504ee13 2023-01-18 22:45:06 +00:00
Joey Hess
eb5b072e2e
comment 2023-01-17 13:08:49 -04:00
yarikoptic
4890c70a1b Added a comment 2023-01-16 21:27:12 +00:00
Joey Hess
fdd0b4bae0
comment 2023-01-16 16:12:16 -04:00
yarikoptic
35435cd955 initial report on difficulty moving frozen file 2023-01-16 19:36:07 +00:00
Joey Hess
9be56daf07
comment 2023-01-16 15:07:46 -04:00
sb-beryllium@6e2c477eac63b823bd315ef8aaf5f93173c1f15b
31f500bab6 Added a comment 2023-01-07 13:05:24 +00:00
Joey Hess
4d90053e17
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 2022.

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-2022 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2022 --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-2022 --pretty=oneline -- "$f")" -a -z "$(git log --since=01-01-2022 --pretty=oneline -- "$d")" ]; then git rm -- "./$f" ; git rm -rf "./$d"; fi; fi; done
2023-01-05 15:09:30 -04:00
Joey Hess
acdd5fbab6
move old closed bugs to datalad's bugs
These were not tagged datalad, but they did pay to get them fixed, and
it impacted them as seen in the bug reports..
2023-01-05 15:06:56 -04:00
Joey Hess
cba7a2477c
Merge branch 'master' of ssh://git-annex.branchable.com 2023-01-05 13:30:24 -04:00
Joey Hess
bcc69f07e8
move old fixed datalad/dandi/repronim bugs to the project pages
This is to cut down on the number of files in bugs/, which makes it slow
to file new bug reports or update active bug reports. These old bugs
were about 1/3rd of the files in there. These projects want lists of
their old bugs to still be accessible, and have the lists on their
project pages, which will still list the old bugs.

Commands used:

for f in $(git grep -l '\[\[!tag projects/dandi\]\]'); do if grep -q 'done\]\]' "$f"; then git mv "$f" ../projects/dandi/bugs-done; g=$(echo "$f" | sed 's/.mdwn//'); if [ -d "$g" ]; then git mv "$g" ../projects/dandi/bugs-done; fi; fi; done
for f in $(git grep -l '\[\[!tag projects/repronim\]\]'); do if grep -q 'done\]\]' "$f"; then git mv "$f" ../projects/repronim/bugs-done; g=$(echo "$f" | sed 's/.mdwn//'); if [ -d "$g" ]; then git mv "$g" ../projects/repronim/bugs-done; fi; fi; done
for f in $(git grep -l '\[\[!tag projects/datalad\]\]'); do if grep -q 'done\]\]' "$f"; then git mv "$f" ../projects/datalad/bugs-done; g=$(echo "$f" | sed 's/.mdwn//'); if [ -d "$g" ]; then git mv "$g" ../projects/datalad/bugs-done; fi; fi; done

That assumes that bugs are not tagged by multiple projects at the same
time. Of the ones I moved, I've checked and none are.

Could do the same with todo/ but there are only 370 files in there, and
less than 84 of them could be moved this way, which does not seem likely
to produce a sizeable speedup.

Sponsored-by: Dartmouth College's Datalad project
2023-01-05 13:16:15 -04:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
45740d66cd Added a comment 2023-01-05 07:16:31 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
2f183e7b7c Added a comment 2023-01-05 06:49:00 +00:00
yarikoptic
cfaa57398d adjust project to be repronim 2023-01-04 15:12:58 +00:00
Ilya_Shlyakhter
f0e25cc412 Added a comment: re: Paths behind relative symlinks in repo 2023-01-03 18:28:23 +00:00
nobodyinperson
6964b193f3 2023-01-02 22:48:19 +00:00
nobodyinperson
f5a536fe3b 2023-01-02 22:43:07 +00:00
Joey Hess
1aaf702d66
comment 2023-01-02 15:27:36 -04:00
yarikoptic
e08d333560 reporting on need to create leading dir 2022-12-28 16:23:51 +00:00
Joey Hess
79031223fd
moreinfo 2022-12-26 16:09:37 -04:00
Joey Hess
baec2ef928
moreinfo 2022-12-26 16:09:08 -04:00
Joey Hess
cf892f4256
use insert_ for speed improvement
persistent-2.14.4.1 makes insert_ faster than insert because it skips
getting the key back.

Sponsored-by: Dartmouth College's DANDI project
2022-12-26 15:59:41 -04:00
Joey Hess
aa041596f5
close 2022-12-26 15:05:48 -04:00
Joey Hess
c1821435ac
fix link 2022-12-26 15:03:14 -04:00
Joey Hess
1b08af821b
close 2022-12-26 13:29:13 -04:00
Joey Hess
53a40ca40f
code review 2022-12-26 13:09:40 -04:00
Joey Hess
e0c4c26d65
analysis 2022-12-22 15:34:36 -04:00
Joey Hess
d475f82c62
Added libgcc_s.so.1 to the linux standalone build so pthread_cancel will work
In Makefile, listed additional deps of Build/Standalone. Without that,
it does not get updated for the change to Utility/LinuxMkLibs.hs when
compiling incrementally.

Sponsored-by: Dartmouth College's DANDI project
2022-12-22 15:15:25 -04:00
yarikoptic
6cb85be1e7 initial report on odd crash 2022-12-21 18:34:06 +00:00
edef
654863027f bugs/blake3_hash_support: reroll patch, add comment 2022-12-16 14:52:25 +00:00
edef
94329160f3 bugs/blake3_hash_support: reroll patch with _256 suffix 2022-12-16 13:49:22 +00:00
yarikoptic
0865e79490 initial report on nfs test keeps failing 2022-12-12 21:23:09 +00:00
Joey Hess
fd5f082fbc
comment 2022-12-12 12:29:32 -04:00
Ilya_Shlyakhter
56f824d219 Added a comment: blake3 enhancement 2022-12-11 19:25:27 +00:00
Joey Hess
5aad1e1f82
fix confirmed finally 2022-12-10 22:26:44 -04:00
Joey Hess
e29bc2b7d7
comment 2022-12-09 12:18:37 -04:00
Joey Hess
65f9e7a3c7
fix deadlock in restagePointerFiles
Fix a hang that occasionally occurred during commands such as move.
(A bug introduced in 10.20220927, in
commit 6a3bd283b8)

The restage.log was kept locked while running a complex index refresh
action. In an unusual situation, that action could need to write to the
restage log, which caused a deadlock.

The solution is a two-stage process. First the restage.log is moved to a
work file, which is done with the lock held. Then the content of the work
file is read and processed, which happens without the lock being held.
This is all done in a crash-safe manner.

Note that streamRestageLog may not be fully safe to run concurrently
with itself. That's ok, because restagePointerFiles uses it with the
index lock held, so only one can be run at a time.

streamRestageLog does delete the restage.old file at the end without
locking. If a calcRestageLog is run concurrently, it will either see the
file content before it was deleted, or will see it's missing. Either is
ok, because at most this will cause calcRestageLog to report more
work remains to be done than there is.

Sponsored-by: Dartmouth College's Datalad project
2022-12-08 14:36:11 -04:00
Joey Hess
a7554f1a6a
analysis 2022-12-07 17:36:01 -04:00
Joey Hess
56699a7747
comment 2022-12-07 14:30:33 -04:00
Joey Hess
ac77aa40e7
speed up --pattern
The splitting of the tests into parts for parallelism made --pattern
do extra work, because init tests have to be run for each part, but
many of the parts are empty.

For example, git-annex test --pattern '/move (ssh remote)/'
took 12 seconds to run before. This improves the runtime to 4 seconds.

Sponsored-by: Dartmouth College's Datalad project
2022-12-07 13:51:22 -04:00
Joey Hess
b7ba6dfe48
comment 2022-12-07 13:00:29 -04:00
Joey Hess
8c89057006
comment 2022-12-07 12:36:58 -04:00
dckc@4f72e5f6436280fd19a91a9805af71b9921a4f9b
afa29c63c8 2022-12-07 14:46:39 +00:00
dckc@4f72e5f6436280fd19a91a9805af71b9921a4f9b
4316de0f7c line breaks 2022-12-07 14:45:36 +00:00
dckc@4f72e5f6436280fd19a91a9805af71b9921a4f9b
815db25181 Added a comment: keep me posted by email please 2022-12-07 14:40:52 +00:00
dckc@4f72e5f6436280fd19a91a9805af71b9921a4f9b
3aeb15c18b 2022-12-07 14:39:29 +00:00
yarikoptic
30d8056c26 Added a comment 2022-12-05 18:08:03 +00:00
Joey Hess
45f9c66b63
comment 2022-12-05 13:54:18 -04:00
Joey Hess
6eb0943d95
Merge branch 'master' of ssh://git-annex.branchable.com 2022-12-05 13:48:40 -04:00
Joey Hess
dddf7c7daa
comment 2022-12-05 13:30:05 -04:00
kanak@3c4f6e7d832d88751c617b25bdbac896417eb93b
31fc11771d Added a comment 2022-12-04 17:40:38 +00:00
kanak@3c4f6e7d832d88751c617b25bdbac896417eb93b
342da53d2d 2022-12-04 17:35:45 +00:00
edef
c732dc9c42 bugs/blake3_hash_support: *not* familiar enough, oops 2022-12-02 12:58:58 +00:00
edef
69dd3dcc89 submit BLAKE3 patch 2022-12-02 12:57:48 +00:00
yarikoptic
4f4234797e Added a comment 2022-11-29 22:25:43 +00:00
Joey Hess
184b8e70d3
comment 2022-11-29 17:58:59 -04:00
cnjr2
c900f3c1b5 Added a comment 2022-11-29 16:53:39 +00:00
cnjr2
a92a07b03e Added a comment: found related bug 2022-11-29 16:51:44 +00:00
Joey Hess
c29e2ed916
comment 2022-11-29 12:49:09 -04:00
Joey Hess
e7e7007e0c
explanss and close 2022-11-29 12:46:59 -04:00
cnjr2
3edc86ffe1 2022-11-29 12:29:42 +00:00
Joey Hess
2b5e6ff20a
test: Add --test-debug option
This work is supported by the NIH-funded NICEMAN (ReproNim TR&D3) project.
2022-11-28 15:12:53 -04:00
Joey Hess
022c14ec02
comment 2022-11-28 14:07:35 -04:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
85ea582e2b 2022-11-24 07:11:26 +00:00
yarikoptic
e140b36fd5 initial report on stalled test 2022-11-23 03:15:51 +00:00
Joey Hess
63b33d4181
update 2022-11-18 16:23:20 -04:00
Joey Hess
3e20daccdd
more benchmarking work 2022-11-18 15:54:06 -04:00
Joey Hess
2b014f1a8b
don't frontload reconcileStaged in git-annex init
init: Avoid scanning for annexed files, which can be lengthy in a
large repository. Instead that scan is done on demand. This lets git-annex
init be run and some query commands be used in a repository without
waiting.

Note that autoinit already behaved this way, so while this will mean some
commands like git-annex get/unlock/add will do the scan the first time run,
that is not really a significant behavior change.

And, it's really better to have a consistent behavior. The reason for
the inconsistency was a strange bug discussed in
b3c4579c79. Avoiding reconcileStaged in
init will keep avoiding whatever that was.

Sponsored-by: Dartmouth College's DANDI project
2022-11-18 13:58:47 -04:00
Joey Hess
c834d2025a
queue more changes to keys db
Increasing the size of the queue 10x makes git-annex init 7% faster in a
repository with 86000 annexed files.

The memory use goes up, from 70876 kb to 85376 kb.
2022-11-18 13:29:34 -04:00
Joey Hess
8fcee4ac9d
Sped up the initial scanning for annexed files by 15%
Avoids database querying overhead when the database is newly created.

In the large repository where git-annex init took 24 seconds, this sped it
up to 20.47 seconds, a speedup of around 15%.

Sponsored-by: Dartmouth College's DANDI project
2022-11-18 13:16:57 -04:00
Joey Hess
814bb3a270
profiling and performance 2022-11-17 16:47:51 -04:00
Joey Hess
a91bf72684
Merge branch 'master' of ssh://git-annex.branchable.com 2022-11-09 16:29:16 -04:00
Joey Hess
b2cc63d5bf
export: fix multi-file delete bug
export: Fix a bug that left a file on a special remote when two files with
the same content were both deleted in the exported tree.

Case of the wrong data structure leading to the wrong result.
The DiffMap now contains all the old filenames, and all the new filenames.

Note that, when 2 files with the same content are both renamed,
it only renames the first, but deletes and re-exports the second.
Improving that is possible, but it would need to use a different temporary
filename. Anyway, that is an unusual case, and there are known to be other
unusual cases where export does not rename with maximum efficiency, IIRC.
(Or maybe this is the case that I remember?)

Sponsored-by: Dartmouth College's OpenNeuro project
2022-11-09 16:24:37 -04:00
nell@7201fe78ade251118ef3441f4e509b37cd836503
ca0c62f289 Added a comment 2022-11-09 19:51:20 +00:00
Joey Hess
56d563577f
analysis 2022-11-09 15:46:14 -04:00
Joey Hess
cdbee87a05
comment and retitle 2022-11-09 15:18:28 -04:00
Joey Hess
94ee608b2e
comment 2022-11-09 15:14:28 -04:00
Joey Hess
5409b0c5c4
close 2022-11-09 14:32:14 -04:00
nell@7201fe78ade251118ef3441f4e509b37cd836503
a219d24c8c Adding S3 special remote export bug report 2022-11-08 22:37:14 +00:00