PlutoSliderServer.jl
PlutoSliderServer.jl copied to clipboard
add FAQ section to README
Per discussion with @pankgeorg on Slack, opening this PR to document the issue described below. Per his request, I'm adding it as a part of a new FAQ section. Unfortunately, not sure what else to put in here at the moment, so perhaps we can have this as a living PR until the FAQ section gets sufficiently fleshed out.
The original issue: our git platform (CodeCommit) requires re-authentication several times per 24-hour period. This is a problem when PlutoSliderServer is watching a different repo than the one holding the code for the server as it crashes the Julia git client (even though it keeps the systemd service going). The result is that no new notebooks or changes get picked up the service.
The workaround is to set the JULIA_PKG_USE_CLI_GIT environment variable to true (thanks to @alecloudenback for suggesting this fix).
I would maybe phrase it more generally: ie that if your git installation or remote requires special configuration or authentication, then try using CLI git instead of bundled.
Thanks!
Maybe we should recommend this to everyone and add the line export JULIA_PKG_USE_CLI_GIT=true in the tutorial. Is there any reason not to use it? @alecloudenback
Maybe we should recommend this to everyone and add the line
export JULIA_PKG_USE_CLI_GIT=truein the tutorial. Is there any reason not to use it? @alecloudenback
let's use it all the time, LibGit2 has a number of issues the CLI git doesn't. The only reason not to use it is if the underlying machine has no git installed at all. We should probably note that users need to make sure the git command works on the host machine.
I don't know the full history, but if git started being bundled with Julia because CLI git had issues, that suggests there's some solid reason for having bundled git.
I think the issues @DimitarVanguelov first mentioned were due to non-standard git configuration settings in our environment, so may not be an issue for (most?) other users.
https://github.com/JuliaLang/Pkg.jl/issues/2679
This gives some insight. I can confirm from personal experience that GitHub is also susceptible to issues with libgit2
@pankgeorg thanks, very informative discussion in that thread. Obviously not my call, but I am in favor of your suggestion and advising users to make sure to set that env variable and to make sure git is installed on the system. Given the PlutoSliderServer's use case, I don't think that's a big ask.
I can amend the PR and take out the FAQ section. My initial idea was just to have a sentence or two using git CLI, not an FAQ (I certainly don't have enough material for one, though I'm sure one would be good to have eventually).
Alright, let's go with setting the ENV variable for all users, @DimitarVanguelov can you update the PR to put export JULIA_PKG_USE_CLI_GIT=true somewhere in the setup instructions? Thanks everyone for the input!
I updated the PR, but please don't merge yet:
- I put the env var setting in the startup script, just above the
juliainvocation, but I need to double check how we did this at work (I will check tomorrow). We might have put it in the step 1 script, but his seems like a more natural place to set it, so I welcome input here. - I also deleted any trailing white spaces from the README, hope that's ok.
- I also updated the Julia versions in step 1 to be 1.8.0.
I can back the last two things out if you think they're not appropriate for this PR.
Also, maybe using Git.jl is worth exploring in a future PR?
Sorry for the delay, been a bit busy for me lately. The way my co-worker had set it up is to put the JULIA_PKG_USE_CLI_GIT env variable in a script under /etc/profile.d, which is either good form or overkill for this sort of thing, I just don't know.
Sorry this took quite some time! I added some more general notes and I'm merging this, thanks for contributing!