PlutoSliderServer.jl icon indicating copy to clipboard operation
PlutoSliderServer.jl copied to clipboard

add FAQ section to README

Open DimitarVanguelov opened this issue 3 years ago • 4 comments

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).

DimitarVanguelov avatar Aug 12 '22 02:08 DimitarVanguelov

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.

alecloudenback avatar Aug 12 '22 03:08 alecloudenback

Thanks!

fonsp avatar Sep 01 '22 14:09 fonsp

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

fonsp avatar Sep 01 '22 14:09 fonsp

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

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.

pankgeorg avatar Sep 01 '22 16:09 pankgeorg

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.

alecloudenback avatar Sep 01 '22 21:09 alecloudenback

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 avatar Sep 01 '22 21:09 pankgeorg

@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).

DimitarVanguelov avatar Sep 02 '22 00:09 DimitarVanguelov

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!

fonsp avatar Sep 03 '22 09:09 fonsp

I updated the PR, but please don't merge yet:

  • I put the env var setting in the startup script, just above the julia invocation, 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.

DimitarVanguelov avatar Sep 08 '22 02:09 DimitarVanguelov

Also, maybe using Git.jl is worth exploring in a future PR?

DimitarVanguelov avatar Sep 08 '22 02:09 DimitarVanguelov

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.

DimitarVanguelov avatar Oct 02 '22 19:10 DimitarVanguelov

Sorry this took quite some time! I added some more general notes and I'm merging this, thanks for contributing!

pankgeorg avatar Oct 06 '22 19:10 pankgeorg