From c309c789ddc99ccd4cb663bd3aa7a3b7f8e9b7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gunnar=20Farneb=C3=A4ck?= Date: Sat, 3 Jan 2026 12:25:02 +0100 Subject: [PATCH 1/3] Add instructions for moving a package into a subdirectory. --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index d2e5ebbbb76f7bf..5b5273f3128b614 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,18 @@ Technically if you skip the second step things will keep working, because GitHub but it is best practice. For this reason, when you try to register a new release, the Julia Registrator will complain if the second step is skipped. +### How do I move a package into a subdirectory of a repository? + +If you have a package that has already been registered, and decide to change the repository layout so that it instead resides in a subdirectory, do this: + +- Move the files with normal git commands, without changing the revision history. +- Make a manual pull request to [this repository](https://github.com/JuliaRegistries/General/pulls) in which you add a `subdir` field in the package's Package.toml file (e.g [M/Makie/Package.toml](https://github.com/JuliaRegistries/General/blob/af591c91b2377b5e24dce1c5917162493620447c/M/Makie/Package.toml#L4)). + +Notes: +- See the [Registrator instructions](https://github.com/JuliaRegistries/Registrator.jl?tab=readme-ov-file#registering-a-package-in-a-subdirectory) for how to register a package in a subdirectory. +- If you fail to make the manual pull request, the next time you register your package, the Registrator PR will include the addition of the `subdir` field but it won't be AutoMerged. Since a PR that both adds a `subdir` and contains all other changes for a new version is hard for humans to review, you will be asked to do the manual pull request first. +- A new package that has not previously been registered can be placed directly in a subdirectory and will be handled by AutoMerge like any other package. + ### How do I move a subdirectory package to its own repository? Follow these steps to move a [subdirectory package](https://pkgdocs.julialang.org/v1/managing-packages/#Adding-a-package-in-a-subdirectory-of-a-repository) to its own repository. These steps are focused on GitHub hosted packages but are still applicable for packages hosted elsewhere: From c02181a618f1870999eee9b2c2c5b3772e16bbea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gunnar=20Farneb=C3=A4ck?= Date: Tue, 13 Jan 2026 21:39:09 +0100 Subject: [PATCH 2/3] Add a reminder that the license needs to be in a package subdirectory. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b5273f3128b614..cc673f292ad5f08 100644 --- a/README.md +++ b/README.md @@ -289,6 +289,7 @@ If you have a package that has already been registered, and decide to change the Notes: - See the [Registrator instructions](https://github.com/JuliaRegistries/Registrator.jl?tab=readme-ov-file#registering-a-package-in-a-subdirectory) for how to register a package in a subdirectory. - If you fail to make the manual pull request, the next time you register your package, the Registrator PR will include the addition of the `subdir` field but it won't be AutoMerged. Since a PR that both adds a `subdir` and contains all other changes for a new version is hard for humans to review, you will be asked to do the manual pull request first. +- A copy of the license file needs to be in the package subdirectory. - A new package that has not previously been registered can be placed directly in a subdirectory and will be handled by AutoMerge like any other package. ### How do I move a subdirectory package to its own repository? From faef0a35142a45740f61fb213cb60124611118ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gunnar=20Farneb=C3=A4ck?= Date: Wed, 14 Jan 2026 07:12:38 +0100 Subject: [PATCH 3/3] License clarification for subdir package. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc673f292ad5f08..a09c31873e4c97a 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,7 @@ If you have a package that has already been registered, and decide to change the Notes: - See the [Registrator instructions](https://github.com/JuliaRegistries/Registrator.jl?tab=readme-ov-file#registering-a-package-in-a-subdirectory) for how to register a package in a subdirectory. - If you fail to make the manual pull request, the next time you register your package, the Registrator PR will include the addition of the `subdir` field but it won't be AutoMerged. Since a PR that both adds a `subdir` and contains all other changes for a new version is hard for humans to review, you will be asked to do the manual pull request first. -- A copy of the license file needs to be in the package subdirectory. +- A copy (not a symbolic link) of the license file needs to be in the package subdirectory. - A new package that has not previously been registered can be placed directly in a subdirectory and will be handled by AutoMerge like any other package. ### How do I move a subdirectory package to its own repository?