`Pkg.checkout` clears `REQUIRE`

???

julia> Pkg.checkout("ModernGL")
INFO: Checking out ModernGL master...
INFO: Pulling ModernGL latest master...
INFO: Removing ASTInterpreter v0.0.4
INFO: Removing AbstractTrees v0.0.4
INFO: Removing AppleAccelerate v0.2.1
INFO: Removing ArgParse v0.4.0
INFO: Removing Atom v0.5.7
INFO: Removing AxisAlgorithms v0.1.5
INFO: Removing BaseTestNext v0.2.2
INFO: Removing Benchmark v0.1.0
INFO: Removing Blink v0.5.0
INFO: Removing Blosc v0.1.7
INFO: Removing COFF v0.0.2
INFO: Removing CRC v1.2.0
INFO: Removing Cairo v0.2.35
INFO: Removing CodeTools v0.4.3
INFO: Removing Codecs v0.2.0
INFO: Removing ColorBrewer v0.3.0
INFO: Removing ColorTypes v0.2.12
INFO: Removing ColorVectorSpace v0.1.11
INFO: Removing Colors v0.6.9
INFO: Removing Compose v0.4.4
INFO: Removing Contour v0.2.0
INFO: Removing Cubature v1.2.0
INFO: Removing DWARF v0.1.0
INFO: Removing DataArrays v0.3.10
INFO: Removing DataFrames v0.8.5
INFO: Removing Dates v0.4.4
INFO: Removing Dierckx v0.1.9
INFO: Removing Discretizers v0.3.1
INFO: Removing Distributions v0.11.1
INFO: Removing DocStringExtensions v0.3.0
INFO: Removing Docile v0.5.23
INFO: Removing Documenter v0.8.3
INFO: Removing DualNumbers v0.2.3
INFO: Removing ELF v0.1.0
INFO: Removing FileIO v0.2.0
INFO: Removing FixedPointNumbers v0.2.1
INFO: Removing FixedSizeArrays v0.2.5
INFO: Removing FreeType v1.1.0
INFO: Removing FunctionalCollections v0.2.0
INFO: Removing GLAbstraction v0.2.1
INFO: Removing GLFW v1.2.0
INFO: Removing GLVisualize v0.1.2
INFO: Removing GLWindow v0.2.1
INFO: Removing GR v0.18.0
INFO: Removing GZip v0.2.20
INFO: Removing Gallium v0.0.4
INFO: Removing GeometryTypes v0.2.1
INFO: Removing Graphics v0.1.3
INFO: Removing Grid v0.4.2
INFO: Removing Gtk v0.10.4
INFO: Removing GtkUtilities v0.1.0
INFO: Removing HDF5 v0.7.0
INFO: Removing Hiccup v0.0.3
INFO: Removing Homebrew v0.4.1
INFO: Removing HttpCommon v0.2.6
INFO: Removing HttpParser v0.2.0
INFO: Removing HttpServer v0.1.7
INFO: Removing IJulia v1.3.2
INFO: Removing ImageMagick v0.1.8
INFO: Removing ImageView v0.2.0
INFO: Removing Images v0.5.14
INFO: Removing IniFile v0.2.5
INFO: Removing Interact v0.3.5
INFO: Removing Interpolations v0.3.6
INFO: Removing IterativeSolvers v0.2.2
INFO: Removing Iterators v0.2.0
INFO: Removing JLD v0.6.6
INFO: Removing JuliaParser v0.7.4
INFO: Removing Juno v0.2.5
INFO: Removing LNR v0.0.2
INFO: Removing LaTeXStrings v0.2.0
INFO: Removing Lazy v0.11.4
INFO: Removing LegacyStrings v0.1.1
INFO: Removing LsqFit v0.0.2
INFO: Removing MachO v0.0.4
INFO: Removing MbedTLS v0.3.0
INFO: Removing Measures v0.0.3
INFO: Removing Media v0.2.4
INFO: Removing MeshIO v0.0.6
INFO: Removing Mustache v0.1.2
INFO: Removing Mux v0.2.2
INFO: Removing Nettle v0.2.4
INFO: Removing ODE v0.2.1
INFO: Removing ObjFileBase v0.0.4
INFO: Removing PDMats v0.5.2
INFO: Removing PGFPlots v1.4.3
INFO: Removing Packing v0.0.4
INFO: Removing Patchwork v0.3.0
INFO: Removing PkgDev v0.1.3
INFO: Removing PlotThemes v0.1.0
INFO: Removing PlotUtils v0.2.0
INFO: Removing PlotlyJS v0.5.2
INFO: Removing Plots v0.10.2
INFO: Removing Polynomials v0.1.1
INFO: Removing ProfileView v0.1.5
INFO: Removing ProgressMeter v0.3.3
INFO: Removing PyPlot v2.2.4
INFO: Removing Quaternions v0.1.1
INFO: Removing Ratios v0.0.4
INFO: Removing Reactive v0.3.6
INFO: Removing RecipesBase v0.1.0
INFO: Removing Reel v0.2.1
INFO: Removing Requires v0.3.0
INFO: Removing ReverseDiffSource v0.3.0
INFO: Removing Rmath v0.1.5
INFO: Removing SIUnits v0.1.0
INFO: Removing Showoff v0.0.7
INFO: Removing SignedDistanceFields v0.1.0
INFO: Removing SortingAlgorithms v0.1.0
INFO: Removing StatsBase v0.11.1
INFO: Removing StatsFuns v0.3.1
INFO: Removing StructIO v0.0.2
INFO: Removing SymPy v0.4.0
INFO: Removing TerminalUI v0.0.2
INFO: Removing TexExtensions v0.0.3
INFO: Removing TextWrap v0.1.6
INFO: Removing ThreeJS v0.3.0
INFO: Removing TikzPictures v0.3.5
INFO: Removing Tk v0.4.0
INFO: Removing UnicodeFun v0.0.2
INFO: Removing VT100 v0.0.2
INFO: Removing VideoIO v0.1.0
INFO: Removing WebSockets v0.2.1
INFO: Removing Winston v0.12.1
INFO: Removing WoodburyMatrices v0.2.1
INFO: Removing ZMQ v0.4.0
INFO: Removing Zlib v0.1.12

If the package source doesn’t have a correct REQUIRE file, this could happen.

Do you mean if (in my case) ModernGL has a bug in the REQUIRE file? That would then seem like a severe bug in the package manager?

If those packages were only installed because of the ModernGL package then it’s not a bug. If you fix the REQUIRE file and do Pkg.resolve() they’ll be put back in place. Of course, I’m only guessing about what’s happening. What is in the checked out ModernGL’s REQUIRE file?

most of them had nothing to do with ModernGL and in fact my REQUIRE file was empty after the update. I had a backup (thank god) so I just copied it over, and did Pkg.update() and everything was back to normal. I am just posting this here because it was a rather disturbing slip-up of the package manager.

ModernGL’s REQUIRE file is just the following:

julia 0.4
Combat 0.7.20

which looks pretty innocuous. Who knows, it may have been an error on my part. I’m happy to just let it go (until it happens again)