-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
treewide: migrate packages to pkgs/by-name, take 1 #354531
Conversation
7633039
to
654a4d4
Compare
Todo:
|
aeeb365
to
747dd1c
Compare
We are migrating packages that meet below requirements: 1. using `callPackage` 2. called path is a directory 3. overriding set is empty (`{ }`) 4. not containing path expressions other than relative path (to makenixpkgs-vet happy) 5. not referenced by nix files outside of the directory, other than`pkgs/top-level/all-packages.nix` 6. not referencing nix files outside of the directory 7. not referencing `default.nix` (since it's changed to `package.nix`) 8. `outPath` doesn't change after migration The tool is here: https://github.com/Aleksanaa/by-name-migrate.
Ran
|
Result of I consider the criteria and checks used by the script to be adequately conservative. There will be conflicts for open PRs, but that seems unavoidable; we could skip packages that have PRs active in a recent time‐frame but Git is decent at handling renames, so I think that’s probably not necessary, especially since so many PRs enact these moves themselves lately. Let’s get this done 🚀 If there are unforeseen painful consequences, I will try to revert ASAP. |
|
Any plans to automatically update pending PRs? Or people have to fix the arisen conflicts manually? |
I think that we could automatically rebase PRs but it would have consequences (e.g., breaking commit signatures). It seems like a lot of the conflicting PRs already involve a manual move to Not sure if this was the right call or not – it seemed like the migration plans had stalled out for long enough, and the obligatory “move to |
I don't consider merge conflict as necessary, it only affects people not knowing how to use git. Once you pick up git as your workflow, you have to learn to deal with merge conflicts. This may have an impact on some older PRs, but if it is an unnecessary functional improvement, "the contributor is no longer there" is basically the same as "there is a pending issue but no response", and is often not what we want to see. For other more critical/valuable PRs, rebasing PR in case contributor is not responding has long been a common practice among committers (and I do hope that GitHub can have rebase/fixup tools as web app, so that we will not break signatures and can it be more friendly to people who do not know how to use Git. |
[RFC 140 2b] pkgs/by-name: Automated migration, take 1
We are migrating packages that meet below requirements:
callPackage
{ }
)pkgs/top-level/all-packages.nix
default.nix
(since it's changed topackage.nix
)The tool is here: https://github.com/Aleksanaa/by-name-migrate. Try reproduce yourself.