Commit graph

27979 commits

Author SHA1 Message Date
Joey Hess
c1b4e79f50
devblog 2020-06-09 16:19:07 -04:00
Joey Hess
8a824147e4
horrible realization 2020-06-09 16:10:27 -04:00
Joey Hess
a49d300545
async exception safety for external special remote processes
Since an external process can be in the middle of some operation when an
async exception is received, it has to be shut down then. Using
cleanupProcess will close its IO handles and send it a SIGTERM.

If a special remote choses to catch SIGTERM, it's fine for it to do some
cleanup then, but until it finishes, git-annex will be blocked waiting
for it. If a special remote blocked SIGTERM, it would cause a hang.
Mentioned in docs.

Also, in passing, fixed a FD leak, it was not closing the error handle
when shutting down the external. In practice that didn't matter before because
it was only run when git-annex was itself shutting down, but now that it
can run on exception, it would have been a problem.
2020-06-09 12:22:14 -04:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
34b088b209 Output of --debug, Formatting 2020-06-08 15:09:20 +00:00
meribold
52412b773b AWS tells me that the Reduced Redundancy storage class is less cost effective than Standard and not recommended 2020-06-08 14:58:48 +00:00
kanakkshetri@9ea0e7639162bddc7bf9f3bb94cc32e93c793b89
634c66ea49 2020-06-08 14:24:37 +00:00
strmd
2d2a735ce7 2020-06-08 07:11:55 +00:00
yarikoptic
02ee2d0e47 2020-06-07 19:38:34 +00:00
Ilya_Shlyakhter
ebdf27f0a3 added question about building from source using stack 2020-06-06 23:03:44 +00:00
yarikoptic
8e3cdfa90e Added a comment 2020-06-05 22:15:09 +00:00
yarikoptic
04aa8360a9 Added a comment: reply to Joey's comments 2020-06-05 22:11:48 +00:00
Joey Hess
0fd72ff8e0
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-05 15:49:01 -04:00
Joey Hess
0210e81d83
async exception safety for openFd
Audited for openFile and openFd, and this fixes all the ones I found
where an async exception could prevent the file getting closed.

Except for the lock pool, which is a whole other can of worms.
2020-06-05 15:48:00 -04:00
mario
38d98ce550 Added a comment: Get missing files in --hide-missing branch 2020-06-05 19:14:26 +00:00
Joey Hess
dca19099a9
async exception safety
Masking ensures that EndStderrHandler gets written, so the helper
threads shut down.

However, nothing currently guarantees that calls to closeP2PSshConnection
are async exception safe, so made a note about it.

At this point, I've audited all calls to async, and made them all async
exception safe, except for ones in the assistant, and a few in leaf
commands (remotedaemon, enable-tor, multicast, p2p) which don't need to
be.
2020-06-05 14:56:41 -04:00
Joey Hess
9703ef8ae1
update 2020-06-05 12:12:20 -04:00
Joey Hess
42756b972e
few more things 2020-06-05 11:15:29 -04:00
Joey Hess
db270bd6ba
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-05 11:13:15 -04:00
Joey Hess
2bff3b7c49
init: When annex.pidlock is set, skip lock probing. 2020-06-05 11:12:16 -04:00
Joey Hess
1d41ae5d2a
init warning on stalled lock probe
init: If lock probing stalls for a long time (eg a broken NFS server),
display a message to let the user know what's taking so long.
2020-06-05 11:06:19 -04:00
Ilya_Shlyakhter
1d189cd08e Added a comment 2020-06-05 14:51:08 +00:00
Joey Hess
e998e4a29a
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-05 10:41:30 -04:00
Ilya_Shlyakhter
5bec5ff8d8 Added a comment: correct standalone tarball for git-annex-8.20200522 2020-06-05 06:21:07 +00:00
yarikoptic
08bc7a6867 reporting on SQLite3 problem rendering pidlocked system unusable 2020-06-05 02:31:21 +00:00
yarikoptic
8d3ffe50a1 initial whining about long pidlock need detection time 2020-06-05 02:18:31 +00:00
git-annex@17927e6dc041ab425c14217a97a685adf3ecf44f
31b8d6b440 Added a comment: Actually they were not standard 2020-06-04 21:05:48 +00:00
git-annex@17927e6dc041ab425c14217a97a685adf3ecf44f
0f4abb039c Added a comment: Actually they were not standard 2020-06-04 21:05:30 +00:00
git-annex@17927e6dc041ab425c14217a97a685adf3ecf44f
369382e8cf Added a comment: content expression is standard 2020-06-04 20:28:01 +00:00
Joey Hess
a3d1f967a8
almost forgot 2020-06-04 16:22:45 -04:00
Joey Hess
67f4ed1f55
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-04 15:53:10 -04:00
Joey Hess
3bd2bbb54c
devblog 2020-06-04 15:52:53 -04:00
Joey Hess
2670890b17
convert to withCreateProcess for async exception safety
This handles all createProcessSuccess callers, and aside from process
pools, the complete conversion of all process running to async exception
safety should be complete now.

Also, was able to remove from Utility.Process the old API that I now
know was not a good idea. And proof it was bad: The code size went *down*,
despite there being a fair bit of boilerplate for some future API to
reduce.
2020-06-04 15:45:52 -04:00
Joey Hess
12e7d52c8b
another wrinkle 2020-06-04 14:46:28 -04:00
nicolas
3319855083 2020-06-04 13:17:39 +00:00
Joey Hess
e1fc4f7594
make safeCommand stop the process if the thread gets killed
And a comment on a todo item that this commit is perhaps the start of
solving.
2020-06-03 12:52:11 -04:00
Joey Hess
81a811d935
comment 2020-06-03 12:00:44 -04:00
Joey Hess
697ebba78f
Merge branch 'master' of ssh://git-annex.branchable.com 2020-06-03 11:40:24 -04:00
the13thletter
e3b487d41c Added a comment 2020-06-02 14:26:52 +00:00
Ilya_Shlyakhter
fa3a8e73cf removed 2020-06-01 16:36:34 +00:00
superhair123
10dcc6e27e 2020-06-01 13:48:04 +00:00
superhair123
4b0dd1fcb2 2020-06-01 13:47:30 +00:00
superhair123
1614e3e4cd 2020-06-01 13:46:52 +00:00
superhair123
401f0f7d5a 2020-06-01 13:44:15 +00:00
TroisSinges
ef04af6869 2020-06-01 07:36:47 +00:00
thk
8ac64700ec 2020-05-31 18:32:52 +00:00
thk
3ece3aafe6 2020-05-31 18:12:40 +00:00
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
32ef0206fb Added a comment 2020-05-31 11:03:05 +00:00
Joey Hess
2b52962ea2
commnet 2020-05-29 15:36:42 -04:00
Joey Hess
ed2d2ae256
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-29 13:09:01 -04:00
Joey Hess
0ba6144597
devblog 2020-05-29 13:08:38 -04:00
yarikoptic
e8dd62689b Added a comment 2020-05-28 23:53:58 +00:00
kyle
f5e300909f Added a comment 2020-05-28 20:41:48 +00:00
Joey Hess
0243c6b6c5
comment 2020-05-28 16:31:53 -04:00
Joey Hess
ba11fad102
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-28 15:56:07 -04: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
kyle
8b280d4d8a Added a comment 2020-05-28 17:55:11 +00: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
branchable@bafd175a4b99afd6ed72501042e364ebd3e0c45e
19ad80de22 2020-05-28 16:25:27 +00: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
https://christian.amsuess.com/chrysn
e18af2d5d9 Formatting fixes (markdown swallowed the line breaks making the entry hard to read) 2020-05-28 12:47:51 +00:00
thk
c0437bfd2c Added a comment 2020-05-27 20:41:03 +00:00
thk
700559737d 2020-05-27 19:13:30 +00:00
Joey Hess
fb642d3d3f
response 2020-05-27 14:33:30 -04:00
thk
c342501c17 2020-05-27 17:52:29 +00:00
Joey Hess
a6271b1323
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-27 12:46:52 -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
mike@2d6d71f56ce2a992244350475251df87c26fe351
311e605c28 Added a comment: .noannex 2020-05-27 15:34:54 +00:00
Joey Hess
731815891d
improve wording 2020-05-27 11:19:15 -04:00
kyle
3e717128f8 Added a comment 2020-05-27 15:19:13 +00:00
mike@2d6d71f56ce2a992244350475251df87c26fe351
7776691ead 2020-05-27 15:10:57 +00:00
Joey Hess
3cf5f303ea
close 2020-05-27 11:03:18 -04:00
Joey Hess
298fa1c081
done 2020-05-27 11:00:57 -04:00
TroisSinges
610d04dbf7 2020-05-27 10:35:42 +00:00
git-annex@17927e6dc041ab425c14217a97a685adf3ecf44f
ff62042ba3 2020-05-27 05:21:35 +00: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
f7fe71602c
import: Added --json-progress
Already supported --json, but not that.

Also checked all other commands that only support --json, and the only
other one that does transfers is fsck (--from), which it did not seem worth
adding --json-progress to really.
2020-05-26 11:27:47 -04:00
Joey Hess
e283c28249
comment 2020-05-26 11:21:10 -04:00
Joey Hess
fc9833f68d
export: Added options for json output
Just worked, no need to do anything except add the options.
2020-05-26 10:31:10 -04:00
Joey Hess
bbdba72624
Merge branch 'master' of ssh://git-annex.branchable.com 2020-05-26 10:21:21 -04:00
yarikoptic
d30dd6daa4 TODO for export --json* options 2020-05-26 04:14:57 +00:00
Joey Hess
6eea4969d3
close 2020-05-25 12:04:56 -04:00
Joey Hess
234764518a
close 2020-05-25 12:02:23 -04:00
Joey Hess
e46717bf18
close 2020-05-25 11:59:21 -04:00
Joey Hess
133de41e49
close 2020-05-25 11:56:27 -04:00
Joey Hess
5f5a2a6b56
close 2020-05-25 11:52:45 -04:00
Joey Hess
fcb288be13
close dup 2020-05-25 11:48:39 -04:00
Joey Hess
4d87d255ee
comment 2020-05-25 11:47:10 -04:00
Joey Hess
7cc5e955b6
close 2020-05-25 11:31:38 -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