Renovate ignores Git fixup commits for Copier template updates #33658
-
How are you running Renovate?Self-hosted Renovate If you're self-hosting Renovate, tell us which platform (GitHub, GitLab, etc) and which version of Renovate.GitHub, Renovate 39 Please tell us more about your question or problemSometimes, PRs created by Renovate need to be manually extended. Normally, Renovate detects additional commits created by other users and does not rebase the PR. However, we sometimes use the Git fixup method (see e.g. https://mikulskibartosz.name/git-fixup-explained) to extend commits created by Renovate. Using this method results in a single commit in the PR, which is authored by renovate as well as the user that extended it. In this case, Renovate does not detect that the PR was manually modified if it is a PR for a dependency to a Copier template. Therefore, when Renovate runs the next time, it rebases the PR and throws away the extended commit. We can work around this problem by adding the For some reason, this seems to only happen in case of PRs for Copier dependencies. The reproduction repository at https://github.com/sthdev/renovate-33658 also tests the behavior with a dependency in a Dockerfile. There, the manually extended commit is preserved. Logs (if relevant)Logs
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 14 replies
-
Renovate only checks the commit author and it's probably not easily doable / desired to check the committer renovate/lib/util/git/index.ts Line 674 in 1d64a10 |
Beta Was this translation helpful? Give feedback.
-
Hi there, Get your discussion fixed faster by creating a minimal reproduction. This means a repository dedicated to reproducing this issue with the minimal dependencies and config possible. Before we start working on your issue we need to know exactly what's causing the current behavior. A minimal reproduction helps us with this. Discussions without reproductions are less likely to be converted to Issues. Please follow these steps:
If you need help with running renovate on your minimal reproduction repository, please refer to our Running Renovate guide. The Renovate team |
Beta Was this translation helpful? Give feedback.
This is why we don't recommend this git-level approach to modifications of Renovate branches. Either:
At that point Renovate will stop updating the branch, because it detects it as modified. You have the choice to keep the branch paused from future updates until you merge it, or wipe away the changes by ticking the rebase/retry box.