Commit graph

12172 commits

Author SHA1 Message Date
Joey Hess
6d762fafae
idea 2022-08-05 14:54:10 -04:00
Joey Hess
ee73bc7a3c
tag datalad since they have an issue about this 2022-08-05 14:48:21 -04:00
Joey Hess
7ac161395b
comment 2022-08-05 14:10:47 -04:00
Joey Hess
9e66a332b4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-05 13:57:32 -04:00
Joey Hess
5bc70e2da5
When bup split fails, display its stderr
It seems worth noting here that I emailed bup's author about bup split
being noisy on stderr even with -q in approximately 2011. That never got
fixed. Its current repo on github only accepts pull requests, not bug
reports. Needing to add such complexity to deal with such a longstanding
unfixed issue is not fun.

Sponsored-by: Kevin Mueller on Patreon
2022-08-05 13:57:20 -04:00
yarikoptic
e884d2ed4c Added a comment 2022-08-05 16:17:09 +00:00
Joey Hess
a23fd7349f
work around git segfault
Work around bug in git 2.37 that causes a segfault when when
core.untrackedCache is set, and broke git-annex init.

Depending on when git gets fixed and how widely the buggy versions are
used, this could be reverted quite soon, or need to linger for a long time.
It only makes git-annex init a tiny bit slower in a new repo.

Sponsored-by: Max Thoursie on Patreon
2022-08-04 14:20:57 -04:00
Joey Hess
008204b2f3
explain why this happens and close 2022-08-04 12:39:07 -04:00
Joey Hess
6950e01e2a
Revert "fix link"
This reverts commit 2f671f1d1b.

Didn't work
2022-08-04 12:20:02 -04:00
Joey Hess
2f671f1d1b
fix link 2022-08-04 12:18:49 -04:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
2824b476c2 2022-08-04 08:28:09 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
925424092b 2022-08-04 08:26:11 +00:00
rinomizu5@5ead4c82685c65d7717dbd5591b80425036ae9e3
e91fdabba7 2022-08-04 08:23:05 +00:00
jkniiv
164129b53d Added a comment 2022-08-03 15:47:08 +00:00
Joey Hess
c2aa67d373
Merge branch 'master' of ssh://git-annex.branchable.com 2022-08-02 12:33:17 -04:00
yarikoptic
bb30d43b7f Added a comment 2022-08-01 18:55:38 +00:00
yarikoptic
818614ceaf Added a comment 2022-08-01 18:51:59 +00:00
Joey Hess
dddaec1b74
Revert "stack.yaml: Updated to lts-19.16"
This reverts commit b5dc04099e.

Broke windows build, because the new lts updates Win32 to a version that
lacks a function that git-annex needs. git-annex.cabal depends on an
older Win32, and so stack build fails.

Will need to wait to update stack.yaml until this is fixed
https://github.com/haskell/win32/issues/208
and is in a new LTS release.
2022-08-01 13:24:46 -04:00
Joey Hess
010332dba3
comment 2022-08-01 13:10:30 -04:00
jkniiv
0e14491e00 Added a comment 2022-07-31 18:00:59 +00:00
Ilya_Shlyakhter
2d982ffccd Added a comment: lts version 2022-07-31 17:25:27 +00:00
jkniiv
0b748f8d9b lts-19.16 causes an issue on Windows 2022-07-31 08:56:00 +00:00
ceramic_glass
10d051f49d Added a comment 2022-07-29 08:08:33 +00:00
Joey Hess
c8a2752345
comment 2022-07-28 12:07:30 -04:00
ceramic_glass
7ec949e0fc 2022-07-28 00:23:44 +00:00
Joey Hess
d905232842
use ResourcePool for hash-object handles
Avoid starting an unncessary number of git hash-object processes when
concurrency is enabled.

Sponsored-by: Dartmouth College's DANDI project
2022-07-25 17:32:39 -04:00
Joey Hess
b1c49c373a
analysis 2022-07-25 17:03:24 -04:00
yarikoptic
afa4f3c3da initial report on hash-object's 2022-07-25 19:17:37 +00:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
be2d1ab18d Added a comment 2022-07-23 08:48:17 +00:00
Atemu
d73b2d307c Added a comment 2022-07-22 23:47:19 +00:00
Joey Hess
e1de941b2c
close git bug that I reported to git mailing list 2022-07-22 13:24:24 -04:00
Joey Hess
591e87f1f2
reproduced 2022-07-22 12:24:42 -04:00
Joey Hess
162c8cdec0
comment 2022-07-22 11:59:15 -04:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
113ccfcc32 Added a comment: Happens only when core.untrackedCache=true 2022-07-21 08:23:04 +00:00
akspecs@fae4f3d58a0c6c9d50f01a850ce53d425e1a90ba
d23c281856 Added a comment: cannot reproduce 2022-07-19 12:53:46 +00:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
b566ef839e 2022-07-19 11:22:26 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
14e8b42c77 removed duplicated content 2022-07-18 16:42:10 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
f8d454b493 Add new bug "creating failure getting/copying on git-lfs remote (gcrypt)" 2022-07-18 16:18:42 +00:00
g@aaed65f19d6c3a2a18c33da828e66c7bb915e65a
36dd9c124f Add new bug "creating failure getting/copying on git-lfs remote (gcrypt)" 2022-07-18 16:17:33 +00:00
Atemu
2f09ebaf4d 2022-07-17 13:49:11 +00:00
Atemu
4a78214bde 2022-07-17 13:17:22 +00:00
Joey Hess
ee8acd5b5d
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-15 15:07:05 -04:00
Joey Hess
a2b1f369d1
disable journalIgnorable in enableInteractiveBranchAccess
Fix a reversion that prevented --batch commands (and the assistant)
from noticing data written to the journal by other commands.

I have not identified which commit broke this for sure,
but probably it was aeca7c2207

--batch commands that wrote to the journal avoided the problem since
journalIgnorable sets unset on write. It's a little bit surprising that
nobody noticed that query --batch commands did not see data written by
other commands.

Sponsored-by: Dartmouth College's DANDI project
2022-07-15 13:48:41 -04:00
nick.guenther@e418ed3c763dff37995c2ed5da4232a7c6cee0a9
4f66f036e6 2022-07-15 16:26:18 +00:00
Joey Hess
c3df38dd15
comment 2022-07-14 13:54:50 -04:00
yarikoptic
ba3c48a9e3 Added a comment 2022-07-13 22:05:46 +00:00
Joey Hess
50c2cac7e7
adb: Added configuration setting oldandroid=true
To avoid using find -printf, which was first supported in Android around
2019-2020.

Probing seems too fragile, and execing stat once per file is too slow to do
when there's a faster way available, which brought me to an option...

Sponsored-by: Brett Eisenberg on Patreon
2022-07-13 18:00:47 -04:00
Joey Hess
f358805fc2
comment 2022-07-13 17:26:10 -04:00
Joey Hess
58d163cfc0
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-13 17:17:44 -04:00
Joey Hess
fbc3c223a6
filter-process: Fix protocol for empty files
This caused git to complain that filter-process failed and kill it with
signal 15. Because it wrote an extra flushPkt for an empty file, which
git did not expect, and so git saw an unexpected response to the next
request.

Luckily, filter-process is only used by default in v9 and up, and v8 is
still the default. Also, git had to be updating an empty file, followed
by another file, which is a fairly unlikely situation. And git restarts
filter-process after this happens and uses it to filter the rest of the
files. So this isn't a crippling bug.

Sponsored-by: Luke Shumaker on Patreon
2022-07-13 17:13:54 -04:00
yarikoptic
557341315a Added a comment 2022-07-13 19:27:06 +00:00
Joey Hess
7c7b7ac9b9
followup 2022-07-13 14:53:46 -04:00
Joey Hess
afbfc106af
comment 2022-07-13 13:09:04 -04:00
Joey Hess
aaccada8fd
comment 2022-07-12 17:00:36 -04:00
Joey Hess
e74e51c761
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-12 16:48:11 -04:00
Joey Hess
323c78b191
comment
(and fix an old comment's formatting)
2022-07-12 16:47:49 -04:00
yarikoptic
aead843318 Added a comment 2022-07-12 20:47:22 +00:00
yarikoptic
12c5c1d975 initial complaining about slow annex init 2022-07-12 20:10:26 +00:00
Joey Hess
79e3dcc169
retitle and fix link 2022-07-12 15:01:53 -04:00
Joey Hess
9a7654d83a
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-12 14:59:24 -04:00
Joey Hess
2d65c4ff1d
avoid unix-compat's rename
On Windows, that does not support long paths
https://github.com/jacobstanley/unix-compat/issues/56

Instead, use System.Directory.renamePath, which does support long paths.

Sponsored-by: Dartmouth College's Datalad project
2022-07-12 14:55:02 -04:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
44a5eef718 Added a comment: phone version 2022-07-12 18:37:16 +00:00
Joey Hess
51c43e8c95
comment 2022-07-12 12:37:08 -04:00
jenkin.schibel@286264d9ceb79998aecff0d5d1a4ffe34f8b8421
95048a7ad4 2022-07-12 00:24:14 +00:00
Joey Hess
9c6e45c0b2
Merge branch 'master' of ssh://git-annex.branchable.com 2022-07-08 10:33:54 -04:00
yarikoptic
e7f499ba36 initial report on inability to connect to S3 2022-07-07 19:56:06 +00:00
Joey Hess
24ff57160f
comment 2022-07-07 12:45:51 -04:00
mih
a223f402f3 Added a comment: Recent version tested 2022-07-06 12:18:36 +00:00
mih
35d27ab0d9 2022-07-06 06:24:06 +00:00
Joey Hess
697e22cceb
fixed 2022-07-05 16:35:19 -04:00
Joey Hess
201e41cffd
add: Fix reversion when adding an annex link that has been moved to another directory
Fixes commit f259be7f39

Sponsored-by: Dartmouth College's Datalad project
2022-07-05 16:22:41 -04:00
Joey Hess
149d12f188
support --backend again in addurl and importfeed
Missed these two when converting from a global option.

Sponsored-by: Dartmouth College's Datalad project
2022-07-05 15:35:43 -04:00
yarikoptic
e355c22629 Added a comment: mystery resolved 2022-07-01 19:19:30 +00:00
yarikoptic
cd1c07bc4c initial report on move bug 2022-07-01 13:45:02 +00:00
Soxofaan
65ba22ae5c Added a comment: no worries 2022-06-30 16:51:51 +00:00
yarikoptic
dac8c76d0c asking to return --backend for addurl 2022-06-30 15:00:19 +00:00
yarikoptic
c0f86a1009 FTBFS report on linux 2022-06-30 14:52:24 +00:00
contr-error
c17a4476f9 marking as done 2022-06-29 19:14:38 +00:00
contr-error
281f116c6a Added a comment 2022-06-29 19:13:56 +00:00
Joey Hess
ad34d7996d
close bug that was recently fixed 2022-06-29 14:51:11 -04:00
Joey Hess
0184fef516
close 2022-06-29 14:44:02 -04:00
Joey Hess
834b4e5012
close 2022-06-29 14:42:40 -04:00
Joey Hess
43814314ae
close 2022-06-29 14:41:34 -04:00
Joey Hess
42c5d9631d
close 2022-06-29 14:39:21 -04:00
Joey Hess
dd4c110f3c
close 2022-06-29 14:38:16 -04:00
Joey Hess
82063e20c7
close 2022-06-29 14:37:02 -04:00
Joey Hess
cddcabfbb5
include filename in fsck warning
So it's available in --quiet mode. The same was already done in other
fsck warnings.

Sponsored-by: Noam Kremen on Patreon
2022-06-29 14:33:35 -04:00
Joey Hess
4b4795ec85
this is fixed 2022-06-29 14:30:57 -04:00
Joey Hess
4a17981196
close 2022-06-29 14:29:00 -04:00
Joey Hess
a6e332fd51
close 2022-06-29 14:27:44 -04:00
Joey Hess
02ef3d6a64
fix build with assistant disabled and webapp enabled
The webapp modules cannot build with the assistant disabled, so make the
webapp be under the assistant build flag.

Sponsored-by: Jarkko Kniivilä on Patreon
2022-06-29 14:19:18 -04:00
Joey Hess
46faf74d90
close 2022-06-29 13:45:33 -04:00
Joey Hess
7f1d556d13
close 2022-06-29 13:38:46 -04:00
Joey Hess
b223988e22
remove --backend from global options
--backend is no longer a global option, and is only accepted by commands
that actually need it.

Three commands that used to support backend but don't any longer are
watch, webapp, and assistant. It would be possible to make them support it,
but I doubt anyone used the option with these. And in the case of webapp
and assistant, the option was handled inconsistently, only taking affect
when the command is run with an existing git-annex repo, not when it
creates a new one.

Also, renamed GlobalOption etc to AnnexOption. Because there are many
options of this type that are not actually global (any more) and get
added to commands that need them.

Sponsored-by: Kevin Mueller on Patreon
2022-06-29 13:33:25 -04:00
Joey Hess
3eecf2033a
update 2022-06-29 12:51:01 -04:00
Joey Hess
2a009bf14e
close 2022-06-29 12:43:30 -04:00
Joey Hess
21c50c0f72
fix parallel copy from/to a local git repo
Improve handling of parallelization with -J when copying content from/to a
git remote that is a local path.

Sponsored-by: Nicholas Golder-Manning on Patreon
2022-06-29 12:40:12 -04:00
Joey Hess
54baa480b6
close mistaken bug report 2022-06-29 12:26:36 -04:00
Joey Hess
ae6c54cc0e
wontfix 2022-06-29 12:24:25 -04:00
Joey Hess
58e7869e35
retitle 2022-06-29 12:19:08 -04:00
Joey Hess
e1aa96ac21
fix my comment format 2022-06-29 12:18:28 -04:00
Joey Hess
d7771a6cdc
comment 2022-06-29 12:17:42 -04:00
Joey Hess
d78cb5e5cc
comment and retitle 2022-06-28 12:35:08 -04:00
Joey Hess
a9c531b867
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-28 12:28:57 -04:00
Joey Hess
a0a0ec51dd
comment 2022-06-28 12:27:48 -04:00
contr-error
14c113fe0e add bug 2022-06-28 10:03:57 +00:00
Soxofaan
6a58fd3626 Added a comment: Same problem 2022-06-26 21:53:39 +00:00
Joey Hess
e5c418b99c
convert bug to todo 2022-06-22 14:23:46 -04:00
Joey Hess
af1a45c69c
use replaceWorkTreeFile when fixing an annex symlink
This does not change any behavior, but it's useful for all worktree
changes to be made using this.

Sponsored-by: Graham Spencer on Patreon
2022-06-22 13:41:41 -04:00
Joey Hess
cfc65ee9fc
followup 2022-06-22 13:19:35 -04:00
Joey Hess
1ddaf7a27f
decided this is not a problem 2022-06-15 14:00:56 -04:00
Joey Hess
f259be7f39
fix overwrite race with small file that got large
When adding a small file, it does not get locked down, so can be modified
after git-annex checks that it's small. The use of queued git add made the
race window nice and wide too.

Fixed by checking if the file has changed, and by not using git add.
Instead, have to recapitulate git add's handling of things like symlinks
and executable files.

Sponsored-by: Jochen Bartl on Patreon
2022-06-14 16:38:56 -04:00
Joey Hess
56e095aaf4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-14 14:56:16 -04:00
yarikoptic
60a02af856 Added a comment: hold it... ;) 2022-06-14 18:47:25 +00:00
Joey Hess
78a3d44ea0
get rid of racy addLink
The remaining callers all did not rely on it checking gitignore, so were
easy to convert.

They were susceptable to the same overwrite race as add and fix,
although less likely to have it and a narrower window than add's race.

Command.Rekey in passing got an unncessary call to removeFile deleted.
addSymlink handles deleting any existing worktree file.
2022-06-14 14:47:15 -04:00
Joey Hess
e47219bcb5
bug report 2022-06-14 14:13:48 -04:00
Joey Hess
dd6dec4eb1
fix add overwrite race with git-annex add to annex
This is not a complete fix for all such races, only the one where a
large file gets changed while adding and gets added to git rather than
to the annex.

addLink needs to go away, any caller of it is probably subject to the
same kind of race. (Also, addLink itself fails to check gitignore when
symlinks are not supported.)

ingestAdd no longer checks gitignore. (It didn't check it consistently
before either, since there were cases where it did not run git add!)
When git-annex import calls it, it's already checked gitignore itself
earlier. When git-annex add calls it, it's usually on files found
by withFilesNotInGit, which handles checking ignores.

There was one other case, when git-annex add --batch calls it. In that
case, old git-annex behaved rather badly, it would seem to add the file,
but git add would later fail, leaving the file as an unstaged annex symlink.
That behavior has also been fixed.

Sponsored-by: Brett Eisenberg on Patreon
2022-06-14 13:37:19 -04:00
Joey Hess
b471438c51
bug report
Sponsored-by: Luke Shumaker on Patreon
2022-06-14 12:51:09 -04:00
Joey Hess
b9e9ad1ffb
comment 2022-06-14 12:23:33 -04:00
yarikoptic
8916c818b4 Added a comment 2022-06-13 23:52:48 +00:00
yarikoptic
1524c5f2dd initial whining about type=git initremote stopped 2022-06-13 23:40:30 +00:00
Joey Hess
68810ddaf9
comment 2022-06-13 13:38:36 -04:00
yarikoptic
c3f1509b9e Added a comment 2022-06-09 21:53:05 +00:00
Joey Hess
6d0b243d9d
avoid cleaning up move log when drop from remote fails
move: Improve resuming a move that succeeded in transferring the content,
but where dropping failed due to eg a network problem, in cases where
numcopies checks prevented the resumed move from dropping the object from
the source repository.

This was earlier done for moves that got interrupted during the drop stage.

Sponsored-by: Svenne Krap on Patreon
2022-06-09 15:26:25 -04:00
Joey Hess
13fc6a9b6a
fix to use 1 chunk for empty file
Fix retrival of an empty file that is stored in a special remote with
chunking enabled.

The speculative chunk stuff caused a reversion by adding an empty list for
the empty file. Which is just wrong; the empty file is still stored on the
remote, and should be retrieved like any other file. It uses 1 chunk, so
`max 1` is the simple fix.

Sponsored-by: Noam Kremen on Patreon
2022-06-09 14:24:56 -04:00
Joey Hess
53d289c6c1
comment 2022-06-09 13:38:37 -04:00
Joey Hess
9ef90aa738
comment 2022-06-09 13:32:07 -04:00
Joey Hess
bfdbf59536
close as not a bug 2022-06-09 13:23:33 -04:00
Joey Hess
9f1765b32a
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-09 13:18:10 -04:00
yarikoptic
1a2bff370d initial report on difficulty with 0 length file 2022-06-09 17:17:56 +00:00
Joey Hess
14584e7a38
initremote type=git probe uuid
rather than matching path of an existing remote to find the uuid.

The main benefit of this is that locations not using ssh:// will work
now, including both paths and host:/path

The other benefit is that it's a simpler interface, no need to have an
existing remote with the same url and some other name. Although that
will still work of course.

This does rely on tryGitConfigRead working when given a Git.Repo that is
not a remote. Luckily, it works fine that way.

Also, tryGitConfigRead will auto-init a local repo that has a git-annex
branch. I did not enable auto-init of ssh repos though.

The uuid discovery actually happens twice; initremote discovers it,
and uses it to store the special remote config, but does not set it in the
git remote it creates. So the next run of git-annex does uuid discovery
again, and caches it that time. This could be improved for a tiny
speedup, but I didn't want to complicate things for that in this
commit.

Sponsored-by: Dartmouth College's DANDI project
2022-06-09 13:16:50 -04:00
Joey Hess
2f509e529e
bug report 2022-06-09 13:16:39 -04:00
mih
2d4126e742 2022-06-09 11:43:47 +00:00
jkniiv
4d3178b8ea Added a comment 2022-06-09 02:32:19 +00:00
Joey Hess
5b7a5eedb6
analysis 2022-06-08 15:44:28 -04:00
Joey Hess
676d46032a
comment 2022-06-08 12:54:28 -04:00
yarikoptic
7ecb4a34cc initial whining about type=git initremote 2022-06-08 15:42:58 +00:00
yarikoptic
bbf7459fe1 initial report on addurls issue 2022-06-08 14:05:56 +00:00
Atemu
9cf6feb46d Added a comment 2022-06-07 12:07:30 +00:00
yarikoptic
e796080f32 Added a comment 2022-06-06 17:22:41 +00:00
Joey Hess
21cf33a881
comment 2022-06-06 12:37:40 -04:00
Joey Hess
a57ad1e226
comment 2022-06-06 12:19:28 -04:00
Joey Hess
331c97df88
fix MVar deadlock when sqlite commit fails
The database queue was left empty, which caused subsequent calls to
flushDbQueue to deadlock.

Sponsored-by: Dartmouth College's Datalad project
2022-06-06 12:16:55 -04:00
yarikoptic
79446f47c5 Added a comment 2022-06-06 14:50:16 +00:00
yarikoptic
89034adc44 Added a comment 2022-06-06 14:00:05 +00:00
Atemu
4bf7962259 Added a comment 2022-06-05 12:55:04 +00:00
Joey Hess
09edb07ac5
add debugLocks around database operations
to track down a blocked indefinitely on MVar that seems to occur after
sqlite throws ErrorBusy but that I have not been able to reproduce when
I made commits synthetically throw ErrorBusy.

Sponsored-by: Dartmouth College's Datalad project
2022-06-03 14:16:28 -04:00
Joey Hess
b381846fcb
Merge branch 'master' of ssh://git-annex.branchable.com 2022-06-03 14:01:19 -04:00
Joey Hess
8842488bd8
close 2022-06-03 14:00:48 -04:00
yarikoptic
cbd82f768e Added a comment 2022-06-03 16:42:39 +00:00
yarikoptic
f9a7eb2f49 Added a comment 2022-06-03 01:40:17 +00:00
yarikoptic
4a10d8382b Added a comment: still reports about invalid option but doesn't fail 2022-06-03 01:36:39 +00:00
yarikoptic
5f0df3de7e Added a comment: defending BTRFS 2022-06-02 18:43:02 +00:00
Joey Hess
3aac19a169
ping 2022-06-02 12:24:03 -04:00
Joey Hess
7d0acce3c1
comment 2022-06-02 12:22:07 -04:00
Joey Hess
b382b12837
close as hopefully fixed
did not have a good way to reproduce this, but I had a good theory about
a cause and fix..
2022-06-02 12:07:01 -04:00
Joey Hess
fe2f39abbb
close as already fixed 2022-06-02 11:59:26 -04:00
Joey Hess
9750deafe7
comment 2022-06-02 11:57:24 -04:00
Joey Hess
cac752d720
comment 2022-06-01 13:16:56 -04:00
yarikoptic
6eda6ef042 Added a comment 2022-06-01 13:49:05 +00:00
oliv5
943e1160fb Added a comment 2022-06-01 11:16:35 +00:00
oliv5
fec94b21f3 removed 2022-06-01 11:13:43 +00:00
oliv5
5cb21022e2 Added a comment 2022-06-01 10:53:22 +00:00
Lukey
f0dcf17989 Added a comment 2022-06-01 05:27:22 +00:00
web+git-annex@349c5d90cbeb85be6151d508cf84e7b83aa2280e
f37259b968 2022-06-01 04:34:53 +00:00
web+git-annex@349c5d90cbeb85be6151d508cf84e7b83aa2280e
4acf605b61 2022-06-01 00:46:53 +00:00
yarikoptic
75fec2433e Added a comment 2022-05-31 19:17:05 +00:00
yarikoptic
ffa1e0246d Added a comment 2022-05-31 19:07:59 +00:00
Joey Hess
b44b1b4288
comment 2022-05-31 13:32:27 -04:00
Joey Hess
6f9f776661
moreinfo 2022-05-31 13:12:08 -04:00
Joey Hess
2cc1412c35
comment 2022-05-31 13:11:52 -04:00
Joey Hess
652e0d9f94
comment 2022-05-31 12:58:44 -04:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
99e75c40de 2022-05-31 09:39:22 +00:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
3c04b760ea 2022-05-31 09:38:43 +00:00
git-starter@0b262dcdff7a8b29fd90d62290a37dda74630e69
856e644b4e 2022-05-31 09:32:11 +00:00
7thyearold@339ab97e59cee5c85e14df94a5059f251a143e65
646ce54976 Added a comment 2022-05-30 09:52:11 +00:00
7thyearold@339ab97e59cee5c85e14df94a5059f251a143e65
a596e655da 2022-05-30 09:51:11 +00:00
yarikoptic
f69c6a3606 Added a comment: another/different? stall 2022-05-26 14:31:33 +00:00
yarikoptic
94be47ca46 Added a comment: What filesystem is this happening on? 2022-05-25 21:09:38 +00:00
Joey Hess
d072d9cec2
followup 2022-05-25 13:43:33 -04:00
Atemu
2df856370a Added a comment 2022-05-25 12:22:58 +00:00
yarikoptic
63b65d25b5 Added a comment 2022-05-24 21:05:03 +00:00
yarikoptic
2ad21be338 Added a comment 2022-05-24 20:35:58 +00:00
jkniiv
9109e154c9 Added a comment 2022-05-24 02:46:17 +00:00
jkniiv
fd03ce3984 Added a comment 2022-05-23 19:41:27 +00:00
Joey Hess
85f9193167
fix git-annex test -p
test: When limiting tests to run with -p, work around tasty limitation by
automatically including dependent tests.

This fixes a reversion because it didn't used to use dependencies and
forced tasty to run the init tests first. That changed when parallelizing
the test suite.

It will sometimes do a little more work than strictly required,
because it adds init tests deps when limited to eg quickcheck tests,
which don't depend on them. But this only adds a few seconds work.

Sponsored-by: Dartmouth College's Datalad project
2022-05-23 14:24:54 -04:00
Joey Hess
478ed28f98
revert windows-specific locking changes that broke tests
This reverts windows-specific parts of 5a98f2d509
There were no code paths in common between windows and unix, so this
will return Windows to the old behavior.

The problem that the commit talks about has to do with multiple different
locations where git-annex can store annex object files, but that is not
too relevant to Windows anyway, because on windows the filesystem is always
treated as criplled and/or symlinks are not supported, so it will only
use one object location. It would need to be using a repo populated
in another OS to have the other object location in use probably.
Then a drop and get could possibly lead to a dangling lock file.

And, I was not able to actually reproduce that situation happening
before making that commit, even when I forced a race. So making these
changes on windows was just begging trouble..

I suspect that the change that caused the reversion is in
Annex/Content/Presence.hs. It checks if the content file exists,
and then called modifyContentDirWhenExists, which seems like it would
not fail, but if something deleted the content file at that point,
that call would fail. Which would result in an exception being thrown,
which should not normally happen from a call to inAnnexSafe. That was a
windows-specific change; the unix side did not have an equivilant
change.

Sponsored-by: Dartmouth College's Datalad project
2022-05-23 13:21:26 -04:00
jkniiv
99964a6ca8 some of the test log output I should've added; formatting 2022-05-23 13:58:43 +00:00
jkniiv
d15ac38fc1 bug: commit 5a98f2d50 causes two failures to appear in repo tests on Windows 2022-05-22 07:52:54 +00:00
Joey Hess
70f25ad757
comment 2022-05-18 17:01:33 -04:00
Joey Hess
bf2e38c3d7
Merge branch 'master' of ssh://git-annex.branchable.com 2022-05-18 16:52:33 -04:00
Joey Hess
296134f15d
comment 2022-05-18 16:49:38 -04:00
Joey Hess
ec42433e55
datalad metadata 2022-05-18 16:49:27 -04:00
yarikoptic
4e179deb65 get got stuck 2022-05-18 19:48:07 +00:00
Joey Hess
6bf09a38ed
comment and open a todo 2022-05-18 14:57:14 -04:00
yarikoptic
969d499a50 initial report on stuck conflict resolution (adjusted branch) 2022-05-17 12:40:56 +00:00
Ilya_Shlyakhter
d39b92c71c Added a comment: interaction of out-of-tree symlinks with exporttree 2022-05-09 19:21:15 +00:00
Joey Hess
7d25d510e8
comment 2022-05-09 11:31:00 -04:00
Joey Hess
35a2f95ff9
comment 2022-05-09 11:19:34 -04:00
Joey Hess
09c94c3a96
comment 2022-05-09 11:10:35 -04:00
yarikoptic
195b627b10 initial report asking to prevent adjusted branch migration or any other for that sake 2022-05-06 15:25:57 +00:00
mnaoumov
f5c4b470ea Added a comment 2022-05-05 22:44:01 +00:00
yarikoptic
deab526f63 Added a comment: it is still there 2022-05-05 20:22:14 +00:00
Joey Hess
144e5b1cb0
comment 2022-05-05 12:07:04 -04:00
Joey Hess
925648c297
comment 2022-05-05 10:57:17 -04:00
mnaoumov
7f125b3559 2022-05-05 04:05:45 +00:00
Joey Hess
0406c33f58
fix git-annex repair false positive
Avoid treating refs/annex/last-index or other refs that are not commit
objects as evidence of repository corruption.

The repair code checks to find bad refs by trying to run `git log` on
them, and assumes that no output means something is broken.  But git log
on a tree object is empty.

This was worth fixing generally, not as a special case, since it's certainly
possible that other things store tree or other objects in refs.

Sponsored-by: Max Thoursie on Patreon
2022-05-04 11:32:23 -04:00
Ilya_Shlyakhter
d0b1ecf464 Added a comment: should import follow symlinks? 2022-05-03 19:36:10 +00:00
Joey Hess
961d05a90e
comment 2022-05-03 12:26:29 -04:00
Joey Hess
b760d31be1
comment 2022-05-02 14:54:24 -04:00
Joey Hess
31b2213992
comment, retitle 2022-05-02 14:35:07 -04:00
Joey Hess
2ad4679d18
close and comment 2022-05-02 14:26:22 -04:00
Joey Hess
280d41b58f
Fix a build failure with ghc 9.2.2
Thanks, gnezdo for the patch.
2022-05-02 14:21:48 -04:00
Joey Hess
217798f3f1
filter out ExitSuccess
This avoids displaying the unexpected exit codes message when
the list is eg [ExitSuccess, ExitFailure 1].

Sponsored-by: Dartmouth College's Datalad project
2022-05-02 14:09:37 -04:00
Joey Hess
642703c7e4
avoid using removePathForcibly everywhere, it is unsafe
If the temp directory can somehow contain a hard link, it changes the
mode, which affects all other hard linked files. So, it's too unsafe
to use everywhere in git-annex, since hard links are possible in
multiple ways and it would be very hard to prove that every place that
uses a temp directory cannot possibly put a hard link in it.

Added a call to removeDirectoryForCleanup to test_crypto, which will
fix the problem that commit 17b20a2450
was intending to fix, with a much smaller hammer.

Sponsored-by: Dartmouth College's Datalad project
2022-05-02 14:06:20 -04:00
Joey Hess
1b02cd4715
comment 2022-05-02 13:01:37 -04:00
Albert
b4ac551d06 Added a comment: Reproducible Example 2022-04-29 15:57:34 +00:00
Albert
5c467179c4 Added a comment: Minimal Example 2022-04-29 15:14:21 +00:00
yarikoptic
8c6d4863be report about rsync test fail 2022-04-28 14:30:55 +00:00
Albert
143e66e55f 2022-04-26 21:17:11 +00:00
gnezdo
c1885e1457 2022-04-25 16:29:11 +00:00
gnezdo
1037b737d0 Added a comment: Fixed 2022-04-23 21:42:42 +00:00
0nelight
57d53dbe5d 2022-04-20 14:50:18 +00:00
lsmor
e20263c0da 2022-04-19 18:43:25 +00:00
Ilya_Shlyakhter
1072d44dd2 added bug report for git-annex-import importing too much 2022-04-19 18:11:55 +00:00
Joey Hess
17b20a2450
Fix test failure on NFS when cleaning up gpg temp directory
Using removePathForcibly avoids concurrent removal problems.

The i386ancient build still uses an old version of ghc and directory that
do not include removePathForcibly though.

Sponsored-by: Dartmouth College's Datalad project
2022-04-19 13:33:33 -04:00
Joey Hess
fd65de0eb9
multicast: Support uftp 5.0 by switching from aes256-cbc to aes256-gcm
aes256-gcm is supported by both 4.x and 5.x, while 5.x dropped aes256-cbc.

Sponsored-by: Graham Spencer on Patreon
2022-04-19 12:02:10 -04:00
yarikoptic
d93a441326 Added a comment 2022-04-19 14:40:18 +00:00
yarikoptic
238baf5d64 report on cryto test FAIL on NFS 2022-04-19 14:37:43 +00:00
david@62eef13b7e480dc51c94ea50b67ebc0181410cd1
7fcd0dd782 Describe compatibility bug with uftp 5.0 2022-04-16 22:29:25 +00:00
lell
e9b74076a3 Added a comment 2022-04-15 12:05:19 +00:00
Joey Hess
a50a1e8606
commnet 2022-04-04 12:05:21 -04:00
amerlyq
eb4e20c80b Added a comment: TL;DR 2022-04-02 14:13:48 +00:00
amerlyq
93e056b8bc Added a comment: Inode rotation on android /sdcard 2022-04-02 14:00:45 +00:00
Joey Hess
b7c2a8a443
retitle 2022-03-29 14:03:11 -04:00
Joey Hess
150d73c268
fix quickcheck test on windows
prop_relPathDirToFileAbs_basics (TestableFilePath ":/") failed on
windows. The colon was filtered out after trying to make
the path relative, which only removed leading path separators.
So, ":/" changed to "/" which is not relative. Filtering out the colon
before hand avoids this problem.

Sponsored-by: Luke Shumaker on Patreon
2022-03-22 13:53:55 -04:00
jkniiv
e37f0f227b prop_relPathDirToFileAbs_basics has another hickup again in QuickChecks 2022-03-22 17:15:15 +00:00
Joey Hess
e80a578335
comment 2022-03-21 16:00:24 -04:00
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
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
bz4
d219626794 2022-03-21 12:43:08 +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
tag@e36c1c00f7653e4441059bbc5b3405e961379108
7104a7b43e 2022-03-17 14:13:58 +00:00
tag@e36c1c00f7653e4441059bbc5b3405e961379108
75d9368cb2 2022-03-17 14:13:16 +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
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
35e91ecb55 Added a comment 2022-03-11 18:46:40 +00:00
Joey Hess
6f468a8bfc
comment 2022-03-10 13:10:39 -04: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
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
88d5a61fb7
comment 2022-03-08 13:08:16 -04:00
Atemu
6253bd391c Added a comment 2022-03-08 13:24:21 +00:00
Atemu
327d06eb9d Added a comment 2022-03-08 11:56:42 +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
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
85eb26e746 Added a comment 2022-03-07 19:22:54 +00:00
Joey Hess
06c2f625a9
comment 2022-03-07 15:18:30 -04:00
Joey Hess
5804ea67a6
comment; close 2022-03-07 12:03:11 -04: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
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
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
Joey Hess
20875bd5e8
open related todo 2022-02-28 13:26:43 -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
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
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
866cad6582
comment 2022-02-22 12:04:10 -04: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
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
3187639735
retitle 2022-02-21 12:13:59 -04:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
7f167d4be1 Added a comment 2022-02-19 01:15:24 +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
56d180864f
comment 2022-02-18 12:35:49 -04:00
Joey Hess
544eaff1e1
comment 2022-02-18 12:10:55 -04:00
ycp@f118e050dc106530b9cf62ead031e05eef7b1687
49b0a3a1bd Added a comment: I have the same problem 2022-02-16 08:03:05 +00: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
Jakube
90af8c5e99 2022-02-08 20:50:56 +00:00
Jakube
f06265dc8e 2022-02-08 20:46:18 +00:00
Joey Hess
0ae8f45ee5
close wontfix 2022-02-08 13:03:58 -04: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
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
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
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
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
1a9966a14c 2022-02-01 12:27:48 +00: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
chewie@a4440559aa1bc84271fa9c8ef754e402afbd7d0d
dd82f676b0 2022-01-30 18:14:47 +00:00
amerlyq
f9558108cf Added a comment 2022-01-29 15:59:31 +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
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
29e8636a88
comment 2022-01-24 15:16:14 -04:00
yarikoptic
158cb79533 initial report about autoupgrade to 10 instead of 8 2022-01-24 18:50:14 +00: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
fad11c2250
close 2022-01-21 13:00:28 -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
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
Lukey
1c0e04c83c Added a comment 2022-01-13 18:10:22 +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
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
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
amerlyq
39daac8e99 Added a comment 2022-01-07 12:52:35 +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
Joey Hess
0c604e29a4
Merge branch 'master' of ssh://git-annex.branchable.com 2022-01-05 13:10:03 -04:00
Joey Hess
ff33189548
comment 2022-01-05 12:58:19 -04:00
Joey Hess
46d793c8df
comment 2022-01-05 12:18:18 -04:00
amerlyq
aa6534caa7 Added a comment 2022-01-05 15:46:07 +00: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
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
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
4257c23370
update on status 2021-12-27 15:45:22 -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
tim@5431dd39464df207b7d46d3cf1bc74c82123ac68
139683a56d 2021-12-19 16:30:18 +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
50cfc4e71f
comment 2021-12-13 12:46:47 -04: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
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
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
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
jwodder
4b0af2f27b 2021-12-09 14:13:54 +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
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
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
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
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
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
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
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
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
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
rklett
5b6e096f12 2021-11-13 03:59:47 +00: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
iimog@2c22a44141070c04b943932b697818a686859677
173d8d0e51 2021-11-09 15:30:42 +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
Lukey
f32cb96a34 Added a comment 2021-11-08 19:38:35 +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
099e8fe061
close 2021-11-05 12:46:56 -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
ac05422703
comment 2021-11-02 15:24:22 -04:00
Joey Hess
be690a0717
comment 2021-11-02 15:16:15 -04:00
Joey Hess
38ba8cca1b
investigation results
Also, close dup bug.
2021-11-02 15:06:20 -04:00
Joey Hess
438e5b56aa
tighter --json parsing for metadata
metadata --batch --json: Reject input whose "fields" does not consist of
arrays of strings. Such invalid input used to be silently ignored.

Used to be that parseJSON for a JSONActionItem ran parseJSON separately
for the itemAdded, and if that failed, did not propagate the error. That
allowed different items with differently named fields to be parsed.
But it was actually only used to parse "fields" for metadata, so that
flexability is not needed.

The fix is just to parse "fields" as-is. AddJSONActionItemFields is needed
only because of the wonky way Command.MetaData adds onto the started json
object.

Note that this line got a dummy type signature added,
just because the type checker needs it to be some type.
itemFields = Nothing :: Maybe Bool
Since it's Nothing, it doesn't really matter what type it is,
and the value gets turned into json and is then thrown away.

Sponsored-by: Kevin Mueller on Patreon
2021-11-01 14:42:37 -04:00
Joey Hess
80f1354685
metadata --batch: Avoid crashing when a non-annexed file is input
Turns out that CommandStart actions do not have their exceptions caught,
which is why the giveup was causing a crash. Mostly these actions
do not do very much work on their own, but it does seem possible there
are other commands whose CommandStart also throws an exception.

So, my first attempt at a fix was to catch those exceptions. But,
--json-error-messages then causes a difficulty, because in order to output
a json error message, an action needs to have been started; that sets up
the json object that the error message will be included in a field of.

While it would be possible to output an object with just an error field,
this would be json output of a format that the user has no reason to
expect, that happens only in an exceptional circumstance. That is something
I have always wanted to avoid with the json output; while git-annex man
pages don't document what the json looks like, the output has always
been made to be self-describing. Eg, it includes "error-messages":[]
even when there's no errors.

With that ruled out, it doesn't seem a good idea to catch CommandStart
exceptions and display the error to stderr when --json-error-messages
is set. And so I don't know if it makes sense to catch exceptions from that
at all. Maybe I'd have a different opinion if --json-error-messages did not
exist though.

So instead, output a blank line like other batch commands do.
This also leaves open the possibility of implementing support for matching
object with metadata --json, which would also want to output a blank line
when the input didn't match.

Sponsored-by: Dartmouth College's DANDI project
2021-11-01 13:40:43 -04:00
Joey Hess
eb95ed4863
fix addurl concurrency issue
addurl: Support adding the same url to multiple files at the same time when
using -J with --batch --with-files.

Implementation was easier than expected, was able to reuse OnlyActionOn.

While it will download the url's content multiple times, that seems like
the best thing to do; see my comment for why.

Sponsored-by: Dartmouth College's DANDI project
2021-10-27 16:15:41 -04:00
Joey Hess
55bfa414b3
move transfer already in progress message to warning
This makes it be displayed in the error-messages field with
--json-error-messages. And with --quiet, it will let it be displayed,
which makes sense because it's telling the user why what they requested
to do has failed to happen.
2021-10-27 14:46:21 -04:00
Joey Hess
1d0c07a3af
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-27 14:40:41 -04:00
Joey Hess
c1229f959a
comment 2021-10-27 14:40:02 -04:00
jwodder
93cbdf18fe Added a comment 2021-10-27 18:19:23 +00:00
jwodder
2a70a051b0 Added a comment 2021-10-27 18:16:44 +00:00
Joey Hess
82e3eb5af3
comment 2021-10-27 13:55:36 -04:00
Joey Hess
8f3bbaf30f
comment 2021-10-27 12:56:09 -04:00
jwodder
24d6906d3e 2021-10-27 16:08:30 +00:00
jkniiv
77803642bb Added a comment 2021-10-26 23:55:13 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
c4c01719b9 2021-10-26 22:37:52 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
a50bd7b2b9 Added a comment 2021-10-26 20:13:19 +00:00
Joey Hess
b2c48fb86b
Fix using lookupkey inside a subdirectory
Caused by dirContains ".." "foo" being incorrectly False.

Also added a test of dirContains, which includes all the previous bug fixes
I could find and some obvious cases.

Reversion in version 8.20211011

Sponsored-by: Brett Eisenberg on Patreon
2021-10-26 15:00:45 -04:00
Joey Hess
91eb393df4
comment 2021-10-26 14:25:28 -04:00
Joey Hess
5a9e6b1fd4
when private journal file exists, still read from git-annex branch
Fix bug that caused stale git-annex branch information to read when
annex.private or remote.name.annex-private is set.

The private journal file should not prevent reading more current
information from the git-annex branch, but used to.

Note that, overBranchFileContents has to do additional work now, when
there's a private journal file, it reads from the branch redundantly
and more slowly.

Sponsored-by: Jack Hill on Patreon
2021-10-26 13:43:50 -04:00
Lukey
0a04986ac8 Added a comment 2021-10-25 10:25:05 +00:00
Lukey
9f1bf48696 2021-10-25 10:16:35 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
b2c797e35b Added a comment 2021-10-24 21:23:56 +00:00
jwodder
be3cf1115e 2021-10-24 19:21:54 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
201ac941a7 2021-10-21 21:24:24 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
f9e09277c5 2021-10-21 17:17:42 +00:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
efaa1fe94a Added a comment 2021-10-21 08:24:55 +00:00
jwodder
471464e4a0 2021-10-21 04:54:26 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
f8faeabb70 Added a comment 2021-10-21 02:09:02 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
ae80b1214c Added a comment 2021-10-21 02:06:50 +00:00
jwodder
c6d1c7d209 2021-10-21 01:35:48 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
67baa63e5b Added a comment 2021-10-20 22:54:39 +00:00
Joey Hess
6bed8ccbd1
comment 2021-10-20 15:25:35 -04:00
git-annex.visiteur@e9d364191d2ffc1b163c8d9e4c57dbadf58aad8e
16b08ffcd9 Added a comment: Same problem with git-annex 8.20210223 2021-10-20 19:09:29 +00:00
Joey Hess
cb9c54ab25
comment 2021-10-20 13:57:44 -04:00
Joey Hess
dfe5a98286
update 2021-10-20 13:48:37 -04:00
Joey Hess
2801528eb2
oops, I misread, still happens for adjusted branches 2021-10-20 13:45:56 -04:00
Joey Hess
3f3a2d290f
linked bugs 2021-10-20 13:39:13 -04:00
Joey Hess
fe734210eb
comment 2021-10-20 13:24:46 -04:00
Joey Hess
95032bfae7
update per other comment 2021-10-20 13:12:16 -04:00
Joey Hess
77c0892e27
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-20 13:07:09 -04:00
Joey Hess
7b48ce60ef
comment 2021-10-20 13:06:51 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
2ae821e458 Added a comment 2021-10-20 14:42:33 +00:00
gitannexuser2021
cf08ac583a Added a comment: Still seeing the issue. 2021-10-19 22:37:45 +00:00
Joey Hess
f4bdecc4ec
improve sqlite MultiWriter handling of read after write
This removes a messy caveat that was easy to forget and caused at least one
bug. The price paid is that, after a write to a MultiWriter db, it has to
close the db connection that it had been using to read, and open a new
connection. So it might be a little bit slower. But, writes are usually
batched together, so there's often only a single write, and so there should
not be much of a slowdown. Notice that SingleWriter already closed the db
connection after a write, so paid the same overhead.

This is the second try at fixing a bug: git-annex get when run as the first
git-annex command in a new repo did not populate all unlocked files.
(Reversion in version 8.20210621)

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-10-19 15:13:29 -04:00
Joey Hess
c49b7c976d
reopen 2021-10-19 13:16:29 -04:00
Joey Hess
0f38ad9a69
close keys db to possibly work around WSL1 issue 2021-10-19 13:07:49 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
6d53f52092 Added a comment 2021-10-17 01:14:18 +00:00
Joey Hess
29d687dce9
When retrival from a chunked remote fails, display the error that occurred when downloading the chunk
Rather than the error that occurred when trying to download the unchunked
content, which is less likely to actually be stored in the remote.

Sponsored-by: Boyd Stephen Smith Jr. on Patreon
2021-10-14 12:45:05 -04:00
Joey Hess
3b5ac2d0d1
close per comment 2021-10-12 13:42:55 -04:00
Joey Hess
b117f9338d
open todo 2021-10-12 13:42:08 -04:00
Joey Hess
c2a44eab50
move gpg tmp home to system temp dir
test: Put gpg temp home directory in system temp directory, not filesystem
being tested.

Since I've found indications gpg can fail talking to the agent when the
socket ends up on eg, fat. And to hopefully fix this bug report I've
followed up on.

The main risk in using the system temp dir is that TMPDIR could be set to a
long directory path, which is too long to put a unix socket in. To
partially amelorate that risk, it uses either an absolute or a relative
path, whichever is shorter. (Hopefully gpg will not convert it to a longer
form of the path..)

If the user sets TMPDIR to something so long a path to it +
"S.gpg-agent" is too long, I suppose that's their issue to deal with.

Sponsored-by: Dartmouth College's Datalad project
2021-10-12 13:29:56 -04:00
Joey Hess
1b79f2404d
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-08 13:27:23 -04:00
Joey Hess
022bb6174c
Merge branch 'borgchunks' 2021-10-08 13:26:45 -04:00
Joey Hess
69f8e6c7c0
ImportableContentsChunkable
This improves the borg special remote memory usage, by
letting it only load one archive's worth of filenames into memory at a
time, and building up a larger tree out of the chunks.

When a borg repository has many archives, git-annex could easily OOM
before. Now, it will use only memory proportional to the number of
annexed keys in an archive.

Minor implementation wart: Each new chunk re-opens the content
identifier database, and also a new vector clock is used for each chunk.
This is a minor innefficiency only; the use of continuations makes
it hard to avoid, although putting the database handle into a Reader
monad would be one way to fix it.

It may later be possible to extend the ImportableContentsChunkable
interface to remotes that are not third-party populated. However, that
would perhaps need an interface that does not use continuations.

The ImportableContentsChunkable interface currently does not allow
populating the top of the tree with anything other than subtrees. It
would be easy to extend it to allow putting files in that tree, but borg
doesn't need that so I left it out for now.

Sponsored-by: Noam Kremen on Patreon
2021-10-08 13:15:22 -04:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
392a886263 Added a comment 2021-10-07 06:21:25 +00:00
asakurareiko@f3d908c71c009580228b264f63f21c7274df7476
50c2bd49e5 Added a comment 2021-10-06 21:10:34 +00:00
Joey Hess
e9b0cf08eb
branch 2021-10-06 17:08:57 -04:00
Joey Hess
153f3600fb
progress in my head 2021-10-06 14:45:12 -04:00
Joey Hess
68b4fc6018
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-05 20:28:26 -04:00
Joey Hess
19e78816f0
convert Key to ShortByteString
This adds the overhead of a copy when serializing and deserializing keys.
I have not benchmarked much, but runtimes seem barely changed at all by that.

When a lot of keys are in memory, it improves memory use.

And, it prevents keys sometimes getting PINNED in memory and failing to GC,
which is a problem ByteString has sometimes. In particular, git-annex sync
from a borg special remote had that problem and this improved its memory
use by a large amount.

Sponsored-by: Shae Erisson on Patreon
2021-10-05 20:20:08 -04:00
Joey Hess
012b71e471
comment and correct incorrect info in previous comment 2021-10-05 19:05:20 -04:00
tomdhunt
a40f70b388 Added a comment 2021-10-05 22:07:45 +00:00
tomdhunt
3718dc0fbe Added a comment 2021-10-05 21:30:03 +00:00
Joey Hess
250c031d06
comment 2021-10-05 17:20:32 -04:00
Joey Hess
1d23d8463a
update 2021-10-05 16:51:54 -04:00
Joey Hess
fac1954b60
Merge branch 'master' of ssh://git-annex.branchable.com 2021-10-05 16:33:44 -04:00
Joey Hess
c69a5af531
comment 2021-10-05 16:32:10 -04:00
tomdhunt
f72ac0249a Added a comment 2021-10-05 19:08:23 +00:00
Joey Hess
45dfddd33f
convert ExportLocation to ShortByteString to avoid PINNED memory fragmentation
This adds the overhead of a copy whenever converting to/from ExportLocation and
ImportLocation.

borg: Some improvements to memory use when importing a lot of archives.
(It's still pretty bad.)

Sponsored-by: Mark Reidenbach on Patreon
2021-10-05 14:51:55 -04:00
Joey Hess
8b4f331b09
update 2021-10-05 13:24:31 -04:00
Joey Hess
368ceb93fe
comment 2021-10-05 13:11:20 -04:00
Joey Hess
a8ceb2b64e
promote comment to bug 2021-10-05 11:55:33 -04:00
jkniiv
0d664d0d33 Added a comment 2021-10-02 19:58:17 +00:00
Joey Hess
b9a1cc512d
avoid uncessary call to inAnnex
sync --content: Avoid a redundant checksum of a file that was
incrementally verified, when used on NTFS and perhaps other filesystems.

When sync has just gotten the content, it does not need to check inAnnex a
second time. On NTFS, for some reason the write of the inode cache after
it gets the content is not immediately able to be read, and with an
empty/non-matching inode cache due to that stale data, inAnnex falls back
to hashing the whole object to determine if it's present.

Sponsored-by: Brock Spratlen on Patreon
2021-10-01 12:02:35 -04:00
Joey Hess
17a31f8e1b
analysis 2021-10-01 11:49:12 -04:00
Joey Hess
42c6bc6c3e
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-30 15:20:59 -04:00
Joey Hess
620685c73c
started analysis 2021-09-30 15:20:44 -04:00
jkniiv
a57c4f4482 Added a comment: Email resent from my personal domain jibun.eu 2021-09-30 18:22:44 +00:00
Joey Hess
8f3f25337a
comment 2021-09-30 12:52:02 -04:00
jkniiv
e01676a25c Added a comment 2021-09-29 04:38:08 +00:00
Joey Hess
07e160e589
comment 2021-09-28 17:58:10 -04:00
Joey Hess
2d154bfa54
comment 2021-09-28 16:33:21 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
3ee5df48a5 Added a comment 2021-09-28 19:19:20 +00:00
Joey Hess
5802edb16c
comment 2021-09-28 14:14:37 -04:00
Joey Hess
6c7c568a27
response 2021-09-28 14:09:56 -04:00
Joey Hess
d322de3cc7
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-28 14:00:44 -04:00
Joey Hess
824b147286
followup 2021-09-28 14:00:10 -04:00
adina.wagner@2a4cac6443aada2bd2a329b8a33f4a7b87cc8eff
3194b6ed35 Added a comment 2021-09-28 12:53:14 +00:00
Joey Hess
5bc83b52d8
comment 2021-09-27 12:35:15 -04:00
Joey Hess
0e2e7b143f
comment 2021-09-27 12:18:30 -04:00
Joey Hess
03963f8099
response 2021-09-27 12:14:25 -04:00
Joey Hess
a2222b5259
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-25 11:17:45 -04:00
jkniiv
d4627d91a1 Added a comment 2021-09-25 06:05:40 +00:00
jkniiv
c688d549d7 Added a comment 2021-09-25 05:47:16 +00:00
Joey Hess
91eb8a5df5
comment 2021-09-24 18:33:34 -04:00
bmx007@171b90624bc8f788a2a925a00b98aef5942e4787
177de6f8e5 Added a comment: comment 2 2021-09-24 20:08:22 +00:00
Joey Hess
c65a87c7d5
formatting 2021-09-24 14:21:55 -04:00
Joey Hess
ee16a8ea11
respond and close as not a bug 2021-09-24 14:20:40 -04:00
Joey Hess
a4a6fa1641
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-24 14:15:46 -04:00
Joey Hess
9ea8106bb0
sped up git-annex smudge --clean by 25%
Disabling git-annex branch update for this command is
ok, because it does not use any information from the branch,
but only logs the location when it adds a key.

Sponsored-by: Dartmouth College's Datalad project
2021-09-24 14:15:20 -04:00
weinzwang
d712ed516a Added a comment 2021-09-23 21:40:51 +00:00
Joey Hess
e6c0bbd645
Merge branch 'master' of ssh://git-annex.branchable.com 2021-09-23 17:23:24 -04:00
Joey Hess
9c8f43ab69
comment 2021-09-23 17:23:06 -04:00
bmx007
6c3baa55ca 2021-09-23 19:18:49 +00:00
mih
300d7db57a Added a comment: v7 v v8 comparison 2021-09-23 06:29:30 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
3751fc0af4 Added a comment 2021-09-22 21:18:10 +00:00
Joey Hess
94a9116175
comment 2021-09-22 16:28:06 -04:00
Joey Hess
db2f364359
followup 2021-09-22 15:31:04 -04:00
mih
0f38387d60 Added a comment: Performance stats on crippled Debian NTFS-mount 2021-09-22 18:37:10 +00:00
Joey Hess
63d508e885
resume properly when copying a file to/from a local git remote is interrupted
Probably this fixes a reversion, but I don't know what version broke it.

This does use withOtherTmp for a temp file that could be quite large.
Though albeit a reflink copy that will not actually take up any space
as long as the file it was copied from still exists. So if the copy cow
succeeds but git-annex is interrupted just before that temp file gets
renamed into the usual .git/annex/tmp/ location, there is a risk that
the other temp directory ends up cluttered with a larger temp file than
later. It will eventually be cleaned up, and the changes of this being
a problem are small, so this seems like an acceptable thing to do.

Sponsored-by: Shae Erisson on Patreon
2021-09-21 17:43:35 -04:00
Joey Hess
c9dd63d67d
comment 2021-09-21 13:45:16 -04:00
Joey Hess
d7374f0629
close as dup 2021-09-21 13:31:42 -04:00
Joey Hess
72b5c1dca7
comment 2021-09-21 11:30:15 -04:00
mih
5a1387916e 2021-09-21 09:22:19 +00:00
weinzwang
3916e32492 fixed a typo 2021-09-19 21:46:42 +00:00
weinzwang
9eceb418c4 2021-09-19 16:02:33 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
2a0633f445 Added a comment 2021-09-10 14:41:17 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
3ec365abbc Added a comment 2021-09-10 14:28:23 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
cd54a8c916 2021-09-10 13:57:53 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
6f9181df12 2021-09-10 13:56:58 +00:00
Joey Hess
853babc596
response and close 2021-09-08 12:12:11 -04:00
anarcat
478d7aa937 some weird corner case that might be handled a little better? 2021-09-07 14:25:38 +00:00
Joey Hess
166e00b7c9
retitle 2021-09-06 15:32:53 -04:00
Joey Hess
0dc203b7c5
followup 2021-09-06 15:32:15 -04:00
Joey Hess
9b2c88cdaf
close 2021-09-06 14:27:15 -04:00
hoxu
36dfec099e 2021-09-04 10:32:00 +00:00
Joey Hess
f5b0bb33f1
close 2021-09-03 11:54:45 -04:00
Joey Hess
4208512e99
comment 2021-09-03 11:52:35 -04:00
Joey Hess
1d3f59a9db
close dup 2021-09-02 18:50:05 -04:00
Joey Hess
ec12537774
defer write permissions checking in import until after copy to repo
This should complete the fix started in
6329997ac4, fixing the actual cause of the
test suite failure this time.

Sponsored-by: Dartmouth College's Datalad project
2021-09-02 13:45:21 -04:00
Joey Hess
7b26222cbe
comment 2021-09-02 12:58:46 -04:00
Joey Hess
2241c7e879
reopen 2021-09-02 12:24:03 -04:00
Joey Hess
bd5494bb9c
fix windows build 2021-09-02 12:21:25 -04:00
jwodder
40adf643de 2021-09-02 14:48:00 +00:00
scy
ddd7d1d110 Added a comment 2021-09-02 08:17:03 +00:00
jkniiv
2bbfe30226 Added a comment 2021-09-02 05:24:14 +00:00
jkniiv
86b5b4d805 add author meta 2021-09-02 04:39:12 +00:00
jkniiv
f34bc033a1 commit 9595a247a doesn't compile on Windows without reverting a small previous change 2021-09-02 04:29:16 +00:00
yarikoptic
89ace6f1da Added a comment 2021-09-01 18:05:26 +00:00
yarikoptic
61432f97cd Added a comment 2021-09-01 16:22:22 +00:00
Joey Hess
9cd1430fd6
comment 2021-09-01 11:43:51 -04:00
yarikoptic
5f78f96d2b Added a comment: clarification 2021-09-01 15:39:06 +00:00
Joey Hess
9595a247ae
fix test suite failure on windows
This was maybe a real bug too, although I don't know what circumstances
it would be a problem. See comment for analysis of this windows drive
letter wackyness issue.

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

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

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

(Reversion in version 8.20210621)

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

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

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

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

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

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

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

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

Sponsored-by: Brock Spratlen on Patreon
2021-07-30 18:36:03 -04:00
Joey Hess
c912e7c4fd
bug 2021-07-30 17:13:15 -04:00
Joey Hess
461035c6ec
close
I'm now reasonably sure I've identified both cases where this can
happen. v8 upgrades and certian filesystems eg NFS. Both are handled as
well as can be, though it may involve some extra checksumming work.
2021-07-30 15:22:22 -04:00
Joey Hess
66089e97de
Fix a rounding bug in display of data sizes
Eg, showImprecise 1 1.99 returned "1.1" rather than "2". The 9 rounded
upward to 10, and that was wrongly used as the decimal, rather than
carrying the 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sponsored-by: Jack Hill on Patreon
2021-06-25 13:17:04 -04:00
Joey Hess
0fe550af75
fix windows build 2021-06-22 09:46:06 -04:00
jwodder
4b93e933db 2021-06-22 13:21:17 +00:00