Commit graph

10114 commits

Author SHA1 Message Date
Joey Hess
c59a51a065
discard any exception thrown while trying to kill worker threads
Since there's a race here, and since Kyle saw an exception leak out,
which I have not been able to reproduce that. See my comment for what
I think might be going on.

Note that, I used tryNonAsync, because it seems a later tryNonAsync
caught the exception. I don't actually understand how it did, as I
understand exception classification, it's the data type, not the way it
was thrown. One possibility is that the async exception may have been wrapped
in some other, non-async exception, and Show displayed it the same way.
2020-08-10 16:24:51 -04:00
Joey Hess
0da4150453
Merge branch 'master' of ssh://git-annex.branchable.com 2020-08-10 16:03:59 -04:00
Joey Hess
d48049bdd8
comment 2020-08-10 16:03:46 -04:00
kyle
5236f3c773 Added a comment 2020-08-10 19:48:03 +00:00
Joey Hess
c565267118
fix order 2020-08-10 15:38:31 -04:00
Joey Hess
70d2ba03ca
Merge branch 'master' of ssh://git-annex.branchable.com 2020-08-10 15:37:54 -04:00
Joey Hess
d53b88d4e4
comment 2020-08-10 15:37:25 -04:00
Joey Hess
a354263a19
document preferred content for import/export 2020-08-10 15:35:26 -04:00
kyle
59a8698a20 Added a comment 2020-08-10 19:01:37 +00:00
kyle
8beb30e84b Added a comment 2020-08-10 18:56:03 +00:00
Joey Hess
4b05293737
comment 2020-08-10 14:42:38 -04:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
dd670639ac Added a comment 2020-08-10 18:42:15 +00:00
Joey Hess
8a94f2ccd5
response 2020-08-10 14:35:20 -04:00
Joey Hess
ff7d8b45ac
tag moreinfo 2020-08-10 14:12:07 -04:00
Joey Hess
23dc611a0d
Merge branch 'master' of ssh://git-annex.branchable.com 2020-08-10 14:09:24 -04:00
Joey Hess
cd49565b71
comment 2020-08-10 13:52:18 -04:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
b2d3789a83 Added a comment 2020-08-10 17:25:11 +00:00
Joey Hess
bcbdada8bf
fixed 2020-08-10 13:12:55 -04:00
Joey Hess
f0f3f4db90
comment 2020-08-10 12:57:05 -04:00
Joey Hess
02ba6f94a2
comment 2020-08-10 12:51:17 -04:00
Joey Hess
2cbebab554
improve docs and close bug 2020-08-10 12:37:25 -04:00
arnaud@c1d1cc612a3921dc06a417301be08a3e125478c4
e0df81c6c0 2020-08-10 14:46:20 +00:00
hdclark@be373988ada6dc692f87a8eefdd600432e54f7d4
2c369fad26 Added a comment: This occurs on 9P filesystem too 2020-08-07 20:41:10 +00:00
cardoso-neto
04e34a039e Added a comment: Understood. 2020-08-07 02:24:47 +00:00
Joey Hess
0948ef81f6
Merge branch 'master' of ssh://git-annex.branchable.com 2020-08-06 20:14:58 -04:00
Joey Hess
506ffea5e6
stop symlink check once the top of the working tree is reached
Avoid complaining that a file with "is beyond a symbolic link" when the
filepath is absolute and the symlink in question is not actually inside the
git repository.

This assumes that inodes remain stable while the command is running.
I think they always will, the filesystems where they are unstable change
them across mounts. (If inodes were not stable, it would just complain about
symlinks in the path that are not inside the working tree.)

(On windows, I don't want to assume anything about inodes, they could be
random numbers for all I know. But if they were, this would still be ok, as
long as windows doesn't have symlinks that are detected by isSymbolicLink.
Which seems a fair bet.)
2020-08-06 20:14:30 -04:00
kyle
683f527b3b Added a comment 2020-08-06 20:58:21 +00:00
Joey Hess
a358eb1faa
comment 2020-08-06 14:38:06 -04:00
Joey Hess
62214244d3
Merge branch 'master' of ssh://git-annex.branchable.com 2020-08-06 13:52:19 -04:00
Joey Hess
5d380c6c5c
when workTreeItems finds a problem with a parameter, don't go on to process it
Part of workTreeItems is trying detect a case
where git porcelain refuses to process a file, and where
git ls-files silently outputs nothing. But, it's hard to perfectly
replicate git's behavior, and besides, git's behavior could change.
So it could be that we warn, but then git ls-files does not skip over
it, and so git-annex also processes it after warning about it.

So, if we think we have a problem with a parameter, display the warning,
and skip processing it at all.

Implementing this was complicated by needing to handle the case where
all command-line parameters get filtered out this way. Which is
different than the case where there are none, because we don't want to
operate on all files in this new case..
2020-08-06 13:47:45 -04:00
Joey Hess
8312cac018
comment and moreinfo 2020-08-06 11:30:44 -04:00
Joey Hess
e2a662892e
forgot to close this earlier 2020-08-06 11:22:42 -04:00
cardoso-neto
860b1f9f17 Create bug report thread on ungraceful exit after cwd being moved/baleeted 2020-08-06 02:55:32 +00:00
Joey Hess
283d2f85d1
importfeed: Fix reversion that caused some '.' in filenames to be replaced with '_'
sanitizeFilePath was changed to sanitize leading '.', but ImportFeed was
running it on parts of the template. So eg the leading '.' in the extension
got sanitized.

Note the added case for sanitizeLeadingFilePathCharacter ('/':_)
-- this was added because, if the template is title/episode and the title
is not set, it would expand to "/episode". So this is another potential
security fix.
2020-08-05 11:35:00 -04:00
madalu
d8517d6cfc Reporting importfeed filename bug 2020-08-04 17:19:06 +00:00
git-annex.branchable.com@79d6855760f61f7fbe0a401b45d8c791ef49b500
465842f3f6 Added a comment 2020-08-02 23:41:33 +00:00
yarikoptic
5a5e13e972 Added a comment 2020-08-02 01:31:53 +00:00
kyle
d844d0a1b7 Added a comment 2020-07-31 21:20:10 +00:00
Joey Hess
5a5873e052
fix bug caught by test suite 2020-07-31 16:11:50 -04:00
kyle
7bae35d840 prop_isomorphic_key_encode test failure 2020-07-30 17:51:20 +00:00
leej
2105c6e9a7 Added a comment 2020-07-28 14:58:00 +00:00
nicholsn
60f3626338 Added a comment: Thank you 2020-07-28 03:57:34 +00:00
kyle
8a594395f3 'beyond symlink' error for upstream link 2020-07-27 19:37:13 +00:00
Joey Hess
2e702960ab
followup and close 2020-07-27 11:33:47 -04:00
leej
e8135f27ef 2020-07-25 00:15:34 +00:00
Joey Hess
00c5f04f20
Deal with unusual IFS settings in the shell scripts for linux standalone and OSX app.
Thanks, Yaroslav Halchenko
2020-07-24 14:46:50 -04:00
Joey Hess
3627f03996
comment 2020-07-24 14:36:50 -04:00
Joey Hess
79187a6eaf
Revert "Unset IFS in shell scripts in the linux standalone build and OSX app."
This reverts commit 24125e8dc4.

yoh has a better patch I see
2020-07-24 14:33:13 -04:00
Joey Hess
24125e8dc4
Unset IFS in shell scripts in the linux standalone build and OSX app. 2020-07-24 14:31:11 -04:00
yarikoptic
d7e04e5e3a Added a comment 2020-07-24 15:22:40 +00:00
yarikoptic
4ff59a85d5 report on intolerance of IFS 2020-07-24 01:42:59 +00:00
karel-de-macil
39337c604b 2020-07-23 10:30:35 +00:00
karel-de-macil
8325db46a6 2020-07-23 10:28:43 +00:00
kyle
155b56f015 Added a comment 2020-07-22 16:12:25 +00:00
kyle
0538dc425c Added a comment 2020-07-22 16:01:05 +00:00
Joey Hess
aa492bc659
Fix a hang when using git-annex with an old openssh 7.2p2
This does mean a 2 second delay after transfers when using that ssh, but
it's an old and apparently quite weirdly broken version of ssh.
2020-07-22 11:04:33 -04:00
Joey Hess
afaae84f49
comment 2020-07-21 16:50:26 -04:00
Joey Hess
cb74cefde7
Fix a hang when using git-annex with an old openssh 7.2p2
Which had some weird inheriting of ssh FDs by sshd.

Bug was introduced in git-annex version 7.20200202.7.
2020-07-21 16:14:25 -04:00
Joey Hess
ac56a5c2a0
Fix a lock file descriptor leak that could occur when running commands like git-annex add with -J
Bug was introduced as part of a different FD leak fix in version 6.20160318.
2020-07-21 15:30:47 -04:00
Joey Hess
fd8339005a
update 2020-07-21 14:44:07 -04:00
Joey Hess
77f7157ddb
analysis 2020-07-21 10:30:46 -04:00
Joey Hess
4de4c36d2b
dup 2020-07-21 10:07:23 -04:00
Joey Hess
abd56fb019
Fix a bug in find --batch in the previous version. 2020-07-20 19:50:53 -04:00
gueux
225fd08b6d Added a comment 2020-07-20 06:45:25 +00:00
Joey Hess
889603336a
fix reversion in skipping deleted files
And add a test case for that.

This certianly loses some of the 2x performance improvement in file
seeking that seekFilteredKeys led to, because now it has to stat the
worktree files again. Without benchmarking, I expect there will still be
a sizable improvement, and also the git-annex branch precaching that
seekFilteredKeys can do will still be a win of its approach.

Also worth noting that lookupKey, when the file DNE, check if it's in an
adjusted branch with hidden files, and if so, finds the key for the
file anyway. That was intended to make git-annex sync --content be able
to process those files, but a side effect was that, when a file was
deleted but the deletion not yet staged, git-annex commands used to
still list it. That was actually a bug. This commit fixes that bug too.
(git-annex sync --content on such a branch does not use seekFilteredKeys
so was not affected by the reversion or by this behavior change)

This commit was sponsored by Jake Vosloo on Patreon.
2020-07-19 21:25:01 -04:00
Joey Hess
b5590e916e
analysis 2020-07-19 20:14:49 -04:00
Joey Hess
1489fbbdde
bug 2020-07-19 18:26:57 -04:00
kyle
f818da2f85 bug: find --batch regression 2020-07-16 21:53:14 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
059d56659b Added a comment: GIT_TRACE=1 debug shows smudge --clean is run twice per file 2020-07-16 17:06:13 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
1836f7a318 2020-07-16 16:32:41 +00:00
Joey Hess
ebdbb87716
comment 2020-07-15 16:11:34 -04:00
kyle
e8197c9e74 fixed elsewhere 2020-07-15 16:35:46 +00:00
Joey Hess
aa44126bc0
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-15 11:27:38 -04:00
Joey Hess
a7156b875c
fix fsck reversion
75aab72d23 made fsck skip files whose
content is not present, but it should complain if there are not enough
copies.
2020-07-15 11:21:43 -04:00
Joey Hess
32c847d1a1
analysis 2020-07-15 11:13:02 -04:00
Joey Hess
5d59bb9554
add 2020-07-15 10:58:45 -04:00
nolan.nichols@fe8d6ffa163484d0632235838db69df04538caf1
af6088bcba 2020-07-15 03:32:24 +00:00
kyle
e55263046f tag issue 2020-07-15 00:58:03 +00:00
kyle
8c65cab4c6 recent test failures 2020-07-15 00:52:39 +00:00
kyle
ed99f652fa Added a comment 2020-07-14 19:18:10 +00:00
Joey Hess
e223ddb774
comments 2020-07-13 17:52:03 -04:00
Joey Hess
c893743819
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-13 17:13:02 -04:00
kyle
592548a843 Added a comment 2020-07-13 19:27:18 +00:00
kyle
b94481a3b9 Added a comment 2020-07-13 19:04:45 +00:00
Joey Hess
f34edf0011
close 2020-07-13 13:27:43 -04:00
Joey Hess
4dd5cfa463
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-13 13:26:28 -04:00
Joey Hess
8219dbcb95
comment 2020-07-13 13:25:10 -04:00
Joey Hess
ba345e90b5
test metadata 2020-07-13 12:53:09 -04:00
kyle
800b36ccff Added a comment 2020-07-13 16:50:37 +00:00
kyle
ed7afd4f6d Added a comment 2020-07-13 16:46:54 +00:00
Joey Hess
918b1faa3d
avoid hanging on exception 2020-07-13 12:36:15 -04:00
Joey Hess
bff5694f55
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-13 12:18:05 -04:00
Joey Hess
1b2f29b207
comment 2020-07-13 12:16:48 -04:00
kyle
575317a444 metadata --remove hang on 88a7fb5cb 2020-07-11 01:12:31 +00:00
kyle
780f8675f6 git-annex-init hang on older systems 2020-07-10 20:57:47 +00:00
Joey Hess
a7fcda861f
comment 2020-07-10 16:09:13 -04:00
barak
7397bd75ea 2020-07-10 19:52:11 +00:00
kyle
a5142499ce rsync hang 2020-07-07 15:26:38 +00:00
Joey Hess
d66fc1a464
Revert "async exception safety for coprocesses"
This reverts commit 7013798df5.
2020-07-06 15:11:28 -04:00
Joey Hess
6b8c961e1f
some analysis but stuck 2020-07-06 14:46:05 -04:00
Joey Hess
0518b62d2b
update 2020-07-06 12:58:29 -04:00
Joey Hess
27bbeea00e
close 2020-07-06 10:49:06 -04:00
petersjt014@c20995a2e26a13566cd49aef30a99a7dff732a4e
ba209702c1 Added a comment: tor remote 2020-07-03 07:33:54 +00:00
Joey Hess
a3e125c1fe
move to re-notify 2020-07-02 20:05:54 -04:00
Joey Hess
8fc9788363
fix commment 2020-07-02 20:05:36 -04:00
kyle
a379ea833e Added a comment 2020-07-02 20:07:10 +00:00
Joey Hess
629026bdbc
followup 2020-07-02 15:06:00 -04:00
Joey Hess
d8ad2204c7
comment 2020-07-02 14:43:52 -04:00
Joey Hess
f912f8e5fd
refix bug in a better way
Always run Git.Config.store, so when the git config gets reloaded,
the override gets re-added to it, and changeGitRepo then calls extractGitConfig
on it and sees the annex.* settings from the override.

Remove any prior occurance of -c v and add it to the end. This way,
-c foo=1 -c foo=2 -c foo=1 will pass -c foo=1 to git, rather than -c foo=2

Note that, if git had some multiline config that got built up by
multiple -c's, this would not work still. But it never worked because
before the bug got fixed in the first place, the -c value was repeated
many times, so the multivalue thing would have been wrong. I don't think
-c can be used with multiline configs anyway, though git-config does
talk about them?
2020-07-02 13:32:33 -04:00
Joey Hess
ec0f8a6e74
Fix reversion that broke passing git configs with -c
Reverting commit c8fec6ab0
2020-07-02 12:42:13 -04:00
Joey Hess
0b5515899b
comment 2020-07-02 12:18:02 -04:00
Joey Hess
fe1f4632a4
Merge branch 'master' of ssh://git-annex.branchable.com 2020-07-02 10:00:11 -04:00
B
d409f92318 Added a comment: Workaround 2020-07-02 12:51:41 +00:00
Joey Hess
117bd04693
more details 2020-07-01 16:20:37 -04:00
Ilya_Shlyakhter
afc705f7c8 Added a comment: adding files also fails 2020-07-01 19:51:34 +00:00
Ilya_Shlyakhter
2db76f8144 added bug report about git-annex-init on a repo in VirtualBox shared folder 2020-07-01 19:39:14 +00:00
https://bmwiedemann.zq1.de/
e3d091f12c Added a comment 2020-07-01 02:47:05 +00:00
kyle
9bd56b5494 Added a comment 2020-06-30 21:24:56 +00:00
Joey Hess
33c26988f6
comment 2020-06-30 17:21:17 -04:00
Joey Hess
4af5fc3505
fixed oops 2020-06-30 17:16:29 -04:00
Joey Hess
3935ce8be5
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-30 17:15:31 -04:00
Joey Hess
5891e10409
bug report 2020-06-30 16:40:08 -04:00
https://bmwiedemann.zq1.de/
814698bd53 Added a comment 2020-06-30 19:47:35 +00:00
kyle
80bb42a3ca stack build failure 2020-06-30 19:08:32 +00:00
kyle
59e64842a7 Added a comment 2020-06-30 16:26:17 +00:00
kyle
e4e28452a0 annex-ssh-options regression 2020-06-30 15:48:03 +00:00
https://bmwiedemann.zq1.de/
68549767e9 Added a comment 2020-06-30 15:26:10 +00:00
Joey Hess
7a4253a155
followup and close as this is intentional 2020-06-30 10:41:26 -04:00
Joey Hess
6780648bba
comment 2020-06-30 10:20:27 -04:00
https://bmwiedemann.zq1.de/
95b8b4a5af 2020-06-29 14:02:17 +00:00
Joey Hess
7203353e24
comment 2020-06-26 12:18:18 -04:00
yarikoptic
ff8e9f4b5f Added a comment 2020-06-26 14:22:25 +00:00
yarikoptic
50bf73f043 initial report on an odd fail 2020-06-26 14:17:56 +00:00
Joey Hess
b38cc371ad
close per comments 2020-06-24 12:53:13 -04:00
Joey Hess
1b1863673b
close as dup 2020-06-24 12:50:19 -04:00
Joey Hess
725b1395b0
close, fixed 3 years ago 2020-06-24 12:48:46 -04:00
Joey Hess
5eeac2a9c9
close 2020-06-24 12:40:37 -04:00
Joey Hess
f744882e34
comment 2020-06-24 12:37:10 -04:00
Joey Hess
86968e366c
open bug 2020-06-23 17:07:46 -04:00
Joey Hess
e2f739b0c8
comment and close 2020-06-22 14:38:09 -04:00
Joey Hess
b904748ee3
guess yoh meant projects/datalad here, not projects/yoh 2020-06-22 14:26:33 -04:00
Joey Hess
5098236c6b
testremote: Fix over-allocation of resources and bad caching
Including starting up a large number of external special remote processes.
(Regression introduced in version 8.20200501)
2020-06-22 14:25:49 -04:00
ink
a6fffac9ae 2020-06-20 10:45:24 +00:00
yarikoptic
6491691801 initial report on breed of children processes by testremote 2020-06-19 20:41:21 +00:00
Franky
b656c0853f 2020-06-19 02:16:19 +00:00
Franky
0b5d1e17b0 removed 2020-06-19 02:10:29 +00:00
yarikoptic
775c1cb032 Added a comment 2020-06-18 19:17:27 +00:00
Joey Hess
22ac56fece
test suite passing 2020-06-18 13:55:32 -04:00
Joey Hess
348821c9cf
analysis of deadlock 2020-06-18 12:10:54 -04:00
Joey Hess
3464fa12c7
meh 2020-06-17 15:58:39 -04:00
Joey Hess
762fd5ae5d
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-17 15:35:27 -04:00
Joey Hess
82448bdf39
fix a annex.pidlock issue
That made eg git-annex get of an unlocked file hang until the
annex.pidlocktimeout and then fail.

This fix should be fully thread safe no matter what else git-annex is
doing.

Only using runsGitAnnexChildProcess in the one place it's known to be a
problem. Could audit for all places where git-annex runs itself as a child
and add it to all of them, later.
2020-06-17 15:30:59 -04:00
Franky
bc3f9999b0 2020-06-17 19:07:00 +00:00
Franky
d72d76c06f 2020-06-17 19:01:44 +00:00
Franky
e98f9f7684 2020-06-17 19:00:36 +00:00
Franky
af5369bc92 2020-06-17 18:58:51 +00:00
Joey Hess
9583b267f5
confirmed fix 2020-06-17 12:12:41 -04:00
Joey Hess
b072b71c27
one more bugfix to external special remote creds
The creds are passedthrough in this case, so check for such first to
avoid a crash when getRemoteConfigValue sees a type it was not
expecting.
2020-06-16 18:28:26 -04:00
Joey Hess
ad81feb053
fix implicit embedcreds regression
Fix bug that made creds not be stored in git when a special remote was
initialized with gpg encryption, but without an explicit embedcreds=yes.

(Yet nother regression introduced in version 7.20200202.7. 5th so far.)
2020-06-16 18:00:19 -04:00
Joey Hess
4773713cc9
analysis of regression and fix related less serious regression 2020-06-16 15:16:36 -04:00
Joey Hess
5b8933b914
comment 2020-06-16 15:16:35 -04:00
Joey Hess
9e0bafd70b
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-16 14:38:27 -04:00
Joey Hess
3d53cbc614
comment 2020-06-16 14:38:02 -04:00
yarikoptic
d7f05a328a Added a comment 2020-06-16 18:30:07 +00:00
Joey Hess
3922f34f8e
comment 2020-06-16 14:16:02 -04:00
Joey Hess
c4f2c56f5e
checkpresentkey: fix behavior to match documentation
checkpresentkey: When no remote is specified, try all remotes, not only
ones that the location log says contain the key. This is what the
documentation has always said it did.

Still try the logged remotes first, because they are far more likely to
have the key.
2020-06-16 13:54:26 -04:00
Joey Hess
f3010afbf6
improve docs and close incorrect bug report 2020-06-16 13:45:00 -04:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
6dac582f06 Mark as done 2020-06-15 11:44:20 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
1e0dd34566 Added a comment 2020-06-15 11:42:41 +00:00
calmofthestorm
d912685417 2020-06-15 05:25:37 +00:00
yarikoptic
e8edbe1ff3 Added a comment: stalls 2020-06-12 03:40:54 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
cd326962c8 Added a comment 2020-06-11 22:51:09 +00:00
Joey Hess
e5ec6609c0
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-11 17:47:16 -04:00
Joey Hess
69efc2c26b
comment 2020-06-11 17:36:17 -04:00
yarikoptic
c2f84a76bc Added a comment 2020-06-11 21:13:38 +00:00
Joey Hess
b60b8ecc78
clarify 2020-06-11 16:20:18 -04:00
Joey Hess
4e778ef849
response 2020-06-11 16:14:17 -04:00
Joey Hess
8a7c615a8f
import: Avoid using some strange names for temporary keys
The ContentIdentifier can contain almost anything, so could have characters
that are not fit for the filesystem, or might be longer than a key usually
is, or contain a newline, or .... genKeyName deals with those problems.

This should not present a back-compat issue, because this is a temporary
key used while downloading the imported file, before the real key for it
can be generated.
2020-06-11 16:07:36 -04:00
Joey Hess
0017d9a347
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-11 15:44:28 -04:00
Joey Hess
6b0cb2d732
defer cleaning keys db of old data
Avoid creating the keys database during init when there are no unlocked
files, to prevent init failing when sqlite does not work in the filesystem.
2020-06-11 15:40:13 -04:00
Joey Hess
d711dc31fa
response 2020-06-11 14:12:16 -04:00
yarikoptic
646a521473 reporting on a failed unittest on a crippled HOME. 2020-06-11 14:50:37 +00:00
lykos@d125a37d89b1cfac20829f12911656c40cb70018
a0ffdac56e 2020-06-11 11:03:07 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
b65e596fb8 Added a comment: I wonder if this is related to the use of tor 2020-06-11 09:56:08 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
9102d31721 Added a comment: git-annex-repair and git annex fsck: no errors found 2020-06-10 14:39:44 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
c4a9647555 noticed confusing two rsync processes to copy one file. 2020-06-10 10:58:05 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
34b088b209 Output of --debug, Formatting 2020-06-08 15:09:20 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
634c66ea49 2020-06-08 14:24:37 +00:00
yarikoptic
08bc7a6867 reporting on SQLite3 problem rendering pidlocked system unusable 2020-06-05 02:31:21 +00:00
nicolas
3319855083 2020-06-04 13:17:39 +00:00
the13thletter
e3b487d41c Added a comment 2020-06-02 14:26:52 +00:00
yarikoptic
e8dd62689b Added a comment 2020-05-28 23:53:58 +00:00
Joey Hess
89b2542d3c
annex.skipunknown with transition plan
Added annex.skipunknown git config, that can be set to false to change the
behavior of commands like `git annex get foo*`, to not skip over files/dirs
that are not checked into git and are explicitly listed in the command
line.

Significant complexity was needed to handle git-annex add, which uses some
git ls-files calls, but needs to not use --error-unmatch because of course
the files are not known to git.

annex.skipunknown is planned to change to default to false in a
git-annex release in early 2022. There's a todo for that.
2020-05-28 15:55:17 -04:00
Joey Hess
5b28a37ea1
titles 2020-05-28 13:21:56 -04:00
Joey Hess
5ffc864718
comment 2020-05-28 13:21:40 -04:00
Joey Hess
4bf8f45efe
comment 2020-05-28 12:22:52 -04:00
Joey Hess
5e71e81fb6
close 2020-05-28 12:10:52 -04:00
Joey Hess
1572d72931
remove dup comment 2020-05-28 12:09:37 -04:00
Joey Hess
f2d91be78b
close 2020-05-28 12:08:26 -04:00
Joey Hess
e84d4c7a64
followup 2020-05-28 12:01:35 -04:00
Joey Hess
1d63d2bc83
close 2020-05-28 11:36:30 -04:00
Joey Hess
399eb4bdec
close 2020-05-28 11:32:27 -04:00
Joey Hess
484a74f073
auto-init autoenable=yes
Try to enable special remotes configured with autoenable=yes when git-annex
auto-initialization happens in a new clone of an existing repo. Previously,
git-annex init had to be explicitly run to enable them. That was a bit of a
wart of a special case for users to need to keep in mind.

Special remotes cannot display anything when autoenabled this way, to avoid
interfering with the output of git-annex query commands.

Any error messages will be hidden, and if it fails, nothing is displayed.
The user will realize the remote isn't enable when they try to use it,
and can run git-annex init manually then to try the autoenable again and
see what failed.

That seems like a reasonable approach, and it's less complicated than
communicating something across a pipe in order to display it as a side
message. Other reason not to do that is that, if the first command the
user runs is one like git-annex find that has machine readable output,
any message about autoenable failing would need to not be displayed anyway.
So better to not display a failure message ever, for consistency.

(Had to split out Remote.List.Util to avoid an import cycle.)
2020-05-27 12:40:35 -04:00
Joey Hess
3cf5f303ea
close 2020-05-27 11:03:18 -04:00
Joey Hess
7aba1aa49b
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-26 14:02:24 -04:00
Joey Hess
864ba4ecaa
disable buggy concurrency in Command.Export
Fix a crash or potentially not all files being exported when sync -J
--content is used with an export remote.

Crash as described in fixed bug report.

waitForAllRunningCommandActions inserted in several points where all the
commandActions started before need to have finished before moving on to
the next stage of the export. A race across those points could have
maybe resulted in not all files being exported, or a wrong tree being
export.

For example, changeExport starting up an action like
a rename of A to B. Then, with that action still running, fillExport
uploading a new A, *before* the rename occurred. That race seems
unlikely to have happened. There are some other ones that this also
fixes.
2020-05-26 13:54:08 -04:00
https://christian.amsuess.com/chrysn
7211cf63b6 Added a comment 2020-05-26 16:35:25 +00:00
Joey Hess
0bcecb67f5
export: Let concurrent transfers be done with -J or annex.jobs
Tested working, although I did find this bug in my testing, which also
afflicts sync -J to an export remote.
2020-05-26 11:44:07 -04:00
Joey Hess
e283c28249
comment 2020-05-26 11:21:10 -04:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
1ac2b8cc07 Added a comment 2020-05-25 11:07:08 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
91a8b271f7 Added a comment 2020-05-25 11:06:05 +00:00
https://christian.amsuess.com/chrysn
6ae6242a42 Tried --preserve-filename with a torrent, didn't work 2020-05-25 10:03:16 +00:00
arseni.lapunov@34f437c25a6a8c6d317dce0bb7c5b44d568fa595
55acb2e522 Added a comment: git-annex get fails 2020-05-22 14:28:24 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
49a01413bc 2020-05-22 11:15:27 +00:00
Joey Hess
27459c6e3f
Support building with tasty-1.3
This commit was sponsored by Ethan Aubin.
2020-05-21 15:26:44 -04:00
Joey Hess
75bfcca462
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-21 14:47:51 -04:00
Joey Hess
e63dcbf36c
fix embedcreds=yes reversion
Fix bug that made enableremote of S3 and webdav remotes, that have
embedcreds=yes, fail to set up the embedded creds, so accessing the remotes
failed.

(Regression introduced in version 7.20200202.7 in when reworking all the
remote configs to be parsed.)

Root problem is that parseEncryptionConfig excludes all other config keys
except encryption ones, so it is then unable to find the
credPairRemoteField. And since that field is not required to be
present, it proceeds as if it's not, rather than failing in any visible
way.

This causes it to not find any creds, and so it does not cache
them. When when the S3 remote tries to make a S3 connection, it finds no
creds, so assumes it's being used in no-creds mode, and tries to find a
public url. With no public url available, it fails, but the failure doesn't
say a lack of creds is the problem.

Fix is to provide setRemoteCredPair with a ParsedRemoteConfig, so the full
set of configs of the remote can be parsed. A bit annoying to need to
parse the remote config before the full config (as returned by
setRemoteCredPair) is available, but this avoids the problem.

I assume webdav also had the problem by inspection, but didn't try to
reproduce it with it.

Also, getRemoteCredPair used getRemoteConfigValue to get a ProposedAccepted
String, but that does not seem right. Now that it runs that code, it
crashed saying it had just a String.

Remotes that have already been enableremoted, and so lack the cached creds
file will work after this fix, because getRemoteCredPair will extract
the creds from the remote config, writing the missing file.

This commit was sponsored by Ilya Shlyakhter on Patreon.
2020-05-21 14:35:30 -04:00
Joey Hess
0ae63d5eec
comment 2020-05-21 13:06:46 -04:00
Joey Hess
d5b7d2a473
followup and close 2020-05-21 12:30:51 -04:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
50357aa48b Added a comment 2020-05-20 13:54:23 +00:00
Joey Hess
224208a657
comment 2020-05-19 13:18:34 -04:00
arseni.lapunov@34f437c25a6a8c6d317dce0bb7c5b44d568fa595
de86a8d579 2020-05-18 15:07:35 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
1259b73c39 2020-05-18 08:00:16 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
b4e94b2a41 2020-05-18 07:59:55 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
7ab8b9a451 2020-05-18 07:58:43 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
b0bfb1e0e5 2020-05-17 08:13:41 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
0b1e94074e 2020-05-16 15:08:34 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
42072fe9ad 2020-05-16 15:07:41 +00:00
braun.markus89@51b521a42cc994db864df308627bd6454f9c309d
fc7caa5b2b 2020-05-16 15:06:42 +00:00
jeanpmbox-456@7222359de8d1f37a7cf25a519e8faf90a9517b50
99c4eb020e Added a comment 2020-05-15 21:21:30 +00:00
jeanpmbox-456@7222359de8d1f37a7cf25a519e8faf90a9517b50
2db70d70d1 Added a comment 2020-05-15 21:14:53 +00:00
Joey Hess
6361074174
convert renameExport to throw exception
Finishes the transition to make remote methods throw exceptions, rather
than silently hide them.

A bit on the fence about this one, because when renameExport fails,
it falls back to deleting instead, and so does the user care why it failed?

However, it did let me clean up several places in the code.

This commit was sponsored by Ethan Aubin.
2020-05-15 15:08:09 -04:00
https://launchpad.net/~felixonmars
f246e78fd7 2020-05-13 20:35:29 +00:00
Joey Hess
a6adea4aaf
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-13 14:05:11 -04:00
Joey Hess
c1cd402081
make storeKey throw exceptions
When storing content on remote fails, always display a reason why.

Since the Storer used by special remotes already did, this mostly affects
git remotes, but not entirely. For example, if git-lfs failed to connect to
the endpoint, it used to silently return False.
2020-05-13 14:03:00 -04:00
Chymera
e42d2ce0c7 Added a comment 2020-05-13 04:15:53 +00:00
ryan.singer@5db89d157f0565db67eac571e2433fa96c187e32
3b231f900c Added a comment 2020-05-12 23:26:11 +00:00
Joey Hess
898770dda1
comment 2020-05-12 13:58:14 -04:00
Joey Hess
35b3c891af
followup 2020-05-12 12:48:07 -04:00
Chymera
47bd71b096 2020-05-12 07:05:23 +00:00
Joey Hess
2a8fdfc7d8
Display a warning message when asked to operate on a file inside a directory that's a symbolic link to elsewhere
This relicates git's behavior. It adds a few stat calls for the command
line parameters, so there is some minor slowdown, but even with thousands
of parameters it will not be very noticable, and git does the same statting
in similar circumstances.

Note that this does not prevent eg "git annex add symlink"; the symlink
will be added to git as usual. And "git annex find symlink" will silently
list nothing as well. It's only "symlink/foo" or "subdir/symlink/foo" that
triggers the warning.
2020-05-11 15:03:35 -04:00
Joey Hess
39d7e6dd2a
addurl --preserve-filename for other remotes
Finishing work begun in 6952060665

Also, truncate filenames provided by other remotes if they're too long,
when --preserve-filename is not used. That seems to have been omitted
before by accident.
2020-05-11 14:33:27 -04:00
Joey Hess
cabbc91b18
addurl, importfeed: Allow '-' in filenames, as long as it's not the first character 2020-05-11 13:50:49 -04:00
Joey Hess
568c2b58c2
comments 2020-05-11 12:49:50 -04:00
Joey Hess
0e2e8df8bf
bug 2020-05-11 12:38:40 -04:00
yarikoptic
2b125e0dd7 Added a comment 2020-05-09 22:10:44 +00:00
the13thletter
b8a472ba84 2020-05-08 22:10:29 +00:00
Joey Hess
6952060665
addurl --preserve-filename and a few related changes
* addurl --preserve-filename: New option, uses server-provided filename
  without any sanitization, but with some security checking.

  Not yet implemented for remotes other than the web.

* addurl, importfeed: Avoid adding filenames with leading '.', instead
  it will be replaced with '_'.

  This might be considered a security fix, but a CVE seems unwattanted.
  It was possible for addurl to create a dotfile, which could change
  behavior of some program. It was also possible for a web server to say
  the file name was ".git" or "foo/.git". That would not overrwrite the
  .git directory, but would cause addurl to fail; of course git won't
  add "foo/.git".

sanitizeFilePath is too opinionated to remain in Utility, so moved it.

The changes to mkSafeFilePath are because it used sanitizeFilePath.
In particular:

	isDrive will never succeed, because "c:" gets munged to "c_"
	".." gets sanitized now
	".git" gets sanitized now
	It will never be null, because sanitizeFilePath keeps the length
	the same, and splitDirectories never returns a null path.

Also, on the off chance a web server suggests a filename of "",
ignore that, rather than trying to save to such a filename, which would
fail in some way.
2020-05-08 16:22:55 -04:00
Joey Hess
54599207f7
note 2020-05-08 15:56:15 -04:00
Joey Hess
980de9c910
comment 2020-05-08 13:21:16 -04:00
Joey Hess
de396fac80
comment 2020-05-08 13:16:46 -04:00
ryan.singer@5db89d157f0565db67eac571e2433fa96c187e32
25b6f7ca96 2020-05-07 22:11:04 +00:00
ryan.singer@5db89d157f0565db67eac571e2433fa96c187e32
f88c26c211 2020-05-07 22:09:44 +00:00
ryan.singer@5db89d157f0565db67eac571e2433fa96c187e32
6b49594d91 2020-05-07 22:08:30 +00:00
yarikoptic
a3d196fe39 original complaint about filenames obfuscated by addurl 2020-05-07 21:07:28 +00:00
Joey Hess
1532d67c3e
S3: Support signature=v4
To use S3 Signature Version 4. Some S3 services seem to require v4, while
others may only support v2, which remains the default.

I'm also not sure if v4 works correctly in all cases, there is this
upstream bug report: https://github.com/aristidb/aws/issues/262
I've only tested it against the default S3 endpoint.
2020-05-07 13:18:11 -04:00
Joey Hess
bb88a01910
upgrade: When upgrade fails due to an exception, display it.
37b42e72e7 made it catch exceptions but
thought they were unlikely to be useful to display, which may be right when
a git command fails, but not in the case yoh found.
2020-05-07 12:22:32 -04:00
Joey Hess
5eb101b720
respond and close 2020-05-07 12:10:46 -04:00
yarikoptic
c719998eed initial report on silent fail to upgrade 2020-05-07 15:02:41 +00:00
glasserc
6a9c3a710d Added a comment: Is dead really the solution here? 2020-05-06 20:29:04 +00:00
Joey Hess
0040d2c129
sync: Avoid an ugly error message when nothing has been committed to master yet and there is a synced master branch to merge from
Now the warning gets displayed, which is better than an arcane git error.

The warning is still kind of ugly, especially when the pull later in the
sync will clear up what it warns about. But, this is an unusual situation
not likely to happen, and if there is no remote to pull from, the warning
message is needed or the sync will seem to succeed despite not merging the
synced master branch.

Would still be better if it could merge the synced master branch in this
situation, making an empty commit to master to do it seems wrong, and
otherwise it would need a whole separate code path, and would bypass using
git merge in favor of say, setting master to the syned branch. Which would
bypass git configs like arguably merge.ff and certianly
merge.verifySignatures. So don't want to do that.
2020-05-05 14:31:37 -04:00
Joey Hess
681928e828
close 2020-05-05 12:52:23 -04:00
Joey Hess
ebbd8f94e6
response 2020-05-05 12:45:35 -04:00
Joey Hess
93db6bef15
improve docs 2020-05-05 12:39:38 -04:00
Joey Hess
3e91461c0f
close too old version 2020-05-04 13:05:41 -04:00
Joey Hess
f9ed30de3b
avoid beware of the leopard situation
* Display a warning message when a remote uses a protocol, such as
  git://, that git-annex does not support. Silently skipping such a
  remote was confusing behavior.

  It sets annex-ignore, so the warning is only displayed once.

* Also display a warning message when a remote, without a known uuid,
  is located in a directory that does not currently exist, to avoid
  silently skipping such a remote.

  This is a bit more debatable, since git-annex get will say,
  try making repository available. And since it does not set annex-ignore,
  the warning will be displayed repeatedly. It's also an extreme edge case,
  I don't think I've ever seen it happen in real life.
2020-05-04 13:01:11 -04:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
e116eb642a Added a comment: Still fails with git-annex 8.20200330 via backports 2020-05-04 09:02:03 +00:00
beryllium@5bc3c32eb8156390f96e363e4ba38976567425ec
e81d516a0a 2020-05-03 02:39:31 +00:00
Joey Hess
e4a626018f
reproduced and some analysis 2020-05-01 14:58:24 -04:00
Joey Hess
f9f4f29cc2
fix extension 2020-05-01 14:18:57 -04:00
Joey Hess
bcf3604757
fix format 2020-05-01 12:30:58 -04:00
kyle
111b747be3 Added a comment: thanks! 2020-04-28 21:41:30 +00:00
Joey Hess
a386639a72
Merge branch 'master' of ssh://git-annex.branchable.com 2020-04-28 17:25:25 -04:00
Joey Hess
fa98025de0
fix testremote to not throw away annex state
aeca7c2207 exposed this problem, but it
was never a good idea to have a series of test cases, some of which depend on
prior ones, and throw away annex state after each.
2020-04-28 17:19:07 -04:00
kyle
acf7f20842 Added a comment 2020-04-28 20:48:18 +00:00
Joey Hess
e66f9d1c8c
comment 2020-04-28 16:45:34 -04:00
kyle
fa1bf4c8b1 testremote failures (regression) 2020-04-28 19:51:51 +00:00
Joey Hess
378b384c17
Merge branch 'master' of ssh://git-annex.branchable.com 2020-04-28 15:48:11 -04:00
Joey Hess
4a6d328ae9
Avoid a test suite failure when the environment does not let gpg be tested
Due to eg, too long a path to the agent socket, caused by running gpg in a
container where /run is not mounted, and/or some other gpg behavior like
unnecessarily making relative paths to its home directory absolute.
2020-04-28 15:47:23 -04:00
Joey Hess
24eabbbc55
followup 2020-04-28 15:15:20 -04:00
Joey Hess
57b89c635f
support required groupwanted
When the required content is set to "groupwanted", use whatever expression
has been set in groupwanted as the required content of the repo, similar to
how setting required content to "standard" already worked.
2020-04-28 13:31:26 -04:00
yarikoptic
eec1244095 Added a comment 2020-04-27 19:46:22 +00:00
Joey Hess
45d884db9b
comment 2020-04-27 14:15:06 -04:00
Joey Hess
1345f99d85
close not really a bug, and improve fsck man page 2020-04-27 12:13:35 -04:00
jgeerds
a0afbdc400 Added a comment: Pusher crashed: fd:56: hPutStr: illegal operation (handle is closed) 2020-04-27 08:52:11 +00:00
Joey Hess
05add2e19d
add comment 2020-04-23 16:21:11 -04:00
Joey Hess
c05c4e549e
sync: When some remotes to sync with are specified, and --fast is too, pick the lowest cost of the specified remotes
Do not sync with a faster remote that was not specified.

That old behavior was only documented in the changelog, and was certianly
surprising. It also meant adding --fast made it slower..
2020-04-23 16:08:45 -04:00
Joey Hess
3252c4ccca
Merge branch 'master' of ssh://git-annex.branchable.com 2020-04-23 15:21:40 -04:00
Joey Hess
2aeb79249b
external: stop storing readonly=true in remote.log
readonly=true is used to make an external special remote that does not
need the external program to be installed. It was stored in the
remote.log by default, and so every time it was specified in an
enableremote or initremote, whatever value was used became the new
default for subsequent enableremotes of that remote.

That was surprising, and I consider it to be a bug.

It does not make much sense to pass it to initremote because then how
would you populate that remote with anything? You would have to
enableremote elsewhere, and store content there. I'm assuming nobody
used it that way.

Someone might rely on passing it to enableremote once, and then that
being inherited in other clones. But that is not how it's documented to
be used. It is barely documented in git-annex at all, only in the
external special remote protocol, and the documentation there says to
"Document that this external special remote can be used in readonly
mode." (by the user of it passing readonly=true to enableremote). The
one external special remote that I know of that does document that is
<https://github.com/bgilbert/gcsannex> (the one that motivated adding
it). That one's docs do say to pass it to enableremote.

So, it seemed safe to make this behavior change. If someone was in fact
relying on one of those behaviors, all their current repos will still
work as they configured them (although they will need to deal
with the related change in 9f3c2dfeda).
In new clones, they will find enableremote fails, complaining the
external program is not in path. An easy enough problem to recover from.
2020-04-23 15:21:26 -04:00
Joey Hess
9f3c2dfeda
stop using remote.name.annex-readonly for two distinct things 2020-04-23 14:56:03 -04:00
thk
697f7b93a2 2020-04-23 15:57:17 +00:00
Joey Hess
cd1676d604
fix bug involving local git remote and out of date location log
get --from, move --from: When used with a local git remote, these used to
silently skip files that the location log thought were present on the
remote, when the remote actually no longer contained them. Since that
behavior could be surprising, now instead display a warning.

I got very confused when I encountered this behavior, since it was silently
skipping a file I needed that whereis said was on the remote.

get without --from already displayed a "unable to access these remotes"
message, which while a bit misleading in that the remote is likely
accessible, but just doesn't contain the file, at least indicated something
went wrong.

Having get --from display a warning makes it in line with get
w/o --from, so seems certianly ok. It might be there are situations where
move --from is used, on eg a whole directory, and the user only wants to
move whatever is present in the remote, and is perfectly ok with files
that are not present being skipped. So I'm less sure about the new warning
being ok there. OTOH, only local git remotes avoiding displaying a warning
in that case too, so this just brings them into line with other remotes.

(Also note that this makes it a little bit faster when dealing with a lot of
files, since it avoids a redundant stat of the file.)
2020-04-21 12:36:58 -04:00
Joey Hess
2f87c6db79
done 2020-04-21 11:30:49 -04:00
Joey Hess
87bab2d7c2
close 2020-04-21 11:29:51 -04:00
Joey Hess
cee6b344b4
cat-file resource pool
Avoid running a large number of git cat-file child processes when run with
a large -J value.

This implementation takes care to avoid adding any overhead to git-annex
when run without -J. When run with -J, there is a small bit of added
overhead, to manipulate the resource pool. That optimisation added a
fair bit of complexity.
2020-04-20 15:19:31 -04:00
Joey Hess
87b7b0f202
comment 2020-04-20 12:06:14 -04:00
Joey Hess
5446379cd9
Merge branch 'master' of ssh://git-annex.branchable.com 2020-04-20 10:03:38 -04:00
thk
ffeef75917 2020-04-19 08:15:47 +00:00
Joey Hess
1b2dd74d8d
bug 2020-04-18 23:57:48 -04:00
yarikoptic
6c9c974e55 Added a comment 2020-04-18 02:14:32 +00:00