Commit graph

31750 commits

Author SHA1 Message Date
anamyk
a5086345bc Added a comment 2022-03-08 08:11:17 +00:00
anamyk
d4aa2dfb94 Added a comment 2022-03-08 07:49:38 +00:00
yarikoptic
875a04e1e2 Added a comment: still slow 2022-03-08 00:28:00 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
041cea21ba Added a comment 2022-03-07 19:59:18 +00:00
Joey Hess
cd473f071c
comment 2022-03-07 15:30:16 -04:00
Joey Hess
434812bcfb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-07 15:25:57 -04:00
Joey Hess
1cbbd23109
comment 2022-03-07 15:25:32 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
85eb26e746 Added a comment 2022-03-07 19:22:54 +00:00
Joey Hess
5fb98d5f29
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-07 15:20:00 -04:00
Joey Hess
06c2f625a9
comment 2022-03-07 15:18:30 -04:00
tomdhunt
0127e5f4e4 Added a comment 2022-03-07 18:27:38 +00:00
Joey Hess
da698437b6
close 2022-03-07 14:12:11 -04:00
Joey Hess
dab9078ab7
close 2022-03-07 13:23:19 -04:00
Joey Hess
675a491632
document nix-on-droid as an alternative to termux
Sponsored-by: Graham Spencer on Patreon
2022-03-07 12:57:16 -04:00
Joey Hess
5154d15183
comment 2022-03-07 12:11:18 -04:00
Joey Hess
5804ea67a6
comment; close 2022-03-07 12:03:11 -04:00
Joey Hess
568c469e7f
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-07 12:00:14 -04:00
nowkixide
6a45d7e5d0 Added a comment: Works fine 2022-03-07 12:07:54 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
ce523f7561 Added a comment 2022-03-06 14:37:42 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
6050b839f4 2022-03-06 06:46:01 +00:00
Atemu
54a43f68ed Added a comment 2022-03-05 21:46:23 +00:00
Atemu
1304660e06 Added a comment 2022-03-05 18:47:10 +00:00
Joey Hess
b93e282163
update 2022-03-05 10:22:39 -04:00
Atemu
801673a390 Added a comment 2022-03-04 20:27:31 +00:00
mih
fa5a001ef6 Added a comment: Thanks! 2022-03-04 16:23:16 +00:00
Atemu
e879487dca Added a comment 2022-03-04 14:44:29 +00:00
Atemu
c0164c4750 Added a comment 2022-03-04 14:16:54 +00:00
Atemu
ffc17b0b49 rename bugs/git-annex_is_slow_at_reading_files.mdwn to bugs/git-annex_is_slow_at_reading_file_content.mdwn 2022-03-03 08:40:47 +00:00
Joey Hess
55f71b0ebd
Merge branch 'master' of ssh://git-annex.branchable.com 2022-03-02 10:57:41 -04:00
Joey Hess
5e385cb637
add 2022-03-02 10:44:49 -04:00
Atemu
2998c33fcb 2022-03-02 13:18:42 +00:00
Atemu
6d768a8268 2022-03-02 13:16:36 +00:00
Atemu
a7c5913d42 2022-03-02 13:15:26 +00:00
anamyk
de0c6f08c6 Added a comment 2022-03-01 22:52:51 +00:00
Joey Hess
2fc46e1871
git-annex test from standalone speedup
Avoid git-annex test being very slow when run from within the standalone
linux tarball or OSX app.

It may not really be necessary to add to PATH the directory where the
git-annex binary resides, but it can't hurt. Most places where the test
suite or git-annex run git-annex, they use programPath, so won't need
a modified PATH. But I'm not sure if that's always the case.

Sponsored-by: Dartmouth College's Datalad project
2022-03-01 16:08:55 -04:00
Joey Hess
ecf7c29107
update comment 2022-03-01 15:57:13 -04:00
Joey Hess
316a049e96
comment 2022-03-01 15:50:44 -04:00
yarikoptic
ca5834a18c Added a comment: question about backend 2022-02-28 22:42:34 +00:00
yarikoptic
9e6e53af71 initial report on a very slow git annex test on discovery 2022-02-28 20:50:06 +00:00
Joey Hess
525218ef86
commet 2022-02-28 15:42:33 -04:00
yarikoptic
a33b40876d Added a comment 2022-02-28 18:48:51 +00:00
anamyk
2fa5ef6a36 Added a comment 2022-02-28 18:13:29 +00:00
Joey Hess
7a4a1322f5
update 2022-02-28 13:37:05 -04:00
Joey Hess
20875bd5e8
open related todo 2022-02-28 13:26:43 -04:00
Joey Hess
3d433d76a3
remove 127/128 exit status mention
I cannot find any indication that git-annex uses these exit statuses,
and I see I didn't write this doc so I don't know where those numbers
came from. Odd.
2022-02-28 13:26:26 -04:00
Joey Hess
693fec0066
mention --size-limit effect on exit status
Documented elsewhere already.
2022-02-28 13:22:05 -04:00
Joey Hess
ce91f10132
fix annex.skipunknown false error propagation
Propagate nonzero exit status from git ls-files when a specified file does
not exist, or a specified directory does not contain any files checked into
git.

The recent completion of the annex.skipunknown transition exposed this
bug, that has unfortunately been lurking all along.

It is also possible that git ls-files errors out for some other reason
-- perhaps a permission problem -- and this will also fix error propagation
in such situations.

Sponsored-by: Dartmouth College's Datalad project
2022-02-28 12:54:56 -04:00
Joey Hess
a6857ddb79
comment 2022-02-28 12:15:08 -04:00
Joey Hess
f7575e87a0
news 2022-02-28 12:10:50 -04:00
Joey Hess
fb03e38c1a
comment 2022-02-28 12:10:19 -04:00
yarikoptic
5d7b0b6291 initial report on changed (and non-conformant) behavior of annex find 2022-02-25 20:53:25 +00:00
Joey Hess
7de469edd0
comment 2022-02-25 13:32:06 -04:00
Joey Hess
51c528980c
avoid accidentally thawing git-annex symlink
It did nothing, since at this point the link is dangling. But when there
is a thaw hook, it would probably not be happy to be asked to run on a
symlink, or might do something unexpected.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 14:21:23 -04:00
Joey Hess
f4b046252a
Run annex.thawcontent-command before deleting an object file
In case annex.freezecontent-command did something that would prevent
deletion.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 14:11:02 -04:00
Joey Hess
28bc5ce232
ignore write bits being set when there is a freeze hook
When annex.freezecontent-command is set, and the filesystem does not
support removing write bits, avoid treating it as a crippled filesystem.

The hook may be enough to prevent writing on its own, and some filesystems
ignore attempts to remove write bits.

Sponsored-by: Dartmouth College's Datalad project
2022-02-24 13:28:31 -04:00
Joey Hess
4144f73c18
comment 2022-02-24 13:10:40 -04:00
Joey Hess
972f41efb7
comment 2022-02-24 13:05:25 -04:00
Joey Hess
4103ae83db
comment 2022-02-24 12:28:55 -04:00
moortgat-pick
0e4f3ad022 Added a comment 2022-02-24 09:41:44 +00:00
yarikoptic
dce6877758 Added a comment: for some reason drop freezes thawn key file before thawing key dir 2022-02-24 03:21:54 +00:00
yarikoptic
ee9cd6309a Added a comment: approach which somewhat works 2022-02-24 02:20:15 +00:00
yarikoptic
1daceb1c16 adjusted with edit 1 observation 2022-02-23 21:08:16 +00:00
yarikoptic
f2331feed1 initial experimentation/complain about freeze/thawing files 2022-02-23 20:53:38 +00:00
Joey Hess
64ccb4734e
smudge: Warn when encountering a pointer file that has other content appended to it
It will then proceed to add the file the same as if it were any other
file containing possibly annexable content. Usually the file is one that
was annexed before, so the new, probably corrupt content will also be added
to the annex. If the file was not annexed before, the content will be added
to git.

It's not possible for the smudge filter to throw an error here, because
git then just adds the file to git anyway.

Sponsored-by: Dartmouth College's Datalad project
2022-02-23 15:17:08 -04:00
Joey Hess
67245ae00f
fully specify the pointer file format
This format is designed to detect accidental appends, while having some
room for future expansion.

Detect when an unlocked file whose content is not present has gotten some
other content appended to it, and avoid treating it as a pointer file, so
that appended content will not be checked into git, but will be annexed
like any other file.

Dropped the max size of a pointer file down to 32kb, it was around 80 kb,
but without any good reason and certianly there are no valid pointer files
anywhere that are larger than 8kb, because it's just been specified what it
means for a pointer file with additional data even looks like.

I assume 32kb will be good enough for anyone. ;-) Really though, it needs
to be some smallish number, because that much of a file in git gets read
into memory when eg, catting pointer files. And since we have no use cases
for the extra lines of a pointer file yet, except possibly to add
some human-visible explanation that it is a git-annex pointer file, 32k
seems as reasonable an arbitrary number as anything. Increasing it would be
possible, eg to 64k, as long as users of such jumbo pointer files didn't
mind upgrading all their git-annex installations to one that supports the
new larger size.

Sponsored-by: Dartmouth College's Datalad project
2022-02-23 14:20:31 -04:00
Joey Hess
38816a9ae9
comment 2022-02-23 11:23:48 -04:00
moortgat-pick
44b9c65af5 2022-02-23 12:53:15 +00:00
moortgat-pick
ebbe840c4c 2022-02-23 12:46:37 +00:00
moortgat-pick
2a68a613a9 2022-02-23 12:45:11 +00:00
https://christian.amsuess.com/chrysn
9d43856075 Added a comment: inodes of git vs. git-annex 2022-02-23 12:18:54 +00:00
Joey Hess
a6b53cb739
add news item for git-annex 10.20220222 2022-02-22 13:34:58 -04:00
Joey Hess
866cad6582
comment 2022-02-22 12:04:10 -04:00
yarikoptic
7e9ebea910 Added a comment 2022-02-21 21:53:03 +00:00
yarikoptic
c59a7b1275 Added a comment 2022-02-21 21:48:59 +00:00
yarikoptic
8ee2661b85 Added a comment 2022-02-21 21:46:15 +00:00
Joey Hess
83827a6822
comment 2022-02-21 15:59:29 -04:00
Joey Hess
5a8b15f6db
comment 2022-02-21 15:46:12 -04:00
Joey Hess
ba907b6682
comment and close, not a bug really 2022-02-21 15:39:38 -04:00
Joey Hess
80f244d7b6
comment 2022-02-21 15:13:51 -04:00
Joey Hess
9c1ff6d024
comment 2022-02-21 15:00:55 -04:00
Joey Hess
ce1b3a9699
info: Allow using matching options in more situations
File matching options like --include will be rejected in situations where
there is no filename to match against. (Or where there is a filename but
it's not relative to the cwd, or otherwise seemed too bothersome to match
against.)

The addition of listKeys' was necessary to avoid using more memory in the
common case of "git-annex info". Adding a filterM would have caused the
list to buffer in memory and not stream. This is an ugly hack, but listKeys
had previously run Annex operations inside unafeInterleaveIO (for direct
mode). And matching against a matcher should hopefully not change any Annex
state.

This does allow for eg `git-annex info somefile --include=*.ext`
although why someone would want to do that I don't really know. But it
seems to make sense to allow it.
But, consider: `git-annex info ./somefile --include=somefile`
This does not match, so will not display info about somefile.
If the user really wants to, they can `--include=./somefile`.

Using matching options like --copies or --in=remote seems likely to be
slower than git-annex find with those options, because unlike such
commands, info does not have optimised streaming through the matcher.

Note that `git-annex info remote` is not the same as
`git-annex info --in remote`. The former shows info about all files in
the remote. The latter shows local keys that are also in that remote.
The output should make that clear, but this still seems like a point
where users could get confused.

Sponsored-by: Jochen Bartl on Patreon
2022-02-21 14:46:07 -04:00
Joey Hess
d36de3edf9
comment 2022-02-21 12:49:36 -04:00
Joey Hess
3187639735
retitle 2022-02-21 12:13:59 -04:00
Atemu
6ca9f5e18a 2022-02-20 18:03:35 +00:00
xloem
499b940dc5 Added a comment 2022-02-19 07:50:53 +00:00
xloem
7976d9d303 removed 2022-02-19 07:48:48 +00:00
xloem
6143695820 Added a comment: free dweb storage services 2022-02-19 07:47:28 +00:00
xloem
32d138b52f Added a comment: free dweb storage services 2022-02-19 07:47:07 +00:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
7f167d4be1 Added a comment 2022-02-19 01:15:24 +00:00
yarikoptic
b481ec2738 Added a comment 2022-02-18 21:56:19 +00:00
yarikoptic
9d2e6a60f0 Added a comment 2022-02-18 20:18:04 +00:00
yarikoptic
12fc03a9b2 initial thinking for a possible safe guard 2022-02-18 20:02:40 +00:00
yarikoptic
4643788916 bug/question on the semantic of find --unlocked 2022-02-18 19:17:37 +00:00
Joey Hess
faf84aa5c2
Avoid git status taking a long time after git-annex unlock of many files.
Implemented by making Git.Queue have a FlushAction, which can accumulate
along with another action on files, and runs only once the other action has
run.

This lets git-annex unlock queue up git update-index actions, without
conflicting with the restagePointerFiles FlushActions.

In a repository with filter-process enabled, git-annex unlock will
often not take any more time than before, though it may when the files are
large. Either way, it should always slow down less than git-annex status
speeds up.

When filter-process is not enabled, git-annex unlock will slow down as much
as git status speeds up.

Sponsored-by: Jochen Bartl on Patreon
2022-02-18 15:06:40 -04:00
Joey Hess
c68f52c6a2
restage pointer file after unlock
This avoids a later git status or similar taking a long time to run
as it runs git-annex smudge once per file. While v9 repositories do
avoid that taking long when the files are small, large files can still
make git status take a very long time.

This does make unlock slower, because now git-annex smudge is being run
once per file unlocked. However, the next commit should speed that up in
many cases.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2022-02-18 14:55:52 -04:00
Joey Hess
07215cfeb5
complete annex.skipunknown transition
annex.skipunknown now defaults to false, so commands like `git annex get foo*`
will not silently skip over files/dirs that are not checked into git.

Sponsored-by: Brock Spratlen on Patreon
2022-02-18 13:18:05 -04:00
Joey Hess
56d180864f
comment 2022-02-18 12:35:49 -04:00
Joey Hess
52bc18850e
comment 2022-02-18 12:16:19 -04:00
Joey Hess
544eaff1e1
comment 2022-02-18 12:10:55 -04:00
nluv4hs@705031de2adc81421f76ad6025dc4d1519d5361a
9f9b1488ed 2022-02-16 17:18:23 +00:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
49b0a3a1bd Added a comment: I have the same problem 2022-02-16 08:03:05 +00:00
Joey Hess
0edf01d7d4
registerurl,unregisterurl: rework output and support --json
* registerurl, unregisterurl: Improved output when reading from stdin
  to be more like other batch commands.
* registerurl, unregisterurl: Added --json and --json-error-messages options.

Note that this did change the --batch output in a way that could possibly
break something that expected the old output to never change. I think it's
acceptable to break that because there has never been a guarantee of
unchanging output format except with --batch for most commands. The old
output was just really weird too!

One possible wart is that "git-annex registerurl" with no options now
seems to just hang, since it's waiting for stdin input. Before, it said
"registerurl (stdin)" which was clearer about what's happenening. But this
is a deprecated mode anyway, --batch makes clear what's happening. If
anything, this problem would be a reason to eventually remove the support
for reading from stdin w/o --batch.

Sponsored-by: Dartmouth College's Datalad project
2022-02-14 13:29:20 -04:00
Joey Hess
291dc0d1a9
comment 2022-02-14 12:42:37 -04:00
Joey Hess
2ac8734454
comment 2022-02-10 15:44:04 -04:00
yarikoptic
f87de5ff7f initial report on a failing test 2022-02-10 15:55:56 +00:00
yarikoptic
c908046235 initial todo for --json for registerurl 2022-02-09 21:39:46 +00:00
Jakube
90af8c5e99 2022-02-08 20:50:56 +00:00
Jakube
f06265dc8e 2022-02-08 20:46:18 +00:00
jonas@ab8487518c600ac0c785f4f6ca641c219f2bcfdc
32bf4d3457 Added a comment 2022-02-08 18:04:45 +00:00
Joey Hess
ad2f0446a0
comment 2022-02-08 13:24:28 -04:00
Joey Hess
46beb7175d
Merge branch 'master' of ssh://git-annex.branchable.com 2022-02-08 13:11:46 -04:00
Joey Hess
3be9aa61e4
comment 2022-02-08 13:11:18 -04:00
Joey Hess
0ae8f45ee5
close wontfix 2022-02-08 13:03:58 -04:00
Joey Hess
f48ac9527b
document another behavior of --auto 2022-02-08 12:22:34 -04:00
Atemu
d20550ac69 2022-02-08 10:47:21 +00:00
Joey Hess
6992250d63
fix obviously wrong attoparsec parser
takeByteString can only be used at the end of a parser, not before other
input. This was a dumb enough mistake that I audited the rest of the
code base for similar mistakes. Pity that attoparsec cannot avoid it at
the type level.

Fixes git-annex forget propagation between repositories. (reversion
introduced in version 7.20190122)

Sponsored-by: Brock Spratlen on Patreon
2022-02-07 14:15:17 -04:00
Joey Hess
65ca0b49d6
bug report followup 2022-02-07 13:12:14 -04:00
Joey Hess
97c0d6e904
comment 2022-02-07 12:42:27 -04:00
Joey Hess
59f219e2a9
comment 2022-02-07 12:34:00 -04:00
Joey Hess
e0d5c7a389
comment 2022-02-07 12:33:23 -04:00
Joey Hess
697114c234
comment and bug report 2022-02-07 12:27:50 -04:00
Joey Hess
d9b55be624
comment 2022-02-07 12:17:18 -04:00
jonas@ab8487518c600ac0c785f4f6ca641c219f2bcfdc
51f6c6c057 Added a comment 2022-02-06 23:30:17 +00:00
jonas@ab8487518c600ac0c785f4f6ca641c219f2bcfdc
76a1e5cb6c 2022-02-06 23:29:02 +00:00
sh@243262e07058e7517194e54030ce421ae984ea08
74c56e2663 removed 2022-02-04 08:09:20 +00:00
sh@243262e07058e7517194e54030ce421ae984ea08
d6ae059a15 Added a comment 2022-02-04 07:58:55 +00:00
sh@243262e07058e7517194e54030ce421ae984ea08
324992d9cb Added a comment 2022-02-04 07:58:20 +00:00
MatusGoljer1
a10371ae12 2022-02-03 23:28:54 +00:00
jwrauch
f3863f0019 Added a comment 2022-02-02 20:48:56 +00:00
Ilya_Shlyakhter
71b28ca9a0 added question on git-annex memory usage 2022-02-02 16:54:29 +00:00
Joey Hess
46d5098ff4
Pass --no-textconv when running git diff internally
Seems that --no-ext-diff and -c diff.external= are not enough to disable
external diff command when gitattributes textconv specifies it.

I'm pretty sure that --no-ext-diff and -c diff.external= are not both
needed, but not 100%. Something about -G may need the latter to fully
disable diffs in some cases. So kept that part as it was.

Sponsored-by: Dartmouth College's Datalad project
2022-02-01 13:43:18 -04:00
Joey Hess
283c53642f
comment 2022-02-01 13:29:06 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
1a9966a14c 2022-02-01 12:27:48 +00:00
jwrauch
486738b14e 2022-01-31 19:41:42 +00:00
Joey Hess
cbf5db9c2d
comment 2022-01-31 13:42:37 -04:00
Joey Hess
b91e9e5830
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-31 13:36:45 -04:00
Joey Hess
29c3c19fb7
comment 2022-01-31 13:36:32 -04:00
Joey Hess
a32ff6cef0
adb: Avoid find failing with "Argument list too long"
The "+" argument only runs the command once, so is not safe to use. Using
";" instead would have been the simplest fix, but also the slowest.

Since my phone has an xargs that supports -0, I piped find to xargs
instead. Unsure how portable this will be, perhaps some android's don't
have xargs -0 or find -printf to send null terminated output.

The business with pipefail is necessary to make a failure of find cause the
import to fail. Probably this works on all androids, but if not, it will
probably just result in a failure of find being ignored. It would be
possible to make ignorefinderror just disable setting pipefail, but then
if some android has a shell that has pipefail enabled by default, ignorefinderror
would not work, so I kept the || true approach for that.

Sponsored-by: Max Thoursie on Patreon
2022-01-31 13:19:09 -04:00
Joey Hess
8f3d48c5cf
comment 2022-01-31 12:39:54 -04:00
Ilya_Shlyakhter
b0494f8cb6 Added a comment: conda updated 2022-01-31 16:28:52 +00:00
chewie@a4440559aa1bc84271fa9c8ef754e402afbd7d0d
dd82f676b0 2022-01-30 18:14:47 +00:00
amerlyq
f9558108cf Added a comment 2022-01-29 15:59:31 +00:00
Ilya_Shlyakhter
d9203f0691 Added a comment 2022-01-28 19:49:56 +00:00
jbwexler@31214ed76f174318e7628aefcf8404d64627aaaa
b5337252be Added a comment: Thanks! 2022-01-28 14:20:46 +00:00
Joey Hess
4564829789
add news item for git-annex 10.20220127 2022-01-27 14:54:10 -04:00
Joey Hess
ae8ce7fa3e
improve display of subframes 2022-01-27 14:36:40 -04:00
Joey Hess
df6a8476e3
comment 2022-01-27 12:58:36 -04:00
jbwexler@31214ed76f174318e7628aefcf8404d64627aaaa
fd1bc9e2cc 2022-01-26 19:41:13 +00:00
yarikoptic
b019d9ca28 Added a comment: comment regarding "default" version of the repo etc 2022-01-26 18:40:50 +00:00
Joey Hess
0bcb944870
comment 2022-01-26 13:26:55 -04:00
Joey Hess
d8da64ceea
clarify --version behavior on upgrade
eg, git-annex init --version=9 does not use v10 even though v9 can
automatically upgrade to v10, because v9 is a supported version. It's
only unsupported versions that make a newer version be used.
2022-01-26 13:25:01 -04:00
Joey Hess
835c50966a
reject batch options combined with non-batch options
Reject combinations of --batch (or --batch-keys) with options like --all or
--key or with filenames.

Most commands ignored the non-batch items when batch mode was enabled.

For some reason, addurl and dropkey both processed first the specified
non-batch items, followed by entering batch mode. Changed them to also
error out, for consistency.

Sponsored-by: Dartmouth College's Datalad project
2022-01-26 13:00:19 -04:00
Joey Hess
56a12eb84c
comment 2022-01-26 12:03:16 -04:00
yarikoptic
46143ea795 initial whining about --batch-keys and --all 2022-01-26 14:38:35 +00:00
yarikoptic
c3817495fc Added a comment 2022-01-25 18:37:56 +00:00
Joey Hess
d750fcdb02
comment 2022-01-25 14:03:22 -04:00
yarikoptic
73ea006873 Added a comment 2022-01-25 18:00:17 +00:00
Joey Hess
a27776f602
init --version=6 upgrade to 8 not yet 10
autoUpgradeableVersions had latestVersion (10), but it did not make
sense for asking for old version 6 to get version 10, while asking for
version 8 got version 8. So use defaultVersion (8) instead.

Sponsored-by: Dartmouth College's Datalad project
2022-01-25 13:52:42 -04:00
Joey Hess
fa57da0f34
add question 2022-01-25 13:35:00 -04:00
Joey Hess
d9383e0023
comment 2022-01-25 13:20:23 -04:00
Joey Hess
28ec94ee7f
close; out of scope 2022-01-25 12:39:46 -04:00
Joey Hess
a5854f181d
comment 2022-01-25 12:38:02 -04:00
Joey Hess
29e8636a88
comment 2022-01-24 15:16:14 -04:00
Joey Hess
0ee9ccb00f
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-24 15:10:56 -04:00
yarikoptic
158cb79533 initial report about autoupgrade to 10 instead of 8 2022-01-24 18:50:14 +00:00
Joey Hess
b36eb037c0
fix name of option 2022-01-21 14:51:57 -04:00
Joey Hess
f7a3c13557
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-21 14:23:19 -04:00
Joey Hess
120ea4b7be
update 2022-01-21 13:16:14 -04:00
Joey Hess
47084b8a1d
enable filter.annex.process in v9
This has tradeoffs, but is generally a win, and users who it causes git add to
slow down unacceptably for can just disable it again.

It needed to happen in an upgrade, since there are git-annex versions
that do not support it, and using such an old version with a v8
repository with filter.annex.process set will cause bad behavior.
By enabling it in v9, it's guaranteed that any git-annex version that
can use the repository does support it. Although, this is not a perfect
protection against problems, since an old git-annex version, if it's
used with a v9 repository, will cause git add to try to run
git-annex filter-process, which will fail. But at least, the user is
unlikely to have an old git-annex in path if they are using a v9
repository, since it won't work in that repository.

Sponsored-by: Dartmouth College's Datalad project
2022-01-21 13:11:18 -04:00
Joey Hess
fad11c2250
close 2022-01-21 13:00:28 -04:00
Joey Hess
2002d16dc3
update, v9 upgrade not yet automatic
and v9 does not have full upgrade locking
2022-01-21 12:36:13 -04:00
Joey Hess
cea6f6db92
v10 upgrade locking
The v10 upgrade should almost be safe now. What remains to be done is
notice when the v10 upgrade has occurred, while holding the shared lock,
and switch to using v10 lock files.

Sponsored-by: Dartmouth College's Datalad project
2022-01-20 11:33:14 -04:00
mih
e6a4a327f4 2022-01-19 21:07:20 +00:00
Joey Hess
cd2158d98d
update on status 2022-01-19 16:01:06 -04:00
Joey Hess
856ce5cf5f
split upgrade into v9 and v10
v10 will run 1 year after the upgrade to v9, to give time for any v8
processes to die. Until that point, the v10 upgrade will be tried by
every process but deferred, so added support for deferring upgrades.

The upgrade prevention lock file that will be used by v10 is not yet
implemented, so it does not yet defer.

Sponsored-by: Dartmouth College's Datalad project
2022-01-19 13:09:33 -04:00
Joey Hess
2cb7914699
commeent 2022-01-19 11:56:00 -04:00
Joey Hess
fb11ffe594
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-19 11:51:11 -04:00
Joey Hess
1723d4e88a
close 2022-01-19 11:49:37 -04:00
ainohzoa
b08fb6fec4 Added a comment: Now it's working normally again 2022-01-14 21:10:13 +00:00
https://christian.amsuess.com/chrysn
34e3823602 Added a comment: nested git repositories are git submodules 2022-01-14 13:02:37 +00:00
ainohzoa
e17c155f18 2022-01-14 00:37:24 +00:00
Lukey
c6c7f7b444 Added a comment 2022-01-13 18:19:32 +00:00
Lukey
1c0e04c83c Added a comment 2022-01-13 18:10:22 +00:00
Lukey
06e3431348 2022-01-13 18:08:25 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
b15ac53967 2022-01-13 03:59:44 +00:00
Joey Hess
b2f3928971
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-12 15:55:31 -04:00
Joey Hess
8add0ec60e
liking this solution pretty well 2022-01-12 15:54:58 -04:00
yarikoptic
6b435719a0 Added a comment 2022-01-12 19:33:16 +00:00
Joey Hess
0ba7f2ec91
so close 2022-01-12 15:25:35 -04:00
Joey Hess
63851bfec4
complication 2022-01-12 13:19:06 -04:00
anarcat
658a896869 2022-01-12 16:24:17 +00:00
anarcat
3993421d36 Added a comment: indeed. 2022-01-12 15:56:25 +00:00
Joey Hess
d427afb347
v9-locking branch still wip 2022-01-11 17:04:25 -04:00
mih
9104e64d3e Added a comment: Thanks! 2022-01-11 18:59:36 +00:00
Joey Hess
029820c832
v9-locking branch 2022-01-11 14:49:21 -04:00
Joey Hess
f1e5a42392
followup and close 2022-01-11 13:28:13 -04:00
Joey Hess
a12f3f58ab
comment 2022-01-11 13:07:51 -04:00
Joey Hess
f54c58f0df
Avoid crashing when run in a bare git repo that somehow contains an index file
Do not populate the keys database with associated files,
because a bare repo has no working tree, and so it does not make sense to
populate it.

Queries of associated files in the keys database always return empty lists
in a bare repo, even if it's somehow populated. One way it could be
populated is if a user converts a non-bare repo to a bare repo.

Note that Git.Config.isBare does a string comparison, so this is not free!
But, that string comparison is very small compared to a sqlite query.

Sponsored-by: Erik Bjäreholt on Patreon
2022-01-11 13:01:49 -04:00
Joey Hess
c031d19c32
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-11 12:25:12 -04:00
Joey Hess
8ae88923b8
moreinfo 2022-01-11 12:24:40 -04:00
mih
da71a52b12 2022-01-11 12:54:35 +00:00
Joey Hess
525473aa5a
adb: Added ignorefinderror configuration parameter
On a phone with Calyxos, adb find in /sdcard complains:

find: ./Android/data/com.android.providers.downloads.ui: Permission denied

But otherwise works, so this option makes import and export work ok, except
for that one app's data.

Sponsored-by: Graham Spencer
2022-01-10 21:17:00 -04:00
lell
a55fc567c3 removed 2022-01-10 08:34:19 +00:00
lell
31e52a08d2 Added a comment 2022-01-10 08:33:47 +00:00
lell
29088d78f3 2022-01-10 08:31:48 +00:00
aaron
91329eaf93 Added a comment 2022-01-09 08:36:34 +00:00
tomdhunt
d8ad2d8889 Added a comment 2022-01-09 05:45:35 +00:00
aaron
4b548efca2 Added a comment: How does the gcrypt type compare to the rsync special remote 2022-01-09 05:31:35 +00:00
aaron
dd6f6519df Added a comment: Not auto-signing commits with webapp (and possible assistant) 2022-01-09 04:29:26 +00:00
amerlyq
46abc97d32 Added a comment 2022-01-08 14:32:12 +00:00
amerlyq
af64183932 Added a comment 2022-01-08 14:15:55 +00:00
Joey Hess
e95747a149
fix handling of corrupted data received from git remote
Recover from corrupted content being received from a git remote due eg to a
wire error, by deleting the temporary file when it fails to verify. This
prevents a retry from failing again.

Reversion introduced in version 8.20210903, when incremental verification
was added.

Only the git remote seems to be affected, although it is certianly
possible that other remotes could later have the same issue. This only
affects things passed to getViaTmp that return (False, UnVerified) due to
verification failing. As far as getViaTmp can tell, that could just as well
mean that the transfer failed in a way that would resume, so it cannot
delete the temp file itself. Remote.Git and P2P.Annex use getViaTmp internally,
while other remotes do not, which is why only it seems affected.

A better fix perhaps would be to improve the types of the callback
passed to getViaTmp, so that some other value could be used to indicate
the state where the transfer succeeded but verification failed.

Sponsored-by: Boyd Stephen Smith Jr.
2022-01-07 13:25:33 -04:00
Joey Hess
21c0d5be6e
comment 2022-01-07 12:27:19 -04:00
Joey Hess
022e63cdde
comment 2022-01-07 12:08:19 -04:00
Joey Hess
8657df23fe
comment 2022-01-07 12:05:48 -04:00
amerlyq
39daac8e99 Added a comment 2022-01-07 12:52:35 +00:00
lell
56e8c6843d Added a comment: Propagation is different between "annex adjust" and "annex sync" 2022-01-07 10:21:46 +00:00
Joey Hess
0f1490c953
comment 2022-01-06 12:25:00 -04:00
Joey Hess
218a3c0f09
improve description
Sponsored-by: Jack Hill on Patreon
2022-01-06 12:24:27 -04:00
arekmenner@f0f5403c5cbc803fedaf860e3a6f839a41075e3b
6308dbedf7 Added a comment: reply 2022-01-06 15:13:15 +00:00
Joey Hess
08e5dea062
comment 2022-01-05 15:56:14 -04:00
Joey Hess
759346cc65
remove incorrect speculation 2022-01-05 15:42:46 -04:00
arekmenner@f0f5403c5cbc803fedaf860e3a6f839a41075e3b
16207484d2 description of another noob question 2022-01-05 19:30:14 +00:00
Joey Hess
0e9db8a190
comment 2022-01-05 15:26:34 -04:00
arekmenner@f0f5403c5cbc803fedaf860e3a6f839a41075e3b
2b6499a632 Added a comment: response 2022-01-05 19:18:09 +00:00
Joey Hess
7f3628331c
comment 2022-01-05 14:04:32 -04:00
Joey Hess
0c604e29a4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-05 13:10:03 -04:00
Joey Hess
c36895e9cb
comment 2022-01-05 13:09:18 -04:00
Joey Hess
ff33189548
comment 2022-01-05 12:58:19 -04:00
Joey Hess
a114670d3d
comment 2022-01-05 12:31:37 -04:00
Joey Hess
46d793c8df
comment 2022-01-05 12:18:18 -04:00
Joey Hess
7c6d088f62
retrospectively add from NEWS 2022-01-05 11:56:22 -04:00
amerlyq
aa6534caa7 Added a comment 2022-01-05 15:46:07 +00:00
Joey Hess
85978f59e6
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-05 10:11:29 -04:00
Joey Hess
83be8dc9e6
update 2022-01-05 06:44:16 -04:00
arekmenner@f0f5403c5cbc803fedaf860e3a6f839a41075e3b
7258b3a95c adding a noob question 2022-01-04 19:12:44 +00:00
Joey Hess
6d17ceed73
fix close link 2022-01-04 14:16:57 -04:00
Joey Hess
9f38c72f8b
comment 2022-01-04 11:38:01 -04:00
Joey Hess
d2344278fc
close 2022-01-04 11:32:29 -04:00
Joey Hess
e1e8afc477
comment 2022-01-04 11:28:33 -04:00
Joey Hess
2d4fb490bd
comment 2022-01-04 11:23:25 -04:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
982ad19002 Added a comment 2022-01-04 13:41:03 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
5a9eed6a41 Added a comment 2022-01-04 13:10:13 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
9c487d7a36 Added a comment 2022-01-04 12:55:14 +00:00
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
dc67e1cb60 Added a comment: well, yes 2022-01-04 11:28:33 +00:00
yarikoptic
ec9a4945e4 Added a comment 2022-01-03 20:03:38 +00:00
yarikoptic
4f31a27e6a initial report on slow drop 2022-01-03 19:59:08 +00:00
falsifian
b0b596ee62 Added a comment 2022-01-03 19:06:11 +00:00
Joey Hess
7e2f5edd68
avoid exporting non-annexed symlinks
So that importing does not replace them with plain files.

This works similarly to how the previous handling of submodules and
matchers did, except that annexed symlinks still get exported as plain
files of course, it's only non-annexed symlinks that it does not make sense
to export.

When symlinks have previously been exported, updating the export will
unexport them after upgrading to this commit.

Sponsored-by: Kevin Mueller on Patreon
2022-01-03 14:21:50 -04:00
Joey Hess
0584e096d1
comment 2022-01-03 13:53:34 -04:00
Joey Hess
9e18cd28ad
comment and retitle 2022-01-03 13:48:19 -04:00
Joey Hess
953d2029df
comment and retitle 2022-01-03 13:31:09 -04:00
Joey Hess
63b986d6d5
comment 2022-01-03 13:26:33 -04:00
Joey Hess
07191d7ba0
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-03 12:58:23 -04:00
Joey Hess
c07ed77e21
comment 2022-01-03 12:58:12 -04:00
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
4c9bc9e942 Added a comment: Found the issue 2022-01-03 08:25:05 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
e77ef584cc 2022-01-01 20:59:29 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
9c4712262b 2022-01-01 20:39:32 +00:00
amerlyq+annex@12121d70a602f094228689a0a24d348d478a8af1
71f8cc684e 2022-01-01 20:06:22 +00:00
Joey Hess
082cc1ede1
add news item for git-annex 8.20211231 2021-12-31 15:12:18 -04:00
Joey Hess
f1e55865a2
comment 2021-12-31 15:01:12 -04:00
falsifian
eacc3dc1f2 Added a comment 2021-12-31 16:03:33 +00:00
Joey Hess
0292c5a0d8
comment 2021-12-31 11:57:52 -04:00
Joey Hess
b60a041e9e
comment 2021-12-31 11:17:26 -04:00
falsifian
e7c78d2910 2021-12-30 19:01:54 +00:00
Joey Hess
ff4486b91c
comments 2021-12-30 12:45:00 -04:00
jkniiv
465bf26000 Added a comment: very much appreciated 2021-12-29 17:20:30 +00:00
yarikoptic
34e2e37ffd Added a comment: thank you! 2021-12-29 02:00:48 +00:00
Joey Hess
5abd4cf275
close 2021-12-28 13:40:35 -04:00
Joey Hess
b1d719f9d2
handle transitions with read-only unmerged git-annex branches
Capstone to this feature. Any transitions that have been performed on an
unmerged remote ref but not on the local git-annex branch, or vice-versa
have to be applied on the fly when reading files.

Sponsored-by: Dartmouth College's Datalad project
2021-12-28 13:23:32 -04:00
Joey Hess
1291a7d86c
Merge branch 'master' into readonly-annex-merge 2021-12-28 13:03:27 -04:00
Joey Hess
91317dd2bb
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-27 15:46:01 -04:00
Joey Hess
4257c23370
update on status 2021-12-27 15:45:22 -04:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
fe26c9aa60 Added a comment 2021-12-27 18:51:14 +00:00
Joey Hess
7f6b2ca49c
handle overBranchFileContents with read-only unmerged git-annex branches
This makes --all error out in that situation. Which is better than
ignoring information from the branches.

To really handle the branches right, overBranchFileContents would need
to both query all the branches and union merge file contents
(or perhaps not provide any file content), as well as diffing between
branches to find files that are only present in the unmerged branches.
And also, it would need to handle transitions..

Sponsored-by: Dartmouth College's Datalad project
2021-12-27 14:30:51 -04:00
Joey Hess
0c208e2cdb
comment 2021-12-27 13:44:49 -04:00
Joey Hess
ba3d89935b
status 2021-12-27 13:21:09 -04:00
Joey Hess
da6aa6e944
retitle 2021-12-26 12:33:34 -04:00
Joey Hess
575cd71ce4
comment 2021-12-26 12:31:17 -04:00
Joey Hess
5ff55f622d
improve sync message in export edge case
sync: Better error message when unable to export to a remote because
remote.name.annex-tracking-branch is configured to a ref that does not
exist.

It does not suggest how to fix the problem because there are several
possible solutions: Change the git config to point to something that does
exist, git add some files, or put files on the special remote that will be
imported and so populate the ref.

I considered just silently not doing anything, which is what it does
when annex-tracking-branch = master and nothing has been committed to
master yet. But it seems better to be explicit about it, since this is a
fairly confusing situation to find yourself in.

Sponsored-By: Max Thoursie on Patreon
2021-12-23 14:45:01 -04:00
Joey Hess
1ca73107a3
comment 2021-12-23 14:03:04 -04:00
Joey Hess
6600cd2df3
response 2021-12-22 13:02:12 -04:00
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
139683a56d 2021-12-19 16:30:18 +00:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
aad516ee42 2021-12-17 17:45:38 +00:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
9e402d21a3 Added a comment 2021-12-16 23:41:56 +00:00
manishofyore@b68d21cd485417e84ea87876a9064f82714a08a1
5098f970e2 Added a comment 2021-12-16 19:35:03 +00:00
Joey Hess
f566658b31
comment 2021-12-16 15:24:59 -04:00
manishofyore@b68d21cd485417e84ea87876a9064f82714a08a1
3ab86307bb Added a comment 2021-12-16 18:53:15 +00:00
Joey Hess
1d4e1c2f6d
comment 2021-12-16 10:54:49 -04:00
Joey Hess
8b3238cf42
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-14 13:27:11 -04:00
manishofyore@b68d21cd485417e84ea87876a9064f82714a08a1
0ba973463f Added a comment 2021-12-13 23:12:53 +00:00
Joey Hess
fe31951e5e
close 2021-12-13 13:13:54 -04:00
Joey Hess
22e805b9f2
clarify 2021-12-13 12:48:45 -04:00
Joey Hess
ca99d43a2a
comment 2021-12-13 12:47:52 -04:00
Joey Hess
50cfc4e71f
comment 2021-12-13 12:46:47 -04:00
Joey Hess
3e199a558d
comment 2021-12-13 12:38:27 -04:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
14823f485d Added a comment 2021-12-12 02:49:28 +00:00
tomdhunt
bed2c784ae 2021-12-10 19:26:28 +00:00
tomdhunt
d64feaae26 2021-12-10 19:07:46 +00:00
yarikoptic
74f8ba7813 Added a comment 2021-12-09 21:45:29 +00:00
io42630
9b3984d5e3 rename forum/__91__Question__93___Mixing_.thin_and_.fat_repos__63__.mdwn to forum/__91__Question__93___Mixing_.thin_and_default_repos__63__.mdwn 2021-12-09 21:05:46 +00:00
io42630
cb75782431 2021-12-09 21:02:28 +00:00
io42630
ff189fe837 2021-12-09 21:01:05 +00:00
Joey Hess
b1ad888a9f
moreinfo, sigh 2021-12-09 15:43:14 -04:00
yarikoptic
3899ff3cf1 Added a comment 2021-12-09 19:10:57 +00:00
Joey Hess
262400fe04
comment 2021-12-09 15:07:34 -04:00
Joey Hess
130427fa09
comment 2021-12-09 15:01:54 -04:00
Joey Hess
3d7b5f442a
comment 2021-12-09 14:59:36 -04:00
Joey Hess
b69f354a87
comment 2021-12-09 14:43:10 -04:00
Joey Hess
dbba231e06
Improve error message display when autoinit fails
Due to eg, a permissions problem.
2021-12-09 14:38:12 -04:00
Joey Hess
ab3c13c021
comment 2021-12-09 13:57:25 -04:00
Joey Hess
975ddae967
comment 2021-12-09 13:51:03 -04:00
Joey Hess
61b48b69ba
fix build on windows 2021-12-09 13:39:16 -04:00
yarikoptic
68e8ed5acb add more lines for more informative extract 2021-12-09 16:32:03 +00:00
yarikoptic
918b28b6dc Initial report details from Manish on Windows 2021-12-09 16:30:44 +00:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
f1516579ce Added a comment 2021-12-09 16:20:48 +00:00
jwodder
4b0af2f27b 2021-12-09 14:13:54 +00:00
alt
7eef6ac703 Added a comment 2021-12-08 20:01:33 +00:00
Joey Hess
4a1758fccf
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-08 15:38:23 -04:00
Joey Hess
b865ae6b38
comment 2021-12-08 15:20:36 -04:00
Joey Hess
4b19626a36
Fix build with ghc 9.0.1
Continuing along the same lines as commit
2739adc258, it seems that
while Remote -> Retriever expands to the same data type this changes
it to, ghc 9.0.1 refuses to consider them equiviant. I guess it has
something to do with the forall?

The rest of the build all succeeds, although the stack build then crashes:
Linking .stack-work/dist/x86_64-linux-tinfo6/Cabal-3.4.0.0/build/git-annex/git-annex ...
Completed 233 action(s).
Prelude.chr: bad argument: 2214592520
This issue seems likely to be about it:
https://github.com/commercialhaskell/stack/pull/5508
I'm building with stack from debian, version 2.3.3, so a newer stack
probably avoids that. Anyway, despite that stack problem,
the git-annex binary is built, and works.

The stack.yaml I used for this build was patched as follows:

diff --git a/stack.yaml b/stack.yaml
index 8dac87c15..62c4b5b9d 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,6 +1,6 @@
 flags:
   git-annex:
-    production: true
+    production: false
     assistant: true
     pairing: true
     torrentparser: true
@@ -14,7 +14,7 @@ flags:
     httpclientrestricted: true
 packages:
 - '.'
-resolver: lts-18.13
+resolver: nightly-2021-09-07
 extra-deps:
 - IfElse-0.85
 - aws-0.22

Sponsored-by: Graham Spencer on Patreon
2021-12-08 15:08:02 -04:00
yarikoptic
d56267f0cc Added a comment 2021-12-08 18:56:51 +00:00
yarikoptic
c5a415191d initial report on crash on readonly non-inited annex 2021-12-08 18:56:14 +00:00
Joey Hess
0139b4fa82
comment 2021-12-08 13:42:36 -04:00
Joey Hess
b060d99fe0
comment 2021-12-08 13:18:13 -04:00
Joey Hess
b8f4f2fb89
comment 2021-12-08 12:47:34 -04:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
d45e4ea685 Added a comment 2021-12-08 16:25:32 +00:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
2eeb379e4d Added a comment 2021-12-08 00:46:40 +00:00
yarikoptic
2719170575 initial todo on more flexible credentials management mechanism 2021-12-07 18:34:58 +00:00
Joey Hess
a7a5915cda
comment 2021-12-07 13:03:45 -04:00
Joey Hess
af236a7c6f
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-07 13:00:47 -04:00
Joey Hess
58460ac3e4
comment 2021-12-07 13:00:28 -04:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
e2c7a130ec 2021-12-07 03:32:41 +00:00
Joey Hess
756768a6a4
fixed 2021-12-06 15:44:14 -04:00
Joey Hess
d4665731d9
remove last trailing unresolved bit
I think the lock file probing stuff is ok as it is for pid locks.
If not, let's wait until we have a test case, it would be easy to subtly
break it.
2021-12-06 15:34:56 -04:00
Joey Hess
a91c4d945e
comment 2021-12-06 15:13:54 -04:00
Joey Hess
7c78fae463
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-06 12:53:43 -04:00
Joey Hess
ae4c56b28a
Revert "fix too early close of shared lock file"
This reverts commit 66b2536ea0.

I misunderstood commit ac56a5c2a0
and caused a FD leak when pid locking is not used.

A LockHandle contains an action that will close the underlying lock
file, and that action is run when it is closed. In the case of a shared
lock, the lock file is opened once for each LockHandle, and only
the one for the LockHandle that is being closed will be closed.
2021-12-06 12:51:28 -04:00
alt
371238eca3 2021-12-06 15:56:56 +00:00
jasonb@ab4484d9961a46440958fa1a528e0fc435599057
a8ff96864e 2021-12-05 20:37:48 +00:00
Joey Hess
00625caf87
update 2021-12-05 08:11:41 -04:00
Joey Hess
490689f122
Merge branch 'master' of ssh://git-annex.branchable.com 2021-12-03 18:42:05 -04:00
Joey Hess
9d3dce94f0
comment 2021-12-03 18:41:34 -04:00
yarikoptic
8a3b6f46c8 Added a comment 2021-12-03 21:41:53 +00:00
Joey Hess
a5fcc03595
comment 2021-12-03 16:40:58 -04:00
Joey Hess
6988c2e740
fix build on windows
broken by ed0afbc36b

Sponsored-by: Dartmouth College's Datalad project
2021-12-03 14:08:12 -04:00
ashton@37fa3fec6d2eef022a3491c85362a34141fbf0db
5d9cc3e5af 2021-12-02 23:36:10 +00:00
yarikoptic
3205686faf Added a comment 2021-12-02 20:42:37 +00:00
yarikoptic
d88a52886d removed 2021-12-02 20:41:37 +00:00
yarikoptic
33c36ef5cb initial follow up on the read-only mode issue 2021-12-02 20:39:39 +00:00
yarikoptic
937b9de516 Added a comment: automate + extend 2021-12-02 20:34:55 +00:00
yarikoptic
9c0f3d1de8 Added a comment 2021-12-02 13:05:55 +00:00
Joey Hess
ed0afbc36b
avoid concurrent threads trying to take pid lock at same time
Seem there are several races that happen when 2 threads run PidLock.tryLock
at the same time. One involves checkSaneLock of the side lock file, which may
be deleted by another process that is dropping the lock, causing checkSaneLock
to fail. And even with the deletion disabled, it can still fail, Probably due
to linkToLock failing when a second thread overwrites the lock file.

The same can happen when 2 processes do, but then one process just fails
to take the lock, which is fine. But with 2 threads, some actions where failing
even though the process as a whole had the pid lock held.

Utility.LockPool.PidLock already maintains a STM lock, and since it uses
LockShared, 2 threads can hold the pidlock at the same time, and when
the first thread drops the lock, it will remain held by the second
thread, and so the pid lock file should not get deleted until the last
thread to hold it drops the lock. Which is the right behavior, and why a
LockShared STM lock is used in the first place.

The problem is that each time it takes the STM lock, it then also calls
PidLock.tryLock. So that was getting called repeatedly and concurrently.

Fixed by noticing when the shared lock is already held, and stop calling
PidLock.tryLock again, just use the pid lock that already exists then.

Also, LockFile.PidLock.tryLock was deleting the pid lock when it failed
to take the lock, which was entirely wrong. It should only drop the side
lock.

Sponsored-by: Dartmouth College's Datalad project
2021-12-01 17:14:39 -04:00
Joey Hess
f50de2455f
retitle 2021-12-01 14:35:31 -04:00
Joey Hess
54a4ca9e3c
comment 2021-12-01 14:10:39 -04:00
Joey Hess
d4e99d902b
analysis 2021-12-01 13:38:47 -04:00
Joey Hess
b7976e08f0
comment 2021-12-01 13:03:05 -04:00
Joey Hess
e11ca04e28
comment 2021-12-01 12:46:07 -04:00
yarikoptic
7ca799efed initial report on needing more thorough retries when downloading from S3 2021-12-01 15:41:13 +00:00
account@dc612ad075297e574ebc3eb9a5b8ab6e753510dc
30c55f8940 Added a comment: Further fix attempts 2021-12-01 03:25:35 +00:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
a5b635af20 Added a comment: A few Windows benchmarks 2021-11-29 22:17:39 +00:00
Joey Hess
a6699be79d
catch error statting pid lock file if it somehow does not exist
It ought to exist, since linkToLock has just created it. However,
Lustre seems to have a rather probabilisitic view of the contents of a
directory, so catching the error if it somehow does not exist and
running the same code path that would be ran if linkToLock failed
might avoid this fun Lustre failure.

Sponsored-by: Dartmouth College's Datalad project
2021-11-29 14:53:07 -04:00
Joey Hess
567f63ba47
export: Avoid unncessarily re-exporting non-annexed files that were already exported
Commit b6e4ed9aa7 made non-annexed files
be re-uploaded every time, since they're not tracked in the location log,
and it made it check the location log. Don't do that for non-annexed files.

Sponsored-by: Brock Spratlen on Patreon
2021-11-29 14:02:38 -04:00
Joey Hess
05d79b26d8
clarify 2021-11-29 14:00:32 -04:00
Joey Hess
28cca9b9ff
comment 2021-11-29 13:32:12 -04:00
Joey Hess
357760cacf
comment 2021-11-29 13:16:52 -04:00
Joey Hess
b141b8a009
comment 2021-11-29 13:02:15 -04:00
mih
02e3756bd7 Added a comment: Even more impact on real systems 2021-11-26 14:23:34 +00:00
Atemu
0f48796532 Added a comment 2021-11-25 19:23:46 +00:00
mih
120a94bcb8 Added a comment: More statistics 2021-11-25 13:09:11 +00:00
Rémi
0b2314ffe0 bug on export tree remote. 2021-11-25 10:15:49 +00:00
mih
fe143b2cb9 Added a comment: Translates to Windows! 2021-11-25 07:34:49 +00:00
dev@c1c358f0d3c8563701193b66791eb1bc57a25ac9
5aca043296 2021-11-24 21:01:41 +00:00
yarikoptic
e83c07427a 2021-11-24 14:13:20 +00:00
yarikoptic
574938c234 Added a comment 2021-11-23 23:22:36 +00:00
yarikoptic
65494a9f81 Added a comment 2021-11-23 23:12:47 +00:00
jkniiv
6d59508f02 Added a comment 2021-11-23 21:46:43 +00:00
Joey Hess
95f78cc1ce
add news item for git-annex 8.20211123 2021-11-23 15:20:58 -04:00
Joey Hess
d7dfb99b16
comment 2021-11-23 15:19:11 -04:00
yarikoptic
23ee488980 initial report 2021-11-23 15:41:45 +00:00
yarikoptic
019564c52f initial report on tests exit code 124 2021-11-23 14:40:35 +00:00
m15
2e2d35869c Added a comment: new problem on reinject 2021-11-23 00:53:37 +00:00
Joey Hess
5a7f253974
support git 2.34.0's handling of merge conflict between annexed and non-annexed file
This version of git -- or its new default "ort" resolver -- handles such
a conflict by staging two files, one with the original name and the other
named file~ref. Use unmergedSiblingFile when the latter is detected.

(It doesn't do that when the conflict is between a directory and a file
or symlink though, so see previous commit for how that case is handled.)

The sibling file has to be deleted separately, because cleanConflictCruft
may not delete it -- that only handles files that are annex links,
but the sibling file may be the non-annexed file side of the conflict.

The graftin code had assumed that, when the other side of a conclict
is a symlink, the file in the work tree will contain the non-annexed
content that we want it to contain. But that is not the case with the new
git; the file may be the annex link and needs to be replaced with the
content, while the annex link will be written as a -variant file.

(The weird doesDirectoryExist check in graftin turns out to still be
needed, test suite failed when I tried to remove it.)

Test suite passes with new git with ort resolver default. Have not tried it
with old git or other defaults.

Sponsored-by: Noam Kremen on Patreon
2021-11-22 16:10:24 -04:00
Joey Hess
c49787824c
fix test failure with git version 2.34.0
The new "ort" resolver uses different filenames than what the test suite
accepted when resolving a conflict between a directory an an annexed
file. Make the test looser in what it accepts, so it will work with old
and new git.

Other tests still look for "conflictor.variant" as a prefix,
because when eg resolving a conflicted merge of 2 annexed files,
the filename is not changed by the ort resolver, and I didn't want to
unncessarily loosen the test.

Also I'm not entirely happy with the filenames used by the ort resolver,
see comment.

There's still another test failure caused by that resolver that is not
fixed yet.
2021-11-22 13:30:03 -04:00
kyle
e2da89ba49 Added a comment: re: git 2.34: some conflict resolution unit tests fail 2021-11-21 21:41:36 +00:00
jkniiv
a0e9a059ab issue, presumably git 2.34 new merge strategy to blame 2021-11-21 18:49:02 +00:00
Joey Hess
0f9e5ada82
idea 2021-11-21 11:19:47 -04:00
yarikoptic
e1f38b9dd7 Added a comment 2021-11-19 17:44:22 +00:00
Joey Hess
623a775609
fix cat-file leak in get with -J
Bugfix: When -J was enabled, getting files leaked a ever-growing number of
git cat-file processes.

(Since commit dd39e9e255)

The leak happened when mergeState called stopNonConcurrentSafeCoProcesses.
While stopNonConcurrentSafeCoProcesses usually manages to stop everything,
there was a race condition where cat-file processes were leaked. Because
catFileStop modifies Annex.catfilehandles in a non-concurrency safe way,
and could clobber modifications made in between. Which should have been ok,
since originally catFileStop was only used at shutdown.

Note the comment on catFileStop saying it should only be used when nothing
else is using the handles. It would be possible to make catFileStop
race-safe, but it should just not be used in a situation where a race is
possible. So I didn't bother.

Instead, the fix is just not to stop any processes in mergeState. Because
in order for mergeState to be called, dupState must have been run, and it
enables concurrency mode, stops any non-concurrent processes, and so all
processes that are running are concurrency safea. So there is no need to
stop them when merging state. Indeed, stopping them would be extra work,
even if there was not this bug.

Sponsored-by: Dartmouth College's Datalad project
2021-11-19 12:51:08 -04:00
Joey Hess
2d3e8718e6
reproduced 2021-11-19 12:05:19 -04:00
Joey Hess
15d617f7e1
have setConcurrency stop any running git coprocesses
When non-concurrent git coprocesses have been started, setConcurrency
used to not stop them, and so could leak processes when enabling
concurrency, eg when forkState is called.

I do not think that ever actually happened, given where setConcurrency
is called. And it probably would only leak one of each process, since it
never downgrades from concurrent to non-concurrent.
2021-11-19 12:00:39 -04:00
Joey Hess
261947683b
comment 2021-11-19 10:23:27 -04:00
Joey Hess
1e1da11ea1
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-19 09:20:07 -04:00
Joey Hess
7d89a8846e
tag forumbug 2021-11-19 09:19:56 -04:00
yarikoptic
9513b37803 Added a comment: bisection 2021-11-18 02:29:01 +00:00
yarikoptic
3191ea44ef Added a comment: god bless search 2021-11-17 21:03:29 +00:00
Joey Hess
7521f63665
add news item for git-annex 8.20211117 2021-11-17 12:21:07 -04:00
Joey Hess
674d6703ad
collapse lists of done items by default
Copying how the datalad page does it. This avoids me missing the header
and thinking these are still open.
2021-11-16 12:38:41 -04:00
Joey Hess
7e19fcc93b
tag moreinfo 2021-11-16 12:35:02 -04:00
Joey Hess
c9d598ced7
comment 2021-11-16 12:33:36 -04:00
Joey Hess
58c9372053
close 2021-11-15 15:46:16 -04:00
Joey Hess
70d99328be
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-15 15:35:04 -04:00
Joey Hess
2bd778a46e
importfeed: Fix a crash when used in a non-unicode locale
See comment for analysis.

At first I thought I'd need to convert all T.unpack in git-annex, but
luckily not -- so long as the Text is read from a file, the filesystem
encoding is applied and T.unpack is fine. It's only when using Feed
that the filesystem encoding is not applied.

While this fixes the crash, it does result in some mojibake, eg:
itemid=http://www.manager-tools.com/2014/01/choosing-a-company-work-chapter-7-���-questions/

Have not tracked that down, but it must be unrelated, because
I've verified that it roundtrips when using encodeUf8:

joey@darkstar:~/src/git-annex>LANG=C ghci  Utility/FileSystemEncoding.hs
ghci> useFileSystemEncoding
ghci> Just f <- Text.Feed.Import.parseFeedFromFile "/home/joey/tmp/career_tools_podcasts.xml"
ghci> Just (_, x) = Text.Feed.Query.getItemId (Text.Feed.Query.feedItems f !! 0)
ghci> decodeBS (Data.Text.Encoding.encodeUtf8 x)
"http://www.manager-tools.com/2014/01/choosing-a-company-work-chapter-7-\56546\56448\56467-questions/"
ghci> writeFile "foo" $ decodeBS (Data.Text.Encoding.encodeUtf8 x)
Writes a file containing the ENDASH character.

Sponsored-by: Jochen Bartl on Patreon
2021-11-15 15:04:21 -04:00
Lukey
b4052cb765 Added a comment 2021-11-14 20:11:35 +00:00
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c
db4ae6c697 Added a comment 2021-11-14 18:41:18 +00:00
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c
0e3fb1c2db Added a comment 2021-11-14 18:37:05 +00:00
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c
0c4a40d59f Added a comment 2021-11-14 18:35:45 +00:00
contact@ee563aaec1e9de7a4e8d748992963dba79178e9c
6f07a82f9c 2021-11-14 18:33:52 +00:00
Joey Hess
b12f7f84f7
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-13 09:09:45 -04:00
rklett
5b6e096f12 2021-11-13 03:59:47 +00:00
Joey Hess
258647ce7d
improve docs
I saw a user open a forum post that looked like they had read this man
page, but were unaware of git-annex unlock, and were looking for its
functionality. They later deleted the post, probably when they found
git-annex unlock. Looking at this man page, it was a bit unclear about
the motivation for the command.

Yes, I'm warching... ;-)
2021-11-12 14:08:36 -04:00
Joey Hess
2248b35fb8
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-12 13:29:22 -04:00
Joey Hess
51b73ea1fc
migrate: New --remove-size option
While intended for converting URL keys added by addurl --fast to be
as if added by addurl --relaxed, it can also be used to remove size
from other types of keys. Although that is not likely to be useful
for checksummed keys, I suppose it could be used for WORM or other
non-checksum keys.

Specifying the --remove-size option does not prevent other migrations
from taking effect if there's a key upgrade to perform, or if the
backend has changed. So --backend=URL needs to be used to prevent
migrating an URL key to the default backend.

Note that it's not possible to use git-annex migrate to convert from a
non-URL key to an URL key, as URL keys cannot be generated, except by
addurl. So while this can get the same effect as --relaxed would have
when addurl --fast was used, when --fast was not used, it won't work, or
if --backend=URL is not used will remove the size but not prevent
checksum verification, which is not useful. Due to this complexity, I
decided not to mention it in the git-annex addurl man page.

Sponsored-by: Jochen Bartl on Patreon
2021-11-12 13:28:28 -04:00
iimog@2c22a44141070c04b943932b697818a686859677
71f87dabd2 Added a comment: It works 2021-11-12 08:14:33 +00:00
Joey Hess
f3326b8b5a
git-lfs gitlab interoperability fix
git-lfs: Fix interoperability with gitlab's implementation of the git-lfs
protocol, which requests Content-Encoding chunked.

Sponsored-by: Dartmouth College's Datalad project
2021-11-10 13:51:11 -04:00
Joey Hess
dee462f536
tag as datalad 2021-11-09 16:06:41 -04:00
Joey Hess
3bdac41090
comment 2021-11-09 16:04:54 -04:00
Joey Hess
886d60dabe
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-09 15:53:13 -04:00
Joey Hess
9121154a75
new todo 2021-11-09 15:52:17 -04:00
Ilya_Shlyakhter
61a6bdc386 Added a comment: clarification re: smudge filter and annex.supportunlocked 2021-11-09 18:28:10 +00:00
iimog@2c22a44141070c04b943932b697818a686859677
173d8d0e51 2021-11-09 15:30:42 +00:00
jkniiv
a741d3308f Added a comment 2021-11-09 08:48:33 +00:00
fireboy
95c37fb262 removed 2021-11-09 04:47:41 +00:00
fireboy
6682b04a27 2021-11-09 01:48:01 +00:00
Joey Hess
9d3ce224e3
uninit edge cases
* uninit: Avoid error message when no commits have been made to the
  repository yet.
* uninit: Avoid error message when there is no git-annex branch.

Sponsored-by: Svenne Krap on Patreon
2021-11-08 16:47:00 -04:00
Joey Hess
9cb02ca29e
comment 2021-11-08 16:28:43 -04:00
Joey Hess
020148bd06
comment 2021-11-08 16:23:05 -04:00
Joey Hess
f410f9d7ca
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-08 16:20:57 -04:00
Joey Hess
7e3180226d
devblog 2021-11-08 16:20:43 -04:00
Joey Hess
a0758bdd10
dynamically disable filter-process in restagePointerFile when it would be slower
Based on my earlier benchmark, I have a rough cost model for how
expensive it is for git-annex smudge to be run on a file, vs
how expensive it is for a gigabyte of a file's content to be read and
piped through to filter-process.

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

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

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

Sponsored-by: Noam Kremen on Patreon
2021-11-08 16:20:34 -04:00
Lukey
f32cb96a34 Added a comment 2021-11-08 19:38:35 +00:00
Ilya_Shlyakhter
54b82e4fef Added a comment 2021-11-08 16:34:30 +00:00
xeruf
d632c781c2 Suggest description 2021-11-07 20:50:03 +00:00
xeruf
fdd3321e81 2021-11-07 19:25:09 +00:00
Joey Hess
054c803f8d
benchmarking of filter-process vs smudge/clean
No firm conclusions yet, but it's doing better than I would have
expected.

Sponsored-by: Graham Spencer on Patreon
2021-11-05 13:37:53 -04:00
Joey Hess
099e8fe061
close 2021-11-05 12:46:56 -04:00
Joey Hess
7551c7ab54
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-05 12:46:14 -04:00
Joey Hess
cdf7639954
update 2021-11-05 11:00:45 -04:00
jkniiv
d5a06d51c3 Added a comment 2021-11-05 10:25:32 +00:00
jkniiv
beabf83ffb restated: plenty of unit tests fail both under Windows and Ubuntu 18.04 2021-11-05 06:02:29 +00:00
jkniiv
2407f35eb8 plenty of unit tests fail on Windows 2021-11-05 03:34:16 +00:00
Joey Hess
afca7d66f6
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-04 15:24:46 -04:00
Joey Hess
b25a138e22
update for git-annex filter-process 2021-11-04 15:15:26 -04:00
Joey Hess
8dd91be867
mention filter-process as v9 material 2021-11-04 15:05:24 -04:00
Joey Hess
d392d8dec8
update with actual command to run 2021-11-04 15:03:51 -04:00
Joey Hess
916c5a7619
Merge branch 'master' into long-running-smudge 2021-11-04 15:03:28 -04:00
Joey Hess
68257e9076
add git-annex filter-process
filter-process: New command that can make git add/checkout faster when
there are a lot of unlocked annexed files or non-annexed files, but that
also makes git add of large annexed files slower.

Use it by running: git
config filter.annex.process 'git-annex filter-process'

Fully tested and working, but I have not benchmarked it at all.
And, incremental hashing is not done when git add uses it, so extra work is
done in that case.

Sponsored-by: Mark Reidenbach on Patreon
2021-11-04 15:02:36 -04:00
CandyAngel
06f7ad2045 removed 2021-11-04 16:06:17 +00:00
CandyAngel
4515eb2a58 Added a comment 2021-11-04 16:04:07 +00:00
Joey Hess
e0b4a66a54
Merge branch 'master' of ssh://git-annex.branchable.com 2021-11-03 16:06:49 -04:00