-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Update to rustc changes #5566
Update to rustc changes #5566
Conversation
This method loses history, doesn't it? So we should avoid merging this PR until we can fix |
Yes, which is not worse than what we've had with submodules. There we've also just had a single PR where someone got clippy working again. The only difference is now that the work was done in the rustc repo and we just squashed that work.
My research has come to the conclusion that it's unfixable unless we also include all the synthetic commits created for the clippy repo in the rustc master branch. So a |
hmm that's odd about the failing tests. I wonder if these tests are also failing in rustc's CI |
It may be fixable: #5565 (comment) But the fix depends on a PR to git to get completed and merged. |
If we are ok with losing history when syncing from rustc, I think we should just create some simple tooling for ourselves that just copies over the current state. If we do that (and start by merging this PR), then we should merge this PR back to rustc soonish and fix rustc CI so it actually blocks on clippy's test suite passing, too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm ok with merging this and make this the process until we figure out how to move on with subtree
, but let's discuss this in #5565 and/or on Discord.
Let's merge this to move things forward @bors r+ |
📌 Commit 780a63a has been approved by |
☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test |
changelog: none
So, turns out
git subtree push
dies in various interesting ways, but the source cause is that the rustc repo looks likewhere
B
is the commit where I added clippy to rustc andD
is an arbitrary other PR andC
is the master branch (or an earlier commit in it). When we now dogit subtree push
, it doesn't stop looking for things to merge atB
as it needs to look atD
, too, but then the bad thing happens, and it doesn't stop atA
either, and just goes on looking at the entire history of rustc in a recursive bash script. That recursion then quickly runs into a stack overflow. While we can increase the stack size viaulimit -s 60000
, that just means I was waiting for 30 minutes looking atgit subtree push
counting up the number of commits it has looked at. I aborted that, as a process that needs 30 mins for a push is not reasonable.This PR cheats by just doing a
cp -r ../rustc/src/tools/clippy/* .
inside my clippy checkout and committing all changes. I'm working on getting us a better workflow, but until then, this workaround will work nicely. Note that this requires agit subrepo pull
to have occurred in therustc
checkout. It's not necessary to merge that pull in order to update clippy, it's just necessary in order to not revert code in the clippy repo that hasn't been synced yet to the rustc repo.