runbot/runbot_merge/models
Xavier Morel 3c88e033f6 [FIX] runbot_merge: make patcher not rely on branches
This was the root cause of the incident of Feb 13/14: because the
patcher pushed to the local branch before pushing to the remote
failing to push to the remote would leave the local ref broken, as
`fetch("refs/heads/*:refs/heads/*")` apparently does not do non-ff
updates (which does make some sense I guess).

So in this case a staging finished, was pushed to the remote, then git
delayed the read side just enough that when the patcher looked up the
target it got the old commit. It applied a patch on top of that, tried
to push, and got a failure (non-ff update), which led the local and
remote branches divergent, and caused any further update of the local
reference branches to fail, thus every forward port to be blocked.

Using symbolic branches during patching was completely dumb (and
updating the local branch unnecessary), so switch the entire thing to
using just commits, and update a bunch of error reporting while at it.
2025-03-14 14:21:28 +01:00
..
backport [FIX] *: double forwardport when adding a PR to an existing batch 2025-02-11 14:27:53 +01:00
crons [IMP] runbot_merge: auto-trigger cron for issue closing 2024-12-16 09:11:19 +01:00
ir_cron [IMP] runbot_merge: add cron trigger button 2025-02-18 11:45:56 +01:00
project_freeze [REM] runbot_merge: freeze wizard auto-refresh 2024-12-02 16:32:53 +01:00
staging_cancel [ADD] runbot_merge: stagings canceling wizard 2022-12-08 10:46:22 +01:00
__init__.py [IMP] runbot_merge: add cron trigger button 2025-02-18 11:45:56 +01:00
batch.py [IMP] *: remove dead imports 2025-02-28 16:12:40 +01:00
commands.py [IMP] *: remove dead imports 2025-02-28 16:12:40 +01:00
events_sources.py [ADD] *: per-repository webhook secret 2024-06-06 11:07:57 +02:00
ir_actions.py [IMP] runbot_merge: add json & requests to server actions context 2023-02-20 10:13:05 +01:00
ir_ui_view.py [IMP] runbot_merge: suppress view validation warning 2024-09-27 12:53:51 +02:00
mail_thread.py [MERGE] bot from 16.0 to 17.0 2024-08-12 13:13:03 +02:00
patcher.py [FIX] runbot_merge: make patcher not rely on branches 2025-03-14 14:21:28 +01:00
project.py [FIX] project creation: handling of mergebot info 2024-12-02 16:32:53 +01:00
pull_requests.py [IMP] *: add closed PR to the branch deleter 2025-03-11 15:28:28 +01:00
res_partner.py [IMP] *: remove dead imports 2025-02-28 16:12:40 +01:00
stagings_create.py [IMP] *: avoid updating (all) branches in cases where that's unnecessary 2025-03-07 09:15:48 +01:00
utils.py [IMP] *: remove dead imports 2025-02-28 16:12:40 +01:00