Skip to content

Conversation

@t-bltg
Copy link
Member

@t-bltg t-bltg commented Jan 23, 2026

Description

Add PlotThemes to v1 monorepo, inspired from #4419.

Integrate PlotThemes into Plots repo using git filter-repo:

set -e
set -x
{
  # $ sudo apt install git-filter-repo

  # clone all repos (vanilla)
  if [ ! -d PlotThemes.jl ]; then
    git clone https://github.com/JuliaPlots/PlotThemes.jl
  fi
  if [ ! -d Plots.jl ]; then
    git clone https://github.com/JuliaPlots/Plots.jl
  fi

  PlotThemes=$PWD/PlotThemes.jl
  Plots=$PWD/Plots.jl

  # create a dedicated branch for this PR
  (cd $Plots; git checkout master; git log -2; git checkout -b monorepo-plotthemes)

  # process `PlotThemes`
  (
    cd $PlotThemes
    git filter-repo --to-subdirectory-filter PlotThemes
  )
  (
    cd $Plots
    git remote add PlotThemes $PlotThemes
    git fetch $PlotThemes master
    git merge --allow-unrelated-histories --no-edit FETCH_HEAD
    git remote remove PlotThemes
  )

  exit
}

Sanity check, using https://github.com/JuliaRegistries/General/blob/master/CONTRIBUTING.md#appendix-checking-if-a-repository-contains-all-registered-versions-of-a-package :

using TOML

general = joinpath(first(DEPOT_PATH), "registries", "General")

cd("Plots.jl") do
  for pkg  ("RecipesBase", "RecipesPipeline", "PlotThemes", "Plots")
    versions = TOML.parsefile(joinpath(general, pkg[1:1], pkg, "Versions.toml"))

    found = all(sort(collect(keys(versions)))) do version
      tree_sha = versions[version]["git-tree-sha1"]
      try
        readchomp(`git rev-parse -q --verify "$(tree_sha)^{tree}"`)
        return true
      catch
        return false
      end
    end
    println(pkg, ": ", found ? "all versions found !" : "ney")
  end
end
PlotThemes: v0.3.0 found
PlotThemes: v0.4.0 found
PlotThemes: v1.0.0 found
PlotThemes: v1.0.1 found
PlotThemes: v1.0.2 found
PlotThemes: v1.0.3 found
PlotThemes: v2.0.0 found
PlotThemes: v2.0.1 found
PlotThemes: v3.0.0 found
PlotThemes: v3.1.0 found
PlotThemes: v3.2.0 found
PlotThemes: v3.3.0 found

DON'T SQUASH AND MERGE !, just MERGE !

@t-bltg t-bltg changed the title Monorepo plotthemes Monorepo bring back PlotThemes Jan 23, 2026
@t-bltg t-bltg changed the title Monorepo bring back PlotThemes Monorepo : bring back PlotThemes Jan 23, 2026
@t-bltg t-bltg changed the title Monorepo : bring back PlotThemes Monorepo : bring back PlotThemes to v1 Jan 23, 2026
@t-bltg t-bltg merged commit 59c6532 into master Jan 23, 2026
6 of 9 checks passed
@t-bltg t-bltg deleted the monorepo-plotthemes branch January 23, 2026 16:20
@t-bltg
Copy link
Member Author

t-bltg commented Jan 23, 2026

@BeastyBlacksmith, can you archive https://github.com/JuliaPlots/PlotThemes.jl ?

I have transferred all issues and created a PR in the General registry : JuliaRegistries/General#146798.

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.